Iceberg从入门到精通系列之七:Flink SQL创建Catalog

Iceberg从入门到精通系列之七:Flink SQL创建Catalog

  • 一、语法说明
  • 二、flink集成hive jar包
  • 三、放到指定目录
  • 四、启动hive metastore服务
  • 五、创建hive catalog
  • 六、查看catalog
  • 七、Hadoop Catalog
  • 八、创建sql-client初始化文件
  • 九、启动flink sql指定初始化文件

一、语法说明

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

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://uudwc.com/A/Y1kdG

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

原文地址:https://blog.csdn.net/zhengzaifeidelushang/article/details/131471570

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年07月01日 17:58
深入学习单例设计模式
下一篇 2023年07月01日 18:00