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;

相关推荐

  1. Flink集成HiveHive Catalog

    2024-02-04 06:54:03       56 阅读
  2. Flink 集成和使用 Hive Metastore

    2024-02-04 06:54:03       55 阅读
  3. 数据flinkhive

    2024-02-04 06:54:03       27 阅读
  4. seatunnel数据集成(二)数据同步

    2024-02-04 06:54:03       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-04 06:54:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-04 06:54:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-04 06:54:03       82 阅读
  4. Python语言-面向对象

    2024-02-04 06:54:03       91 阅读

热门阅读

  1. linux系统haproxy负载均衡工具的介绍以及使用

    2024-02-04 06:54:03       63 阅读
  2. linux系统ansible工具剧本编写布置zabbix

    2024-02-04 06:54:03       42 阅读
  3. HTML面试题

    2024-02-04 06:54:03       48 阅读
  4. STM32的ADC采集传感器的模拟量数据

    2024-02-04 06:54:03       48 阅读
  5. 理解进位计数制:基数和位权

    2024-02-04 06:54:03       48 阅读