Flink关于HiveCatalog

浩客2年前技术文章1614

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的元数据,元数据不会自动删除

相关文章

EasyMR之Yarn资源队列管理

EasyMR之Yarn资源队列管理

设想一下,你现在所在的公司有一套线上的hadoop集群。A部门经常做一些定时的BI报表,B部门则经常使用一些软件做一些临时需求。那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这两个...

Hadoop配置LZO压缩

Hadoop配置LZO压缩

hadoop-lzo编译Hadoop支持LZO0. 环境准备maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像)gcc-c++zlib-develautoconfautomak...

Trino配置yanagishima-23.0(包含编译)

Trino配置yanagishima-23.0(包含编译)

1 环境介绍1.1 本文采用trino 359yanagishima v23.02 编译yanagishima2.1 安装编译yanagishima需要的工具安装编译yanagishima需要的工具w...

MapReduce生产经验

MapReduce程序效率的瓶颈在于两点:1)计算机性能(1)CPU、内存、磁盘、网络2)I/O操作优化(1)数据倾斜(2)Map运行时间太长,导致Reduce等待过久(3)小文件过多下来就根据这两点...

Python Web 自动化测试工具 — Selenium

Selenium 是一个 Web 自动化测试工具,Selenium 通过非常简洁方便的 API,使用 Selenium WebDrivers(Selenium web 驱动器)像使用 Firefox,...

MySQL系统空间上涨

MySQL系统空间上涨

系统空间上涨一、介绍MySQL 的 ibdata1 是一个用来构建 innodb 系统表空间的文件。该文件包含了 undo ,还包含在用户在系统表空间创建的表信息和索引数据。一般如果数据空间均为独立表...

发表评论    

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