U-SQL: как бороться с изменениями схемы? - PullRequest
0 голосов
/ 18 октября 2018

Мой оригинальный скрипт выглядит примерно так:

@input = EXTRACT A string, B string, C string, 
         year string, month string, day string, filename string
    FROM @folder + "/{year}/{month}/{day}/{filename}.csv"
    USING Extractors.Csv(skipFirstNRows : 1);

@input = SELECT A, B, C FROM @input;

OUTPUT @input
    TO @parent + "/testtest.csv"
    USING Outputters.Csv(outputHeader : true);

Это работает нормально, но иногда схема (столбцы) исходного файла может измениться.Столбцы могут стать A, B, C, D или A, B, E.

Я знаю, что Visual Studio может генерировать сценарии EXTRACT.Есть ли способ заставить U-SQL (или Visual Studio) справиться с этим и сгенерировать сценарий извлечения динамически и автоматически?

1 Ответ

0 голосов
/ 22 октября 2018

Csv экстрактор не допускает изменения схемы.Если вы измените схему, вам потребуется изменить код u-sql!

Решение - создать собственный экстрактор, чтобы выполнить свою работу, или вы можете выбрать гибкий экстрактор, который допускает гибкую схему столбцов.

https://blogs.msdn.microsoft.com/mrys/2016/08/15/how-to-deal-with-files-containing-rows-with-different-column-counts-in-u-sql-introducing-a-flexible-schema-extractor/

...