【Flink】2、Flink构建流批数仓(一)
一、Flink集成Hive
1.持久化元数据
Flink利用 Hive 的 MetaStore 作为持久化的 Catalog,我们可通过HiveCatalog将不同会话中的 Flink 元数据存储到 Hive Metastore 中
2.Flink读写Hive表
Flink直接读写Hive中的表,不需要更改表的数据位置或分区。
具体操作
1)修改sql-client-defaults.yaml
2)导包
3)建表,查询,插入数据
3.进入Hive的元数据信息库,本文使用的是MySQL
SELECT
a.tbl_id, -- 表id
from_unixtime(create_time) AS create_time, -- 创建时间
a.db_id, -- 数据库id
b.name AS db_name, -- 数据库名称
a.tbl_name -- 表名称
FROM TBLS AS a
LEFT JOIN DBS AS b ON a.db_id =b.db_id
WHERE a.tbl_name = "user_behavior";
4.代码层面的实现打包丢到flink集群跑
bin/flink run -m kms-1:8081 \ -c com.flink.sql.hiveintegration.HiveIntegrationDemo \ ./original-study-flink-sql-1.0-SNAPSHOT.jar

浙公网安备 33010602011771号