首页 > 数据库 >Iceberg从入门到精通系列之七:Flink SQL创建Catalog

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

时间:2023-09-11 10:04:33浏览次数:42  
标签:之七 Flink catalog hive hadoop Catalog sql warehouse type



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包:

三、放到指定目录

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’配置

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


标签:之七,Flink,catalog,hive,hadoop,Catalog,sql,warehouse,type
From: https://blog.51cto.com/u_12080573/7432194

相关文章

  • Iceberg从入门到精通系列之六:Flink集成Iceberg
    Iceberg从入门到精通系列之六:Flink集成Iceberg一、下载Flink二、解压Flink安装包三、配置环境变量四、激活环境变量五、下载Icebergflinkjar包六、部署Icebergflinkjar包七、修改flink配置八、启动flink九、启动flinksqlclient一、下载Flink下载Flink:https://www.apache.o......
  • 在flink-1.17中测试执行流处理版本的单词计数程序时,出现"Exception in thread "Thread
    场景描述采用单作业模式提交作业后发现报错了 报错内容Exceptioninthread“Thread-5”java.lang.IllegalStateException:Tryingtoaccessclosedclassloader.Pleasecheckifyoustoreclassloadersdirectlyorindirectlyinstaticfields.Ifthestacktrace......
  • Flink 1.17教程:聚合算子(Aggregation)之按键分区(keyBy)
    聚合算子(Aggregation)计算的结果不仅依赖当前数据,还跟之前的数据有关,相当于要把所有数据聚在一起进行汇总合并——这就是所谓的“聚合”(Aggregation),类似于MapReduce中的reduce操作。按键分区(keyBy)对于Flink而言,DataStream是没有直接进行聚合的API的。因为我们对海量数据做聚合肯定要......
  • Flink 1.17教程:输出算子之输出到MySQL(JDBC)
    输出到MySQL(JDBC)写入数据的MySQL的测试步骤如下。(1)添加依赖添加MySQL驱动:mysqlmysql-connector-java8.0.27官方还未提供flink-connector-jdbc的1.17.0的正式依赖,暂时从apachesnapshot仓库下载,pom文件中指定仓库路径:apache-snapshotsapachesnapshotshttps://repository.a......
  • Flink 1.17教程:输出算子(Sink)之连接到外部系统
    输出算子(Sink)Flink作为数据处理框架,最终还是要把计算处理的结果写入外部存储,为外部应用提供支持。连接到外部系统Flink的DataStreamAPI专门提供了向外部写入数据的方法:addSink。与addSource类似,addSink方法对应着一个“Sink”算子,主要就是用来实现与外部系统连接、并将数据提交写......
  • Flink 1.17教程:基本合流操作
    基本合流操作在实际应用中,我们经常会遇到来源不同的多条流,需要将它们的数据进行联合处理。所以Flink中合流的操作会更加普遍,对应的API也更加丰富。联合(Union)最简单的合流操作,就是直接将多条流合在一起,叫作流的“联合”(union)。联合操作要求必须流中的数据类型必须相同,合并之后的新流......
  • Flink 1.17教程:输出算子之输出到文件
    输出到文件Flink专门提供了一个流式文件系统的连接器:FileSink,为批处理和流处理提供了一个统一的Sink,它可以将分区文件写入Flink支持的文件系统。FileSink支持行编码(Row-encoded)和批量编码(Bulk-encoded)格式。这两种不同的方式都有各自的构建器(builder),可以直接调用FileSink的静态方......
  • flink kerberos认证源码剖析
    文章目录01引言02flink的安全机制03源码流程分析3.1程序入口3.2安全模块安装3.3模块安装源码04文末01引言官方的文档:https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/security/security-kerberos/我们都知道,如果某个大数据组件(如:hadoop、flink等)......
  • Stable Diffusion WebUI插件:StyleSelectorXL 之七十七种绘画风格任君选择
    本文给大家分享一个应用于SDXL的新插件:StyleSelectorXL。通过在UI界面上简单的选择,我们就可以生成多种多样的风格图片,如动漫、水彩、平面、3D、线稿、涂鸦、剪纸、朋克、童话等等。基本介绍用过SDXL的同学,应该能切身感受到其出图质量相比之前的SD1.5、2.x等版本都有了......
  • FLink
    java.util.concurrent.TimeoutException:Invocationof[RemoteRpcInvocation(TaskExecutorGateway.requestSlot(SlotID,JobID,AllocationID,ResourceProfile,String,ResourceManagerId,Time))]atrecipient[akka.tcp://flink@teste-34:40647/user/rpc/taskmanager_......