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+。
运行
- 启动Flink。
- 启动SQL Client。
- 创建Flink HiveCatalog,命令如下:
CREATE CATALOG obs_hive WITH ( 'type' = 'hive', 'default-database' = 'userdb', 'hive-conf-dir' = '/opt/flink-1.20.0/conf/' );
- 使用HiveCatalog,命令如下:
USE CATALOG obs_hive;
- 使用Hive dialect,命令如下:
SET table.sql-dialect = hive;
- 创建外表并指定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;