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

这篇具有很好参考价值的文章主要介绍了Iceberg从入门到精通系列之七:Flink SQL创建Catalog。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、语法说明

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://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模板网!

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

领支付宝红包 赞助服务器费用

相关文章

  • Iceberg从入门到精通系列之十六:Flink Iceberg Connector

    Apache Flink 支持直接创建 Iceberg 表,无需在 Flink SQL 中创建显式 Flink 目录。这意味着我们可以通过在 Flink SQL 中指定 ‘connector’=‘iceberg’ 表选项来创建一个 Iceberg 表,与 Flink 官方文档中的用法类似。 在 Flink 中,SQL CREATE TABLE 测试 (…)WITH (‘connector’=‘iceberg’, …) 会在当前

    2024年02月16日
    浏览(45)
  • Iceberg从入门到精通系列之十一:Flink DataStream读取Iceberg表

    streaming(false) :false batch方式 streaming(true):true streaming方式

    2024年02月12日
    浏览(47)
  • Iceberg从入门到精通系列之十八:一篇文章深入了解Flink对Iceberg的支持

    Apache Iceberg 支持 Apache Flink 的 DataStream API 和 Table API。 功能支持 Flink 注意事项 SQL create catalog ✔️ SQL create database ✔️ SQL create table ✔️ SQL create table like ✔️ SQL alter table ✔️ 仅支持更改表属性,不支持列和分区更改 SQL drop_table ✔️ SQL select ✔️ 支持流式和批处理模式 SQ

    2024年02月16日
    浏览(50)
  • Iceberg从入门到精通系列之三:创建Iceberg表、修改表结构、插入数据、删除表

    Hive语法创建分区表,不会在元数据创建分区,而是将分区数据转换为Iceberg标识分区。 这种情况下不能使用Iceberg的分区转换,例如:days(timestamp),如果想要使用Iceberg格式表的分区转换标识分区,需要使用Spark或者Flink引擎创建表。 只支持HiveCatalog表修改表属性,Iceberg表属性和

    2024年02月11日
    浏览(89)
  • Iceberg从入门到精通系列之五:Zeppelin集成iceberg,创建iceberg普通表和分区表,并插入数据

    Zeppelin支持Flink SQL Flink SQL支持iceberg Zeppelin集成Flink SQL后,就可以在Zeppelin上创建iceberg表了 下面演示下Zeppelin集成iceberg后,创建表,插入数据的方便性。

    2024年02月11日
    浏览(48)
  • Iceberg从入门到精通系列之二:Iceberg集成Hive

    理解Iceberg核心概念可以阅读博主下面这篇技术博客: Iceberg从入门到精通系列之一:Iceberg核心概念理解 拷贝Iceberg的jar包到Hive的auxlib目录中 启动hdfs 启动yarn 启动historyserver Hive的元数据服务是一种存储和管理Hive表格和数据定义的中央服务,它允许用户定义表格、分区和桶等元

    2024年02月12日
    浏览(35)
  • Iceberg从入门到精通系列之二十二:Spark DDL

    要在 Spark 中使用 Iceberg,请首先配置 Spark 目录。 Iceberg 使用 Apache Spark 的 DataSourceV2 API 来实现数据源和目录。 Spark 3 可以使用 USINGiceberg 子句在任何 Iceberg 目录中创建表: Iceberg会将Spark中的列类型转换为对应的Iceberg类型。详细信息请查看创建表的类型兼容性部分。 PARTITIONE

    2024年02月19日
    浏览(44)
  • Kubernetes(K8s)从入门到精通系列之七:K8s的基本概念和术语之安全类

    开发的Pod应用需要通过API Server查询、创建及管理其他相关资源对象,所以这类用户才是K8s的关键用户。K8s设计了Service Account这个特殊的资源对象,代表Pod应用的账号,为Pod提供必要的身份验证。在此基础上,K8s实现和完善了基于角色的访问控制权限系统——RBAC(Role-Based Acce

    2024年02月15日
    浏览(66)
  • 第二章 Flink集成Iceberg的集成方式及基本SQL使用

    注意事项:一般都是用基于Flink的Hive Catalog,使用HMS存储表模型数据 1、集成方式 (1)下载jar包 下载地址 (2)启动FlinkSQL ①StandLone模式启动 ②Flink On Yarn模式启动 2、基本使用 2.1、创建catalog 核心:可创建hive、hadoop、自定义等目录,创建模板如下 type : 必须的 iceberg 。(必需

    2024年02月08日
    浏览(41)
  • Flink系列Table API和SQL之:创建表环境和创建表

    创建表环境 创建输入表,连接外部系统读取数据 注册一个表,连接到外部系统,用于输出 执行SQL对表进行查询转换,得到一个新的表 使用Table API对表进行查询转换,得到一个新的表 将得到的结果写入输出表 对于Flink这样的流处理框架来说,数据流和表在结构上还是有所区

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包