【翻译】Flink Table Api & SQL — Catalog Beta 版
本文翻译自官网:Catalogs Beta https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/catalogs.html
Catalogs 提供元数据,例如数据库,表,分区,视图以及访问存储在数据库或其他外部系统中的数据所需的功能和信息。
数据处理的最关键方面之一是管理元数据。它可能是临时元数据,例如临时表,或者是针对表环境注册的 UDF。或永久性元数据,例如Hive Metastore 中的元数据。Catalogs 提供了一个统一的API,用于管理元数据并使其可从 Table API 和 SQL 查询访问。
Catalogs类型
GenericInMemory Catalog
Flink会话始终具有一个名为default_catalog的内置GenericInMemoryCatalog,它具有一个名为default_database的内置默认数据库。 所有临时元数据(例如使用TableEnvironment#registerTable定义的表)均已注册到此目录。
Hive Catalog
HiveCatalog 有两个作用: 作为纯Flink元数据的持久存储,以及作为读写现有Hive元数据的接口。 Flink的Hive文档提供了有关设置 catalog 以及与现有Hive安装接口的完整详细信息。
警告: Hive Metastore以小写形式存储所有元对象名称。这与GenericInMemoryCatalog区分大小写不同。
用户定义的 Catalog
Catalog 是可插入的,用户可以通过实现Catalog接口来开发自定义 Catalog。 要在SQL CLI中使用自定义 Catalog,用户应通过实现CatalogFactory接口来开发 Catalog 及其相应的 CatalogFactory。
catalog factory 定义了一组属性,用于在 SQL CLI 引导时配置 catalog 。 属性集将传递给发现服务,在该服务中,服务将尝试将这些属性与CatalogFactory匹配并启动相应的 catalog 实例。
Catalog API
注册Catalog
用户可以将其他 Catalog 注册到现有的Flink会话中。
tableEnv.registerCatalog(new CustomCatalog("myCatalog"));
更改当前 Catalog 和数据库
Flink将始终在当前 Catalog 和数据库中搜索表,视图和UDF。
tableEnv.useCatalog("myCatalog");
tableEnv.useDatabase("myDb");
通过以catalog.database.object形式提供标准名称,可以访问不是当前 catalog 中的元数据。
tableEnv.scan("not_the_current_catalog", "not_the_current_db", "my_table");
列出可用 Catalog
tableEnv.listCatalogs();
列出可用的数据库
tableEnv.listDatabases();
列出可用表
tableEnv.listTables();
欢迎关注Flink菜鸟公众号,会不定期更新Flink(开发技术)相关的推文

【翻译】Flink Table Api & SQL — Catalog Beta 版的更多相关文章
- 【翻译】Flink Table Api & SQL — Hive Beta
本文翻译自官网:Hive Beta https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/hive/ Flink ...
- Flink Table Api & SQL 翻译目录
Flink 官网 Table Api & SQL 相关文档的翻译终于完成,这里整理一个安装官网目录顺序一样的目录 [翻译]Flink Table Api & SQL —— Overv ...
- 【翻译】Flink Table Api & SQL — SQL客户端Beta 版
本文翻译自官网:SQL Client Beta https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/sqlCl ...
- 【翻译】Flink Table Api & SQL —Streaming 概念 —— 表中的模式匹配 Beta版
本文翻译自官网:Detecting Patterns in Tables Beta https://ci.apache.org/projects/flink/flink-docs-release-1 ...
- 【翻译】Flink Table Api & SQL —— 数据类型
本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/types.html Flink Table ...
- 【翻译】Flink Table Api & SQL — Hive —— 在 scala shell 中使用 Hive 连接器
本文翻译自官网:Use Hive connector in scala shell https://ci.apache.org/projects/flink/flink-docs-release-1 ...
- 【翻译】Flink Table Api & SQL — Hive —— Hive 函数
本文翻译自官网:Hive Functions https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/hive/h ...
- 【翻译】Flink Table Api & SQL — Hive —— 读写 Hive 表
本文翻译自官网:Reading & Writing Hive Tables https://ci.apache.org/projects/flink/flink-docs-release-1 ...
- 【翻译】Flink Table Api & SQL —— 概念与通用API
本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/common.html Flink Tabl ...
随机推荐
- 8.7 —— 排序函数及 splice 插入
.排序,按自己的逻辑 nid_item_vec.sort([](const NID_PBDATA &l, const NID_PBDATA &r) -> bool { retur ...
- Please umount the filesystem and rectify the problem(s)
1.输入命令:ls -l /dev/mapper 2.再输入:xfs_repair /dev/dm-0 3.输入命令:xfs_repair -L /dev/dm-0 4.最后进行重启:init 6 等 ...
- delete properties inside object
- Django ContentTypes框架使用场景
Django contenttypes是一个非常有用的框架,主要用来创建模型间的通用关系(generic relation).不过由于其非常抽象, 理解起来并不容易.当你创建一个django项目的时候 ...
- B/S大附件上传,支持断点续传
核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...
- 【洛谷P2664】 树上游戏 点分治
code: #include <bits/stdc++.h> #define N 200009 #define ll long long #define setIO(s) freopen( ...
- Using HAProxy as an API Gateway, Part 1 [Introduction]
转自:https://www.haproxy.com/blog/using-haproxy-as-an-api-gateway-part-1/ An API gateway handles load ...
- 29-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(Lwip RAW模式,非RTOS版,精简入门)
https://www.cnblogs.com/yangfengwu/p/11456667.html 由于上一节的源码长时间以后会自动断开,所以再做这一版非RTOS版的,咱直接用lua源码里面别人写的 ...
- 【JZOJ6226】【20190618】纳什均衡
题目 一颗二叉树,每个点儿子个数为0 或 2 ,对每个叶子有一个权值\((c(u),d(u))\) 从根结点开始走,Alice 可以选择奇数层的走法,Bob 可以选择偶数层的走法,分别获得最后走到叶子 ...
- gulp+webpack多页应用开发,webpack仅处理打包js
项目背景:一个综合网站,开发模式为后端嵌套数据,前端开发静态页面和部分组件. 问题:gulp任务处理自动刷新.sass编译等都是极好的.但是对于js的处理并不是很好,尤其是项目需要开发组件时候,如评论 ...