Bootstrap

Apache Paimon Catalog

Paimon Catalog可以持久化元数据,当前支持两种类型的metastore:

  • 文件系统(默认):将元数据和表文件存储在文件系统中。hive:在 hive metastore中存储元数据。用户可以直接从 Hive 访问表。

2.2.1 文件系统

CREATE CATALOG fs_catalog WITH (

    'type' = 'paimon',

    'warehouse' = 'hdfs://hadoop102:8020/paimon/fs'

);

USE CATALOG fs_catalog;

2.2.2 Hive Catalog

通过使用Hive Catalog,对Catalog的更改将直接影响相应的hive metastore。在此类Catalog中创建的表也可以直接从 Hive 访问。

要使用 Hive Catalog,数据库名称、表名称和字段名称应小写

1)上传 hive-connector

将flink-sql-connector-hive-3.1.3_2.12-1.17.0.jar上川到Flink的lib目录下

2)重启yarn-session集群

3)启动hive的metastore服务

nohup hive --service metastore &

4)创建Hive Catalog

CREATE CATALOG hive_catalog WITH (

    'type' = 'paimon',

    'metastore' = 'hive',

'uri' = 'thrift://hadoop102:9083',

'hive-conf-dir' = '/opt/module/hive/conf',

    'warehouse' = 'hdfs://hadoop102:8020/paimon/hive'

);

USE CATALOG hive_catalog;

5)注意事项

使用hive Catalog通过alter table更改不兼容的列类型时,参见 HIVE-17832。需要配置

vim /opt/module/hive/conf/hive-site.xml;

    <property>

        <name>hive.metastore.disallow.incompatible.col.type.changes</name>

        <value>false</value>

    </property>

上述配置需要在hive-site.xml中配置,且hive metastore服务需要重启。

如果使用的是 Hive3,请禁用 Hive ACID:

hive.strict.managed.tables=false

hive.create.as.insert.only=false

metastore.create.as.acid=false

Paimon Catalog可以持久化元数据,当前支持两种类型的metastore:

  • 文件系统(默认):将元数据和表文件存储在文件系统中。
  • hive:在 hive metastore中存储元数据。用户可以直接从 Hive 访问表。

2.2.1 文件系统

CREATE CATALOG fs_catalog WITH (

    'type' = 'paimon',

    'warehouse' = 'hdfs://hadoop102:8020/paimon/fs'

);

USE CATALOG fs_catalog;

2.2.2 Hive Catalog

通过使用Hive Catalog,对Catalog的更改将直接影响相应的hive metastore。在此类Catalog中创建的表也可以直接从 Hive 访问。

要使用 Hive Catalog,数据库名称、表名称和字段名称应小写

1)上传 hive-connector

将flink-sql-connector-hive-3.1.3_2.12-1.17.0.jar上川到Flink的lib目录下

2)重启yarn-session集群

3)启动hive的metastore服务

nohup hive --service metastore &

4)创建Hive Catalog

CREATE CATALOG hive_catalog WITH (

    'type' = 'paimon',

    'metastore' = 'hive',

'uri' = 'thrift://hadoop102:9083',

'hive-conf-dir' = '/opt/module/hive/conf',

    'warehouse' = 'hdfs://hadoop102:8020/paimon/hive'

);

USE CATALOG hive_catalog;

5)注意事项

使用hive Catalog通过alter table更改不兼容的列类型时,参见 HIVE-17832。需要配置

vim /opt/module/hive/conf/hive-site.xml;

    <property>

        <name>hive.metastore.disallow.incompatible.col.type.changes</name>

        <value>false</value>

    </property>

上述配置需要在hive-site.xml中配置,且hive metastore服务需要重启。

如果使用的是 Hive3,请禁用 Hive ACID:

hive.strict.managed.tables=false

hive.create.as.insert.only=false

metastore.create.as.acid=false

2.2.3 sql 初始化文件

vi sql_init.sql

CREATE CATALOG fs_catalog WITH (
    'type' = 'paimon',
    'warehouse' = 'hdfs://doitedu:8020/paimon/fs'
);

CREATE CATALOG hive_catalog WITH (
    'type' = 'paimon',
    'metastore' = 'hive',
'uri' = 'thrift://hadoop102:9083',
'hive-conf-dir' = '/opt/module/hive/conf',
    'warehouse' = 'hdfs://doitedu:8020/paimon/hive'
);


USE CATALOG hive_catalog;

SET 'sql-client.execution.result-mode' = 'tableau';

2)启动sql-client时,指定该sql初始化文件

bin/sql-client.sh -s yarn-session -i conf/sql-client-init.sql

3)查看catalog

show catalogs;

show current catalog;

;