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;
相关推荐
DolphinScheduler社区1 分钟前
作业帮基于 Apache DolphinScheduler 3_0_0 的缺陷修复与优化
大数据
SeaTunnel3 分钟前
京东科技基于 Apache SeaTunnel 复杂场景适配 #数据集成
大数据
喝醉酒的小白1 小时前
Elasticsearch 配置文件
大数据·elasticsearch·搜索引擎
一只敲代码的猪1 小时前
Llama 3 模型系列解析(一)
大数据·python·llama
智慧化智能化数字化方案2 小时前
深入解读数据资产化实践指南(2024年)
大数据·人工智能·数据资产管理·数据资产入表·数据资产化实践指南
哦哦~9212 小时前
深度学习驱动的油气开发技术与应用
大数据·人工智能·深度学习·学习
Anna_Tong3 小时前
云原生大数据计算服务 MaxCompute 是什么?
大数据·阿里云·云原生·maxcompute·odps
drebander3 小时前
SQL 实战-巧用 CASE WHEN 实现条件分组与统计
大数据·数据库·sql
18号房客3 小时前
高级sql技巧进阶教程
大数据·数据库·数据仓库·sql·mysql·时序数据库·数据库架构
missay_nine5 小时前
Elasticsearch
大数据·elasticsearch·搜索引擎