Como particiono um arquivo grande em arquivos / diretórios usando apenas U-SQL e certos campos no arquivo?

Eu tenho um CSV extremamente grande, em que cada linha contém IDs de cliente e loja, além de informações de transação. O arquivo de teste atual é de cerca de 40 GB (aproximadamente 2 dias), portanto, o particionamento é uma necessidade absoluta para qualquer tempo de retorno razoável em consultas selecionadas.

Minha pergunta é a seguinte: quando recebemos um arquivo, ele contém vários dados da loja. Eu gostaria de usar a funcionalidade "coluna virtual" para separar esse arquivo na respectiva estrutura de diretórios. Essa estrutura é "/Data/{CustomerId}/{StoreID}/file.csv".

Ainda não consegui trabalhar com a instrução OUTPUT. O uso da declaração foi assim:

// Output to file
OUTPUT @dt
TO @"/Data/{CustomerNumber}/{StoreNumber}/PosData.csv"
USING Outputters.Csv();

Dá o seguinte erro:

Bad request. Invalid pathname. Cosmos Path: adl://<obfuscated>.azuredatalakestore.net/Data/{0}/{1}/68cde242-60e3-4034-b3a2-1e14a5f7343d

Alguém já tentou o mesmo tipo de coisa? Tentei concatenar o caminho de saída dos campos, mas isso não foi possível. Pensei em fazê-lo como uma função (UDF) que pega os dois IDs e filtra todo o conjunto de dados, mas isso parece terrivelmente ineficiente.

Agradecemos antecipadamente a leitura / resposta!

questionAnswers(1)

yourAnswerToTheQuestion