大数据-玩转数据-Flink Catalog

一、Catalog

Catalog 提供了元数据信息,例如数据库、表、分区、视图以及数据库或其他外部系统中存储的函数和信息。

数据处理最关键的方面之一是管理元数据。 元数据可以是临时的,例如临时表、或者通过 TableEnvironment 注册的 UDF。 元数据也可以是持久化的,例如 Hive Metastore 中的元数据。Catalog 提供了一个统一的API,用于管理元数据,并使其可以从 Table API 和 SQL 查询语句中来访问。前面用到Connector其实就是在使用Catalog

二、Catalog类型

GenericInMemoryCatalog

GenericInMemoryCatalog 是基于内存实现的 Catalog,所有元数据只在 session 的生命周期内可用。
JdbcCatalog

JdbcCatalog 使得用户可以将 Flink 通过 JDBC 协议连接到关系数据库。PostgresCatalog 是当前实现的唯一一种 JDBC Catalog。
HiveCatalog

HiveCatalog 有两个用途:作为原生 Flink 元数据的持久化存储,以及作为读写现有 Hive 元数据的接口。 Flink 的 Hive 文档 提供了有关设置 HiveCatalog 以及访问现有 Hive 元数据的详细信息。

导入需要的依赖

sql 复制代码
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-hive_${scala.binary.version}</artifactId>
    <version>${flink.version}</version>
</dependency>
<!-- Hive Dependency -->
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-exec</artifactId>
    <version>3.1.2</version>
</dependency>

在hadoop100启动hive元数据

sql 复制代码
nohup hive --service metastore >/dev/null 2>&1 &

连接 Hive

sql 复制代码
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(1);
StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);

String name            = "myhive";  // Catalog 名字
String defaultDatabase = "flink_test"; // 默认数据库
String hiveConfDir     = "c:/conf"; // hive配置文件的目录. 需要把hive-site.xml添加到该目录

// 1. 创建HiveCatalog
HiveCatalog hive = new HiveCatalog(name, defaultDatabase, hiveConfDir);
// 2. 注册HiveCatalog
tEnv.registerCatalog(name, hive);
// 3. 把 HiveCatalog: myhive 作为当前session的catalog
tEnv.useCatalog(name);
tEnv.useDatabase("flink_test");
tEnv.sqlQuery("select * from stu").execute().print();
相关推荐
开源能源管理系统3 分钟前
MyEMS开源能源管理系统:赋能平板玻璃行业绿色低碳生产
大数据·开源·能源·能源管理系统·平板玻璃
萤丰信息4 分钟前
科技赋能智慧园区:解码绿色转型的“数字密码”
java·大数据·人工智能·科技·安全·智慧城市·智慧园区
培培说证5 分钟前
大专大数据技术专业零基础能考的证书有哪些?
大数据
鸿乃江边鸟41 分钟前
Spark native向量化组件 datafusion comet
大数据·spark·native·向量化
LINGYI0003 小时前
什么是品牌全渠道电商代运营公司?
大数据·电商代运营
俊哥大数据9 小时前
【项目10】基于Flink房地产领域大数据实时分析系统
大数据·flink
sensen_kiss9 小时前
INT303 Big Data Analysis 大数据分析 Pt.12 推荐系统(Recommendation Systems)
大数据·数据挖掘·数据分析
数字化转型20259 小时前
企业数字化架构集成能力建设
大数据·程序人生·机器学习
jayaccc9 小时前
Git命令大全:从入门到精通
大数据·git·elasticsearch
Hello.Reader10 小时前
Flink CEP Pattern API、连续性、跳过策略、超时与迟到数据一篇讲透
大数据·flink