flink使用sql-client-defaults.yml无效

希望在flink sql脚本启动时自动选择catalog,减少麻烦。于是乎配置sql-client-defaults.yaml:

catalogs:
  - name: hive_catalog
    type: iceberg
    catalog-type: hive
    property-version: 1
    cache-enabled: true
    uri: thrift://localhost:9083
    client: 5
    warehouse: hdfs://localhost:9000/user/hive/warehouse
    hive-conf-dir: /opt/hive/conf

发现没有效果。查了下资料,自flink1.14开始已经不使用sql-client-defaults.yaml了

改用启动sql脚本的方式:

sql-client.sh embedded -i /opt/flink/conf/sql-startup.sql shell

sql-startup.sql:

create catalog hive_catalog with(
'type'='iceberg',
'catalog-type'='hive',
'property-version'='1',
'cache-enabled'='true',
'uri'='thrift://localhost:9083',
'client'='5',
'warehouse'='hdfs://localhost:9000/user/hive/warehouse',
'hive-conf-dir'='/opt/hive/conf'
);

USE CATALOG hive_catalog;
-- create database hive_catalog.test;
use hive_catalog.test;

这样进入后就使用了自己的catalog并默认在test库了

flink使用sql-client-defaults.yml无效_第1张图片

还可执行多个脚本方式:

sql-client.sh embedded shell -i a.sql,b.sql

你可能感兴趣的:(大数据,flink,sql,java,hive,iceberg)