本文翻译自官网:Catalogs Beta  https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/catalogs.html

Flink Table Api & SQL 翻译目录

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(开发技术)相关的推文

最新文章

  1. js - 奇怪的回调探索
  2. nginx和tomcat实现反向代理、负载均衡和session共享
  3. jpa动态创建EntityManagerFactory 态设置数据库连接 EntityManager;
  4. Microsoft.AlphaImageLoader滤镜解说
  5. <七>面向对象分析之UML核心元素之包
  6. [改善Java代码]多种最值算法,适时选择
  7. nyist 737 相邻石子合并问题
  8. hdu 1282回文数猜想
  9. 2015ACM/ICPC亚洲区沈阳站 Pagodas
  10. 友元函数 C++
  11. [Qt Quick] qmlscene工具的使用
  12. 关于Mac中PATH环境变量可能会被修改的几个地方
  13. php接入支付宝的流程(转载)
  14. centos下静默安装oracle11g
  15. 1.Sed | Awk | Grep | Find
  16. 如何在 Flickr 上找到又酷,又有趣,且版权自由的照片?
  17. Geoserver+Postgresql+PostGIS 进行数据发布
  18. XML解析(DOM、ElementTree)及转换为JSON
  19. python 全栈开发,Day26(hashlib文件一致性,configparser,logging,collections模块,deque,OrderedDict)
  20. http 2.0 新特性

热门文章

  1. ES6中Number中的扩展
  2. 一道面试题关于js中逗号
  3. jmeter脚本中请求参数获取的几种方式
  4. destoon下动态链接301到伪静态(ngnix)
  5. Linux——CentOS7没有第二张网卡的配置信息
  6. LeetCode 731. My Calendar II
  7. php 常用操作数组函数
  8. springboot(三)
  9. Prisma 2 is Coming Soon
  10. Python 下载超大文件