Fink CDC数据同步(三)Flink集成Hive

1 目的

  • 持久化元数据

Flink利用Hive的MetaStore作为持久化的Catalog,我们可通过HiveCatalog将不同会话中的 Flink元数据存储到Hive Metastore 中。

  • 利用 Flink 来读写 Hive 的表

Flink打通了与Hive的集成,如同使用SparkSQL或者Impala操作Hive中的数据一样,我们可以使用Flink直接读写Hive中的表。

2 环境及依赖

环境:

复制代码
vim /etc/profile

export HADOOP_CLASSPATH=`hadoop classpath`

依赖项:

flink-sql-connector-hive-3.1.2_2.12-1.16.2.jar

https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-hive-3.1.2_2.12

hudi-hive-sync-0.13.0.jar(存在于Hive安装路径下的lib文件夹)

3 使用Catalog

Hive Catalog的主要作用是使用Hive MetaStore去管理Flink的元数据。Hive Catalog可以将元数据进行持久化,这样后续的操作就可以反复使用这些表的元数据,而不用每次使用时都要重新注册。如果不去持久化catalog,那么在每个session中取处理数据,都要去重复地创建元数据对象,这样是非常耗时的。

复制代码
-- 创建一个catalag
CREATE CATALOG hive_catalog WITH (
    'type' = 'hive',
    'hive-conf-dir' = '/etc/hive/conf'
);

show catalogs
复制代码
use catalog hive_catalog;

打开hive命令窗口

复制代码
 beeline -u "jdbc:hive2://bigdataxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -n hive

这样可以在flink sql读写hive表

切换方言:

复制代码
SET table.sql-dialect=hive;
SET table.sql-dialect=default;
相关推荐
Web3_Daisy19 分钟前
消除链上气泡图:为什么换仓正在成为新的链上生存策略?
大数据·人工智能·安全·web3·区块链
临风赏月30 分钟前
多模态数据湖对接 AI 训练的技术方案
大数据·人工智能
TDengine (老段)30 分钟前
TDengine 数学函数 ASCII 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Darenm11130 分钟前
Git介绍
大数据·elasticsearch·搜索引擎
私域实战笔记2 小时前
SCRM平台对比推荐:以企业微信私域运营需求为核心的参考
大数据·人工智能·企业微信·scrm·企业微信scrm
艾莉丝努力练剑2 小时前
【Git:基本操作】深度解析Git:从初始Git到熟悉基本操作
大数据·linux·c++·人工智能·git·gitee·指令
猫猫姐姐3 小时前
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
大数据·人工智能·sql·flink
武子康3 小时前
大数据-142 ClickHouse分片×副本×Distributed 实战 ReplicatedMergeTree、Keeper、insert_quorum
大数据·后端·nosql
月屯4 小时前
es大页读取
大数据·elasticsearch·搜索引擎