Как разделить большой файл на файлы / каталоги, используя только U-SQL и определенные поля в файле?

У меня очень большой CSV, где каждая строка содержит идентификаторы клиентов и магазинов, а также информацию о транзакциях. Текущий тестовый файл составляет около 40 ГБ (около 2 дней), поэтому разбиение является обязательным условием для любого разумного времени возврата по отдельным запросам.

У меня такой вопрос: когда мы получаем файл, он содержит данные нескольких магазинов. Я хотел бы использовать функциональность «виртуальный столбец» для разделения этого файла в соответствующей структуре каталогов. Эта структура является "/Data/ndomCustomerId‹/ndomStoreID‹/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), которая берет два идентификатора и фильтрует весь набор данных, но это кажется ужасно неэффективным.

Заранее спасибо за чтение / ответы!

Ответы на вопрос(1)

Ваш ответ на вопрос