Как загрузить несколько файлов с перекрывающимися, но динамическими c столбцами схемы, используя azure операцию копирования? - PullRequest
1 голос
/ 30 марта 2020

У меня около 7-8 файлов с разными, но перекрывающимися схемами. Однако я хочу, чтобы схема цели (azure таблица синапсов) была схемой наибольшего числа столбцов.

мои файлы имеют - 61 столбец, 93 столбца и 96 столбцов, так что моя таблица назначения будет иметь 96 столбцов

, но при загрузке 61 таблицы столбцов я хочу, чтобы остальные 30 строк были загружены как NULL. Я использую поток данных для рекурсивной загрузки с использованием опции * .csv.

Может кто-нибудь сообщить мне, как этого добиться?

мои источники - это csv-файлы в azure BLOB, и моя цель - одна таблица со схемой из 96 столбцов.

(еще один улов: только у одного из файлов есть два столбца с разными именами, но значения одинаковы, я не знаю, как отобразить это, иначе это будет выглядеть как еще два новых столбца, и в итоге у нас будет 98 столбцов)

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

Пожалуйста, дайте мне знать. Заранее спасибо

1 Ответ

1 голос
/ 01 апреля 2020

Я пытаюсь выполнить ваше требование с помощью операции копирования в ADF.

Подготовка к тестовым данным:

три файла в контейнере для хранения BLOB-объектов.

enter image description here

enter image description here

enter image description here

Настройка столбца в SQL DB:

enter image description here

Затем используйте действие «Получить метаданные» и «Для каждого действия в АПД»:

enter image description here

Конфигурация для операции получения метаданных:

enter image description here

Конфигурация для каждой операции:

enter image description here

Внутри Для каждого занятия используйте копирование. Установите хранилище BLOB-объектов в качестве исходного набора данных и sql дБ (я использую sql дБ для тестирования, здесь можно использовать синапс дБ) в качестве набора данных приемника.

enter image description here

Результат теста в SQL БД:

enter image description here

Кроме того, если честно, я не нашел способа сопоставить just one of the files has two columns named different but values are same , Я считаю, что это не поддерживается ADF до сих пор. Поскольку вы точно знаете, какой столбец соответствует этой ситуации, вы можете разобраться с ними, используя код позже (что, я думаю, не так уж сложно)

...