Как получить схему локальной таблицы sql с помощью пользовательского действия Azure вместе с данными?

Я создал действие .Net, которое имеет действие копирования (которое копирует данные из локального хранилища в хранилище озера данных) и действие U-SQL (которое обрабатывает данные и сохраняет результат в хранилище озера данных).

Но для обработки данных с помощью U-SQL необходима схема таблицы, которую также необходимо скопировать из локальной базы данных.

Запрос U-SQL:

      DECLARE @storagePath string = @"E:\";
      DECLARE @inputFileSetName string = @"inputfile.tsv"; 
      DECLARE @outputFileName string = @"outputfile.tsv";
      DECLARE @input string = String.Concat(@storagePath, 
      @inputFileSetName);
      DECLARE @output string= string.Concat(@storagePath, @outputFileName);

      @searchlog =
       EXTRACT <Schema for the table>
       FROM @input
       USING Extractors.Tsv();

      OUTPUT @searchlog 
       TO @output
       USING Outputters.Tsv();

Мне нужно получить схему таблицы вместе с данными с помощью настраиваемого действия Azure ADF?


person Arron    schedule 21.07.2017    source источник
comment
U-SQL поддерживает схему при чтении, но схема должна предоставляться во время разработки, а не во время выполнения, т.е. U-SQL не поддерживает динамический U-SQL в настоящее время. В другом вашем вопросе я привел примеры динамического создания USQL (что немного другое). Может быть, если вы сделаете шаг назад и опишите, что вы пытаетесь сделать, не упоминая технологии (например, ADF, активность .net, U-SQL и т. Д.), Кто-то сможет вам помочь.   -  person wBob    schedule 21.07.2017


Ответы (1)


Каких разных схем вы можете ожидать? Как Боб упоминает в своем комментарии, в настоящий момент мы не поддерживаем динамическое обнаружение схем в U-SQL.

Кроме того, что вы планируете делать с набором строк схемы позже в сценарии, если вы не знаете, что с ним делать.

Если вы просто хотите скопировать файл, не понимая схемы (как в приведенном выше примере), я бы предложил использовать API файловой системы или ADLCopy (который запускает вариант этот код U-SQL).

person Michael Rys    schedule 18.08.2017