Можно ли получить ограниченный набор данных из файла CSV в Azure Data Lake U-SQL? - PullRequest
0 голосов
/ 24 мая 2018

Можно ли отфильтровать данные, загруженные из файла CSV, с помощью EXTRACT из U-SQL?Я знаю, что мы можем ограничить данные, используя условие where в select после EXTRACT.Но я хочу отфильтровать его во время использования 'EXTRACT'

У меня огромный файл CSV.Я не хочу загружать все это в сам первый набор данных.

например, у меня есть много автоматических утверждений в наборе данных.Я хочу отфильтровать его, пока я «извлекаю» его, основываясь на дате в наборе данных.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Да, вы можете фильтровать данные, загруженные из CSV-файла.Вы можете сделать что-то вроде этого:

 @log =
     EXTRACT UserId          int,
             StartDate       DateTime,
             Location        string,
              ....
              ....
             Url             string
     FROM "/Samples/Data/Log.csv"
     USING Extractors.csv();

 @result =
     SELECT Location, Url, StartDate
     FROM @log
     WHERE StartDate >= DateTime.Parse("2017/01/6") AND StartDate <= DateTime.Parse("2018/06/08");

 OUTPUT @result   
 TO "/output/cleanlog.csv"
 USING Outputters.Csv();
0 голосов
/ 24 мая 2018

Ответ - да.Однако в экстракторы можно вставить только обрезку колонны.Так как семантика не назначена данным до их извлечения с помощью экстрактора Csv, фильтры будут применены к сгенерированному набору строк.Есть много примеров, которые показывают вам, как это сделать. Здесь - пример одного из практических занятий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...