Имя файла паркета в Azure Data Factory - PullRequest
0 голосов
/ 19 апреля 2020

Я копирую данные из Oracle БД в ADLS, используя операцию копирования Azure Фабрика данных. Результатом этой копии является файл партера, который содержит те же данные таблицы, которые я скопировал, но имя этого результирующего файла паркета выглядит следующим образом:

data_32ecaf24-00fd-42d4-9bcb-8bb6780ae152_7742c97c-4a89-4133-93ea-af2eb7b7083f.parquet

И мне нужно, чтобы это имя сохранялось как это:

TableName-Timestamp.parquet

Как это сделать с помощью Azure Data Factory?

Другой вопрос: есть ли способ добавить иерархию при записи этого файла? Например, я использую один и тот же конвейер для записи нескольких таблиц и хочу создать новую папку для каждой таблицы. Я могу сделать это, если я создаю новый набор данных для каждой таблицы для записи, но я хочу знать, есть ли способ сделать это автоматически (с использованием содержимого Dynami c).

Заранее спасибо.

1 Ответ

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

Вы можете установить параметр конвейера для его достижения.

Вот пример, который я пытался скопировать из базы данных Azure SQL в ADLS, он также должен работать для oracle в ADLS.

Установить параметр конвейера: установить имя таблицы Azure SQL / Oracle, которое необходимо скопировать в ADLS:

enter image description here

Исходный набор данных:

Добавление динамического c содержимого для задания имени таблицы:

enter image description here

Источник:

Добавить динамический c содержимое: установить имя таблицы с параметром конвейера: enter image description here

Набор данных Sink:

Добавить динамическое c содержимое для установки имени файла паркета:

enter image description here

Раковина:

Добавление содержимого Dynami c для установки имени файла Parquet с параметром конвейера:

Формат: TableName-Timestamp.parquet:

@concat(pipeline().parameters.tablename,'-',utcnow())

Затем выполните конвейер, и вы получит файл Parquet как TableName-Timestamp.parquet:

О вашем аноте ее вопрос:

Вы можете добавить динамическое c имя папки набора содержимого для каждой таблицы, просто следуйте этому:

enter image description here

Для Например, если мы скопируем таблицу «test», то получим результат:

container/test/test-2020-04-20T02:01:36.3679489Z.parquet

Надеюсь, это поможет.

...