一、语法说明
create catalog <catalog_name> with (
'type'='iceberg',
`<config_key>`=`<config_value>`
);
- type:必须是iceberg
- catalog-type:内置了hive和hadoop两种catalog,也可以使用catalog-impl来自定义catalog。
- catalog-impl:自定义catalog实现的全限定类名。如果未设置catalog-type,则必须设置。
- property-version:描述属性版本的版本号。此属性可用于向后兼容,以防属性格式更改。当前属性版本为1.
- cache-enabled:是否启用目录缓存,默认值为true。
- cache.expiration-interval-ms:本地缓存catalog条目的时间(以毫秒为单位)。负值,如-1表示没有时间限制,不允许设为0,默认值为-1。
二、flink集成hive jar包
下载jar包:
- https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-hive-3.1.2_2.11/1.14.6
三、放到指定目录
cp flink-sql-connector-hive-3.1.2_2.11.jar /module/flink-1.17.1/lib/
四、启动hive metastore服务
hive --service metastore
五、创建hive catalog
重启flink 集群,重新进入sql-client文章来源:https://www.toymoban.com/news/detail-516458.html
CREATE CATALOG hive_catalog WITH (
'type'='iceberg',
'catalog-type'='hive',
'url'='thrift://hadoop1:9083',
'clients'='5',
'property-version'='1',
'warehouse'='hdfs://hadoop1:8020/warehouse/iceberg-hive'
);
use catalog hive_ccatalog;
- url:Hive metastore的thrift url
- clients:Hive metastore客户端池大小,默认为2
- warehouse:数仓目录
- hive-conf-dir:包含hive-site.xml配置文件的目录路径,hive-site.xml中hive.metastore.warehouse.dir的值会被warehouse覆盖
- hadoop-conf-dir:包含core-site.xml和hdfs-site.xml配置文件的目录路径
六、查看catalog
show catalogs;
show current catalog;
七、Hadoop Catalog
Iceberg还支持HDFS中基于目录的catalog,可以使用‘catalog-type’='hadoop’配置文章来源地址https://www.toymoban.com/news/detail-516458.html
create catalog hadoop_catalog with(
'type'='iceberg',
'catalog-type'='hadoop',
'warehouse'='hdfs://hadoop1:8020/warehouse/iceberg-hadoop',
'property-version'='1'
);
use catalog hadoop_catalog;
- warehouse:存放元数据文件和书籍文件的HDFS目录。
八、创建sql-client初始化文件
vim sql-client-init.sql
CREATE CATALOG hive_catalog WITH (
'type'='iceberg',
'catalog-type'='hive',
'url'='thrift://hadoop1:9083',
'clients'='5',
'property-version'='1',
'warehouse'='hdfs://hadoop1:8020/warehouse/iceberg-hive'
);
create catalog hadoop_catalog with(
'type'='iceberg',
'catalog-type'='hadoop',
'warehouse'='hdfs://hadoop1:8020/warehouse/iceberg-hadoop',
'property-version'='1'
);
use catalog hive_ccatalog;
九、启动flink sql指定初始化文件
bin/sql-client.sh -i conf/sql-client-init.sql
到了这里,关于Iceberg从入门到精通系列之七:Flink SQL创建Catalog的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!