【发布时间】:2016-12-27 19:16:17
【问题描述】:
我有一个非常大的 CSV,其中每一行都包含客户和商店 ID,以及交易信息。当前的测试文件大约 40 GB(大约 2 天),因此对于选择查询的任何合理返回时间,分区是绝对必须的。
我的问题是:当我们收到一个文件时,它包含多个商店的数据。我想使用“虚拟列”功能将此文件分离到相应的目录结构中。该结构是“/Data/{CustomerId}/{StoreID}/file.csv”。
我还没有让它与 OUTPUT 语句一起使用。语句使用如下:
// Output to file
OUTPUT @dt
TO @"/Data/{CustomerNumber}/{StoreNumber}/PosData.csv"
USING Outputters.Csv();
它给出了以下错误:
Bad request. Invalid pathname. Cosmos Path: adl://<obfuscated>.azuredatalakestore.net/Data/{0}/{1}/68cde242-60e3-4034-b3a2-1e14a5f7343d
有没有人尝试过同样的事情?我试图从字段中连接输出路径,但这是不行的。我曾考虑将其作为一个函数 (UDF) 来实现,它采用两个 ID 并过滤整个数据集,但这似乎非常低效。
提前感谢您阅读/回复!
【问题讨论】:
标签: azure-data-lake u-sql