Apache Kylin : Analytical Data Warehouse for Big Data
Page History
...
目前,kylin4.0 中仍然需要通过 hiveClient 去获取 hive meta 信息来 load hive table,通过用户反馈发现,load hive table 时经常会出现类冲突问题。
此外,由于 kylin 会加载 hadoop 类加载路径下的所有类到环境中,同样会导致一些不必要的 jar 包冲突问题。
为了解决此类问题,我们计划从 为了解决此问题,我们计划从 kylin4.0 中去除 hive dependency,使用 SparkSession 来获取 hive meta 信息。需要做的事情如下:信息。并且整理hadoop classpath,只加载 kylin4.0 真正需要的 hadoop 相关 jar 包到 kylin4.0 环境中。
需要做的事情如下:
1. 从 kylin 启动脚本 kylin.sh 中去除加载 hive dependency 的过程;
2. 为避免 kylin 启动脚本 kylin.sh 中将 hadoop lib 目录下的所有 jar 包都加入 classpath,对 hadoop lib 下的 jar 包做整理和筛选,并将需要的 jar 包 copy 到 $SPARK_HOME/jars 目录下;
2. 继承 IHiveClient 接口实现 SparkHiveClient 类,使用 SparkSession 实现其中的方法;
3. 将 Kylin 4.0 中使用到原有 CLIHiveCLient/BeelineHiveClient 类的地方均替换为使用 SparkHiveClient 类;
45. 清理相关无用代码。