【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

  

posted @ 2021-05-14 10:58  持枢  阅读(116)  评论(0)    收藏  举报