在三角洲住表使用自动加载程序
您可以使用自动加载程序在你的三角洲生活表管道。三角洲住在Apache火花结构化流表扩展功能,允许您编写几行Python或SQL声明式部署生产数据管道:
你不需要提供一个模式或检查站位置因为三角洲生活表自动管理这些设置您的管道。看到数据加载与达美住表。
自动加载程序DLT的语法
δ生活表提供了略微修改Python语法自动加载程序并添加SQL支持自动加载程序。
下面的例子使用自动加载程序来创建数据集从CSV和JSON文件:
@dlt。表def客户():返回(火花。readStream。格式(“cloudFiles”)。选项(“cloudFiles.format”,“csv”)。负载(“/ databricks-datasets / retail-org /客户/”))@dlt。表defsales_orders_raw():返回(火花。readStream。格式(“cloudFiles”)。选项(“cloudFiles.format”,“json”)。负载(“/ databricks-datasets / retail-org sales_orders /”))
创建或刷新流媒体表客户作为选择*从cloud_files(“/ databricks-datasets / retail-org /客户/”,“csv”)创建或刷新流媒体表sales_orders_raw作为选择*从cloud_files(“/ databricks-datasets / retail-org sales_orders /”,“json”)
您可以使用支持格式选项自动加载程序。使用map ()
功能,你可以通过选项cloud_files ()
方法。选项是键值对,其中键和值都是字符串。下面描述了使用自动加载程序在SQL的语法:
创建或刷新流媒体表<表- - - - - -的名字>作为选择*从cloud_files(“<文件路径>”,“<文件格式>”,地图(“< option键>”,“< option_value”,“< option键>”,“< option_value”,…))
下面的例子从CSV文件头一样读取数据:
创建或刷新流媒体表客户作为选择*从cloud_files(“/ databricks-datasets / retail-org /客户/”,“csv”,地图(“分隔符”,“t \”,“头”,“真正的”))
您可以使用模式
手工指定格式;你必须指定模式
不支持的格式模式推理:
@dlt。表defwiki_raw():返回(火花。readStream。格式(“cloudFiles”)。模式(“标题字符串id INT, INT revisionId revisionTimestamp时间戳,revisionUsername字符串,revisionUsernameId INT,文本字符串”)。选项(“cloudFiles.format”,“铺”)。负载(“/ databricks-datasets / wikipedia-datasets /数据- 001 / en_wikipedia / articles-only-parquet”))
创建或刷新流媒体表wiki_raw作为选择*从cloud_files(“/ databricks-datasets / wikipedia-datasets /数据- 001 / en_wikipedia / articles-only-parquet”,“铺”,地图(“模式”,“标题字符串id INT, INT revisionId revisionTimestamp时间戳,revisionUsername字符串,revisionUsernameId INT,文本字符串”))
请注意
三角洲生活表时自动配置和管理模式和检查点目录使用自动加载器读取文件。然而,如果你手动配置这些目录,执行一个完整的更新不会影响配置的目录的内容。砖建议使用自动配置目录,以避免在处理意想不到的副作用。