厦门专业网站推广建站,小型企业名字大全,网站开发的技术难点,如何申请域名备案使用限制
支持 Iceberg V1/V2 表格式。支持 Position Delete。2.1.3 版本开始支持 Equality Delete。支持 Parquet 文件格式2.1.3 版本开始支持 ORC 文件格式。
创建 Catalog
基于 Hive Metastore 创建 Catalog
和 Hive Catalog 基本一致#xff0c;这里仅给出简单示…使用限制
支持 Iceberg V1/V2 表格式。支持 Position Delete。2.1.3 版本开始支持 Equality Delete。支持 Parquet 文件格式2.1.3 版本开始支持 ORC 文件格式。
创建 Catalog
基于 Hive Metastore 创建 Catalog
和 Hive Catalog 基本一致这里仅给出简单示例。其他示例可参阅 Hive Catalog。
CREATE CATALOG iceberg PROPERTIES (typehms,hive.metastore.uris thrift://172.21.0.1:7004,hadoop.username hive,dfs.nameservicesyour-nameservice,dfs.ha.namenodes.your-nameservicenn1,nn2,dfs.namenode.rpc-address.your-nameservice.nn1172.21.0.2:4007,dfs.namenode.rpc-address.your-nameservice.nn2172.21.0.3:4007,dfs.client.failover.proxy.provider.your-nameserviceorg.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
);基于 Iceberg API 创建 Catalog
使用 Iceberg API 访问元数据的方式支持 Hadoop File System、Hive、REST、Glue、DLF 等服务作为 Iceberg 的 Catalog。
Hadoop Catalog 注意warehouse 的路径必须指向 Database 路径的上一级。 示例如果你的表路径是s3://bucket/path/to/db1/table1那么 warehouse 应该是s3://bucket/path/to/ CREATE CATALOG iceberg_hadoop PROPERTIES (typeiceberg,iceberg.catalog.type hadoop,warehouse hdfs://your-host:8020/dir/key
);CREATE CATALOG iceberg_hadoop_ha PROPERTIES (typeiceberg,iceberg.catalog.type hadoop,warehouse hdfs://your-nameservice/dir/key,dfs.nameservicesyour-nameservice,dfs.ha.namenodes.your-nameservicenn1,nn2,dfs.namenode.rpc-address.your-nameservice.nn1172.21.0.2:4007,dfs.namenode.rpc-address.your-nameservice.nn2172.21.0.3:4007,dfs.client.failover.proxy.provider.your-nameserviceorg.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
);CREATE CATALOG iceberg_s3 PROPERTIES (typeiceberg,iceberg.catalog.type hadoop,warehouse s3://bucket/dir/key,s3.endpoint s3.us-east-1.amazonaws.com,s3.access_key ak,s3.secret_key sk
);Hive Metastore
CREATE CATALOG iceberg PROPERTIES (typeiceberg,iceberg.catalog.typehms,hive.metastore.uris thrift://172.21.0.1:7004,hadoop.username hive,dfs.nameservicesyour-nameservice,dfs.ha.namenodes.your-nameservicenn1,nn2,dfs.namenode.rpc-address.your-nameservice.nn1172.21.0.2:4007,dfs.namenode.rpc-address.your-nameservice.nn2172.21.0.3:4007,dfs.client.failover.proxy.provider.your-nameserviceorg.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
);AWS Glue 连接 Glue 时如果是在非 EC2 环境需要将 EC2 环境里的 ~/.aws 目录拷贝到当前环境里。也可以下载AWS Cli工具进行配置这种方式也会在当前用户目录下创建.aws目录。 请升级到 Doris 2.1.7 或 3.0.3 之后的版本使用该功能。 -- Using access key and secret key
CREATE CATALOG glue2 PROPERTIES (typeiceberg,iceberg.catalog.type glue,glue.endpoint https://glue.us-east-1.amazonaws.com/,client.credentials-provider com.amazonaws.glue.catalog.credentials.ConfigAWSProvider,client.credentials-provider.glue.access_key ak,client.credentials-provider.glue.secret_key sk
);Iceberg 属性详情参见 Iceberg Glue Catalog 如果不指定 client.credentials-providerDoris 就会使用默认的 DefaultAWSCredentialsProviderChain它会读取系统环境变量或者 InstanceProfile 中配置的属性。
阿里云 DLF
参见阿里云 DLF Catalog 配置
REST Catalog
该方式需要预先提供 REST 服务用户需实现获取 Iceberg 元数据的 REST 接口。
CREATE CATALOG iceberg PROPERTIES (typeiceberg,iceberg.catalog.typerest,uri http://172.21.0.1:8181
);如果使用 HDFS 存储数据并开启了高可用模式还需在 Catalog 中增加 HDFS 高可用配置
CREATE CATALOG iceberg PROPERTIES (typeiceberg,iceberg.catalog.typerest,uri http://172.21.0.1:8181,dfs.nameservicesyour-nameservice,dfs.ha.namenodes.your-nameservicenn1,nn2,dfs.namenode.rpc-address.your-nameservice.nn1172.21.0.1:8020,dfs.namenode.rpc-address.your-nameservice.nn2172.21.0.2:8020,dfs.client.failover.proxy.provider.your-nameserviceorg.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
);Google Dataproc Metastore
CREATE CATALOG iceberg PROPERTIES (typeiceberg,iceberg.catalog.typehms,hive.metastore.uris thrift://172.21.0.1:9083,gs.endpoint https://storage.googleapis.com,gs.region us-east-1,gs.access_key ak,gs.secret_key sk,use_path_style true
);hive.metastore.uris: Dataproc Metastore 服务开放的接口在 Metastore 管理页面获取Dataproc Metastore Services.
Iceberg On Object Storage
若数据存放在 S3 上properties 中可以使用以下参数
s3.access_key ak
s3.secret_key sk
s3.endpoint s3.us-east-1.amazonaws.com
s3.region us-east-1数据存放在阿里云 OSS 上
oss.access_key ak
oss.secret_key sk
oss.endpoint oss-cn-beijing-internal.aliyuncs.com
oss.region oss-cn-beijing数据存放在腾讯云 COS 上
cos.access_key ak
cos.secret_key sk
cos.endpoint cos.ap-beijing.myqcloud.com
cos.region ap-beijing数据存放在华为云 OBS 上
obs.access_key ak
obs.secret_key sk
obs.endpoint obs.cn-north-4.myhuaweicloud.com
obs.region cn-north-4示例
-- MinIO Rest Catalog
CREATE CATALOG iceberg PROPERTIES (type iceberg,iceberg.catalog.type rest,uri http://10.0.0.1:8181,warehouse s3://bucket,token token123456,s3.access_key ak,s3.secret_key sk,s3.endpoint http://10.0.0.1:9000,s3.region us-east-1
);列类型映射
Iceberg TypeDoris Typebooleanbooleanintintlongbigintfloatfloatdoubledoubledecimal(p,s)decimal(p,s)datedateuuidstringtimestamp (Timestamp without timezone)datetime(6)timestamptz (Timestamp with timezone)datetime(6)stringstringfixed(L)char(L)binarystringstructstruct2.1.3 版本开始支持mapmap2.1.3 版本开始支持listarraytime不支持
Time Travel
支持读取 Iceberg 表指定的 Snapshot。
每一次对 iceberg 表的写操作都会产生一个新的快照。
默认情况下读取请求只会读取最新版本的快照。
可以使用 FOR TIME AS OF 和 FOR VERSION AS OF 语句根据快照 ID 或者快照产生的时间读取历史版本的数据。示例如下
SELECT * FROM iceberg_tbl FOR TIME AS OF 2022-10-07 17:20:37;
SELECT * FROM iceberg_tbl FOR VERSION AS OF 868895038966572;
另外可以使用 iceberg_meta 表函数查询指定表的 snapshot 信息。