You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DLT目标表指向Unity Catalog元存储

在DLT中自定义表的存储位置

要改变@dlt.table默认写入hive_metastore的行为,有两种常用方式:

1. 指定目标Catalog/Schema

通过schema参数直接指定表要注册到的Catalog和Schema(比如Unity Catalog中的自定义目录),数据会自动存储到该Schema对应的默认路径下:

@dlt.table(
    name="my_table_name",
    schema="my_catalog.my_custom_schema"  # 格式为「目录名.模式名」
)
def my_pipeline():
    # 数据处理逻辑
    return ...

注意:需要确保你对指定的Catalog和Schema有读写权限,且目标Schema已存在(或DLT流水线配置了自动创建Schema的权限)。

2. 直接指定存储路径

如果需要将数据写到特定的云存储路径(如ADLS、S3、DBFS自定义目录),可以使用path参数:

@dlt.table(
    name="my_table_name",
    path="abfss://container@storageaccount.dfs.core.windows.net/my/custom/storage/path"
)
def my_pipeline():
    # 数据处理逻辑
    return ...

这种方式下,表的元数据仍会注册到默认的hive_metastore(如果未额外指定schema参数),但实际数据会存储在你指定的路径中。路径格式需符合Databricks的存储规范,比如S3路径为s3://bucket/path,DBFS路径为dbfs:/path。

混合使用

如果需要同时指定元数据注册的Schema和自定义存储路径,可以同时传入两个参数:

@dlt.table(
    name="my_table_name",
    schema="my_catalog.my_custom_schema",
    path="abfss://container@storageaccount.dfs.core.windows.net/my/custom/path"
)
def my_pipeline():
    # 数据处理逻辑
    return ...

此时表的元数据会注册到指定的Schema下,而数据会存储在自定义路径中。

内容的提问来源于stack exchange,提问作者jencake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 08:57:07