如何实现一个新引擎

    Hive引擎是一个交互式引擎,因此在实现Executor时,继承了ComputationExecutor,并做 了以下maven依赖的引入:

    作为ComputationExecutor的子类,HiveEngineConnExecutor实现了executeLine方法,该方法接收一行执行语句,调用Hive的接口进行执行后,返回不同的ExecuteResponse表示成功或失败。同时在该方法中,通过参engineExecutorContext中提供的接口,实现了结果集、日志和进度的传输。

    Hive引擎是一个普通的Java进程,因此在实现EngineConnLaunchBuilder时,直接继承了JavaProcessEngineConnLaunchBuilder。像内存大小、Java参数和classPath,可以通过配置进行调整,具体参考EnvConfiguration类。

    Hive引擎使用的是LoadInstanceResource资源,因此不需要实现EngineResourceFactory,直接使用默认的GenericEngineResourceFactory,通过配置调整资源的数量,具体参考EngineConnPluginConf类。