更新时间:2025-09-18 GMT+08:00
分享

Flink使用Hive connector对接OBS指导

概述

通过使用Hive Catalog,Apache Flink可以对Apache Hive表做统一的批处理和流处理。这意味着Flink可以成为Hive批处理引擎的一个性能更好的选择,或者连续读写Hive表中的数据以支持实时数据仓库应用。

前提条件

参考Flink对接OBS完成Flink对接OBS。

配置Flink的Hive connector连接

参考Flink官网文档完成Flink的Hive connector连接。注意:Hive connector仅支持JDK8.x,不支持JDK11+。

运行

  1. 启动Flink。
  2. 启动SQL Client。
  3. 创建Flink HiveCatalog,命令如下:

    CREATE CATALOG obs_hive WITH (
        'type' = 'hive',
    	'default-database' = 'userdb',
        'hive-conf-dir' = '/opt/flink-1.20.0/conf/'
    );

  4. 使用HiveCatalog,命令如下:

    USE CATALOG obs_hive;

  5. 使用Hive dialect,命令如下:

    SET table.sql-dialect = hive;

  6. 创建外表并指定LOCATION,命令如下:

    CREATE EXTERNAL TABLE IF NOT EXISTS table_xxx(
      id INT,
      name STRING,
      age INT
    ) 
    LOCATION 'obs://bucket_xxx/flink/warehouse/userdb.db/table_xxx;

相关文档