Flink关于HiveCatalog

浩客4个月前技术文章210

HiveCatalog

HiveCatalog 有两个用途:作为原生 Flink 元数据的持久化存储,以及作为读写现有 Hive 元数据的接口。

配置

  1. 在flink-sql-connector-hive-1.2.2_2.12-1.15.0.jar包上传到lfink 的lib目录下


  2. 开启hive的元数据服务

    nohup  hive --service metastore >> metastore.log 2>&1 &
  3. 删除flink-table-planner-loader-1.15.0.jar

    rm -rf flink-table-planner-loader-1.15.0.jar
  4. 将flink opt目录下的link-table-planner_2.12-1.15.0.jar 复制到flink的lib目录下

    cp /usr/local/soft/flink-1.15.0/opt/flink-table-planner_2.12-1.15.0.jar /usr/local/soft/flink-1.15.0/lib/
  5. 重启yarn-session和sql-client

    yarn-session.sh -d
    sql-client.sh

如何创建 Flink 表并将其注册到 Catalog

创建hive catalog 

'hive-conf-dir  hive-site.xml文件所在的位置

 CREATE CATALOG hive_catalog WITH (
 'type' = 'hive',
 'hive-conf-dir' = '/opt/hive-3.1.2/conf'
);

切换catalog

use catalog hive_catalog

创建表

create table student
(
id  string,
name string,
age int,
gender string,
clazz string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS textfile
location '/data/student/';

在flink中就可以读取这一张表

在flink创建表,可以将表的元数据存放在hive中

CREATE TABLE student_kafka_proc (
   id STRING,
   name STRING,
   age INT,
   gender STRING,
   clazz STRING,
   user_action_time  as PROCTIME() -- 处理时间
) WITH (
 'connector' = 'kafka',
 'topic' = 'student',
 'properties.bootstrap.servers' = 'master:9092',
 'properties.group.id' = 'testGroup',
 'scan.startup.mode' = 'earliest-offset',
 'format' = 'csv'
);

表的元数据被保存在中的hive元数据中,所以在hive中可以看到这个表,但是在hive中不能对这个表进行查询,

使用hive catalog保存flink的元数据,元数据不会自动删除

相关文章

kubernetes集群清理

清理如果你在集群中使用了一次性服务器进行测试,则可以关闭这些服务器,而无需进一步清理。你可以使用 kubectl config delete-cluster 删除对集群的本地引用。但是,如果要更干净地...

docker日志切割

docker日志切割

如果在docker部署前期没有规划好,例如:没有提前配置容器日志切割,那么在后期容器日志就会越来越大,当想要通过日志查看相关报错等信息的时候就会比较麻烦。配置docker日志切割在/etc/docke...

HDP部署Tez UI

首先部署tomcat在官网下载apache-tomcat-9.0.22.tar.gz[root@hdp02 opt]# wget https://archive.apache.org/dist/tom...

Serverless 技术选型

Serverless 技术选型

在 Serverless 这个大领域中,不只有函数计算这一种产品形态和应用类型,而是面向不同的用户群体和使用习惯,都有其各自适用的 Serverless 产品。例如面向函数的函数计算、面向应用的 Se...

flink集成iceberg访问hive catalog任务报错

flink集成iceberg访问hive catalog任务报错

问题现象flink在集成iceberg后访问hive catalog任务无法执行,但flink自身任务正常,iceberg表任务无法执行,报错如下:Caused by: java....

Prometheus基于Alertmanager实现钉钉告警

Prometheus基于Alertmanager实现钉钉告警

一、安装prometheus-webhook-dingtalk插件wget https://github.com/timonwong/prometheus-webhook-dingtalk/relea...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。