我在 ADLS 中有一个位置,需要将数据从该位置提取到 Unity 目录中。 ADLS 中的此目录混合了 .txt、.txt.parquet 和 .parquet。 我正在使用自动加载器和 parquet 选项来获取这些数据。
CREATE STREAMING LIVE TABLE Example_raw
TBLPROPERTIES ("quality" = "bronze")
AS SELECT * FROM cloud_files("/mnt/Example", "parquet");
但是 .txt 和 txt.parquet 文件的存在导致摄取失败。 自动加载器可以在一次摄取中处理多种文件类型吗?
谢谢
自动加载机一次只能处理一种文件格式。如果您的源具有多种文件格式(例如 Parquet 和文本),您可以使用
pathGlobFilter
选项来限制摄取哪些文件扩展名 - 但那些与过滤器匹配的文件扩展名必须与定义的格式匹配。因此,例如,*.txt.parquet
文件实际上必须是 Parquet 文件。
我还没有测试下面的代码,但根据文档,指定
pathGlobFilter
仅摄取带有“.parquet”扩展名的文件将如下所示:
CREATE STREAMING LIVE TABLE Example_raw
TBLPROPERTIES ("quality" = "bronze")
AS SELECT *
FROM cloud_files(
"/mnt/Example",
"parquet"
),
map("pathGlobFilter", "*.parquet");
请参阅文件格式选项下的AutoLoader语法和pathGlobFilter了解更多详细信息。