当前位置: 主页 > 数据库

catalog 数据库-12306撞库数据

发布时间:2023-03-10 11:10   浏览次数:次   作者:佚名

Catalogs提供了元数据,例如数据库、表、分区、视图、函数和访问存储在数据库或其他外部系统中的数据所需的信息。

数据处理最重要的方面之一是管理元数据。它可以是临时表之类的临时元数据,也可以是针对表环境注册的UDF函数。或者永久的元数据,比如Hive中的元数据。Catalogs提供了一个统一的API来管理元数据,并可以通过表API和SQL查询。

Catalog Types

GenericInMemoryCatalog

Flink sessions总是有一个名为default_catalog的内置GenericInMemoryCatalog,它有一个名为default_database的内置默认数据库。所有临时元数据,如使用TableEnvironment#registerTable定义的表,都注册到这个catalog中。

HiveCatalog

HiveCatalog有两个用途:作为纯Flink元数据的持久存储catalog 数据库,并作为读取和写入现有Hive元数据的接口。Flink的Hive文档提供了关于设置Catalog和与现有Hive安装接口的完整细节(详见Flink Table API & SQL - Hive之hive概览)。

警告:Hive元数据以小写存储所有元对象名称。GenericInMemoryCatalog区分大小写。

自定义Catalog

用户可以通过实现Catalog接口开发自定义Catalog。要在SQL CLI中使用自定义Catalog,用户应该通过实现CatalogFactory接口开发Catalog及其对应的Catalog Factory。

catalog factory定义了一组属性catalog 数据库,用于SQL CLI启动时初始化Catalog配置。这组属性将传递给discovery service,在该服务中,将尝试将属性与CatalogFactory匹配,并启动相应的Catalog实例。

数据黑名单库他再次告诫我们什么_12306撞库数据_catalog 数据库

Catalog API

Registering a Catalog(注册一个Catalog)

用户可以在现有的Flink会话中注册额外的Catalog。

tableEnv.registerCatalog(new CustomCatalog("myCatalog"));

使用YAML定义的所有目录必须提供指定目录类型的类型属性。以下类型支持开箱即用。

CatalogType Value

GenericInMemory

catalog 数据库_12306撞库数据_数据黑名单库他再次告诫我们什么

generic_in_memory

Hive

hive

catalogs:
   - name: myCatalog
     type: custom_catalog
     hive-conf-dir: ...

Changing the Current Catalog And Database(更改当前Catalog和数据库)

Flink将一直搜索当前目录和数据库中的表、视图和UDF。

12306撞库数据_数据黑名单库他再次告诫我们什么_catalog 数据库

tableEnv.useCatalog("myCatalog");
tableEnv.useDatabase("myDb");

Flink SQL> USE CATALOG myCatalog;
Flink SQL> USE myDB;

通过在catalog.database.object表单中提供完全限定名,可以访问来自非当前编目的编目的元数据。

catalog 数据库_12306撞库数据_数据黑名单库他再次告诫我们什么

tableEnv.scan("not_the_current_catalog", "not_the_current_db", "my_table");

Flink SQL> SELECT * FROM not_the_current_catalog.not_the_current_db.my_table;

列出可用的Catalog、数据库、表

tableEnv.listCatalogs();

数据黑名单库他再次告诫我们什么_catalog 数据库_12306撞库数据

tableEnv.listCatalogs(); tableEnv.listTables();

Flink SQL> show catalogs;
Flink SQL> show databases;
Flink SQL> show tables;