Flink与Hive的整合包含2层意思:

  1. Flink能够读取Hive的元数据 (HiveCatalog)
  2. Flink能够读取Hive表 (Flink hive connector)

    配置

  • 设置 zeppelin.flink.enableHive 为 true
  • 设置 HIVE_CONF_DIR 为 含有hive-site.xml的目录
  • Copy 下面这些 dependencies 到flink的 lib 目录
    • flink-connector-hive_2.11-{flink.version}.jar
    • flink-hadoop-compatibility_2.11-{flink.version}.jar
    • Hive 2.x的话只要拷贝 hive-exec-2.x.jar 到flink下的lib目录 ,如果是 Hive 1.x, 需要拷贝 hive-exec-1.x.jar, hive-metastore-1.x.jar, libfb303-0.9.2.jar and libthrift-0.9.2.jar (如果是其他版本的Hive可能会略有不同,需要自己尝试,特别是CDH或者HDP里的Hive版本)
    • 在Flink interpreter setting 里指定 HIVE_CONF_DIR
    • 在Flink interpreter setting 指定 zeppelin.flink.hive.version 为你使用的Hive版本,如2.3.4 (这个配置只有在Flink 1.10里是需要的,如果是Flink 1.11或以上版本,则不需要这个配置)
  • 启动Hive metastore
    • 确保你启动了Hive metastore,并且在hive-site里配置了正确的hive metastore信息

视频教程

Flink on Zeppelin 9. Hive Integration.mp4 (23.79MB)

钉钉群+公众号

Flink on Zeppelin 3群钉钉.JPG image.png