7.2.9 阿里云 DLF¶
阿里云 Data Lake Formation
( DLF
)是阿里云上的统一元数据管理服务。兼容 Hive Metastore
协议。
因此我们也可以和访问 Hive Metastore
一样,连接并访问 DLF
。
1 连接 DLF¶
1.1 创建 DLF Catalog¶
SQL | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
其中 type
固定为 hms
。如果需要公网访问阿里云对象存储的数据,可以设置 "dlf.access.public"="true"
-
dlf.endpoint
:DLF Endpoint
,参阅:DLF Region
和Endpoint
对照表 -
dlf.region
:DLF Region
,参阅:DLF Region
和Endpoint
对照表 -
dlf.uid
:阿里云账号。即阿里云控制台右上角个人信息的“云账号ID
”。 -
dlf.catalog.id
(可选):Catalog Id
。用于指定数据目录,如果不填,使用默认的Catalog ID
。 -
dlf.access_key
:AccessKey
。可以在阿里云控制台中创建和管理。 -
dlf.secret_key
:SecretKey
。可以在阿里云控制台中创建和管理。
其他配置项为固定值,无需改动。
之后,可以像正常的 Hive MetaStore
一样,访问 DLF
下的元数据。
同 Hive Catalog
一样,支持访问 DLF
中的 Hive/Iceberg/Hudi
的元数据信息。
1.2 使用开启了 HDFS 服务的 OSS 存储数据¶
-
确认
OSS
开启了HDFS
服务。开通并授权访问OSS-HDFS
服务。 -
下载
SDK
。JindoData SDK
下载。如果集群上已有SDK
目录,忽略这一步。 -
解压下载后的
jindosdk.tar.gz
或者在集群上找到Jindo SDK
的目录,将其lib
目录下的jindo-core.jar
、jindo-sdk.jar
放到${DORIS_HOME}/fe/lib和${DORIS_HOME}/be/lib/java_extensions/preload-extensions
目录下。 -
创建
DLF Catalog
,并配置oss.hdfs.enabled
为true
:SQL 1 2 3 4 5 6 7 8 9 10 11 12
CREATE CATALOG dlf_oss_hdfs PROPERTIES ( "type"="hms", "hive.metastore.type" = "dlf", "dlf.proxy.mode" = "DLF_ONLY", "dlf.endpoint" = "datalake-vpc.cn-beijing.aliyuncs.com", "dlf.region" = "cn-beijing", "dlf.uid" = "uid", "dlf.catalog.id" = "catalog_id", //可选 "dlf.access_key" = "ak", "dlf.secret_key" = "sk", "oss.hdfs.enabled" = "true" );
-
当
Jindo SDK
版本与EMR
集群上所用的版本不一致时,会出现Plugin not found
的问题,需更换到对应版本。
1.3 访问 DLF Iceberg 表¶
SQL | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
2 列类型映射¶
和 Hive Catalog
一致,可参阅 Hive Catalog
中列类型映射一节。