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;
相关推荐
Tianyanxiao39 分钟前
华为×小鹏战略合作:破局智能驾驶深水区的商业逻辑深度解析
大数据·人工智能·经验分享·华为·金融·数据分析
线条13 小时前
大数据 ETL 工具 Sqoop 深度解析与实战指南
大数据·sqoop·etl
mazhafener12310 小时前
智慧照明:集中控制器、单双灯控制器与智慧灯杆网关的高效协同
大数据
打码人的日常分享10 小时前
物联网智慧医院建设方案(PPT)
大数据·物联网·架构·流程图·智慧城市·制造
Lansonli11 小时前
大数据Spark(六十一):Spark基于Standalone提交任务流程
大数据·分布式·spark
渣渣盟13 小时前
基于Scala实现Flink的三种基本时间窗口操作
开发语言·flink·scala
网安INF13 小时前
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
java·web安全·网络安全·flink·漏洞
一叶知秋哈13 小时前
Java应用Flink CDC监听MySQL数据变动内容输出到控制台
java·mysql·flink
Rverdoser13 小时前
电脑硬盘分几个区好
大数据
傻啦嘿哟13 小时前
Python 数据分析与可视化实战:从数据清洗到图表呈现
大数据·数据库·人工智能