Hive 引擎

    1. 在启动hive执行引擎相关的微服务之前,请确保以上环境变量是已经设置的,如果没有设置的话,请先在/home/${USER}/.bash\_rc linkis-ujes-spark-enginemanager/conf目录中的 linkis.properties配置文件中设置。如以下所示
    • 1)、Eureka: 用于服务注册于发现。
    • 3)、Linkis-publicService: 提供持久化、udf等基础功能。
    • 4)、Linkis-ResourceManager:提供Linkis的资源管理功能。
    1. 正常使用hive,还需要启动HiveEntrance HiveEngineManager
    2. HiveEntrancehive作业的接受者,HiveEngineManagerHiveEngine的启动者。
    3. 启动之前,用户可以设置关于hive引擎的自定义参数。
    4. 下表有一些常用的参数,Hive引擎支持配置更多的参数以获得更好的性能,如您有调优需求,欢迎阅读调优手册。

    1.5运行效果图


    图2 Hive运行效果图2

    1. Hive执行引擎的实现,是参照Linkis开发文档实现了EntranceEngineManagerEngine三个模块的必要接口,其中Engine模块是最特殊的,Hive实现的方式也有自己的一套逻辑。
    2. Linkis现在提供的Release版本基于的hadoop版本是2.7.2 hive版本是1.2.1,两者都是apache版本。
    3. HiveEngineExecutor实现的executeLine接口中,Linkis通过使用的hive提供的CommandProcessorFactory类,传入本地的hive的配置信息,得到一个org.apache.hadoop.hive.ql.Driver类,Driver类提供了API帮助提交用户的脚本代码到集群中执行。
    4. Driver在提交hive sql代码之后,有提供执行是否成功以及获取成功之后获取结果集的API。如果执行成功,借助Linkis提供的统一存储服务,将结果集存储到指定的目录当中以供用户查看。
    5. 另外,Driver在提交hive sql之后,如果产生了mapreduce任务,我们也可以通过HadoopJobExecHelper提供的killRunningJobsAPI将已经提交的hive查询任务杀死,这就是用户前台kill任务的逻辑。

    微信及QQ群