Настройте Azure Databricks в активности копирования

В этой статье описывается, как использовать действие копирования в конвейере для переноса данных в и из Azure Databricks.

Предпосылки

Чтобы использовать этот соединитель Azure Databricks, необходимо настроить кластер в Azure Databricks.

  • Чтобы скопировать данные в Azure Databricks, действие копирования вызывает кластер Azure Databricks для чтения данных из хранилища Azure, который является исходным источником или промежуточной областью, в которую служба сначала записывает исходные данные с помощью встроенной поэтапной копии. Узнайте больше об Azure Databricks в качестве назначения.
  • Аналогично, для копирования данных из Azure Databricks операция копирования инициирует кластер Azure Databricks для записи данных в Azure Storage, который является либо конечной точкой назначения, либо промежуточной областью, откуда сервис продолжает записывать данные в финальное местоназначение через встроенную функцию поэтапной выгрузки. Узнайте больше о Azure Databricks как источнике.

Кластер Databricks должен иметь доступ к учетной записи хранилища Azure Blob или Azure Data Lake Storage 2-го поколения, как к контейнеру хранилища или файловой системе, используемой для исходного, целевого или промежуточного размещения, так и к контейнеру или файловой системе, в которую вы хотите записать таблицы Azure Databricks.

Если при выполнении действия копирования оказывается, что работа настроенного в нем кластера завершена, служба автоматически его запускает. Если вы создаете конвейер с помощью пользовательского интерфейса разработки, для таких операций, как предварительный просмотр данных, вам понадобится уже работающий кластер. Служба не запускает кластер от вашего имени.

Указание конфигурации кластера

  1. В раскрывающемся списке Режим кластера выберите Стандартный.

  2. В раскрывающемся списке Версия Azure Databricks Runtime выберите версию среды выполнения Databricks.

  3. Включите Автоматическую оптимизацию, добавив следующие свойства в конфигурацию Spark:

    spark.databricks.delta.optimizeWrite.enabled true
    spark.databricks.delta.autoCompact.enabled true
    
  4. Настройте кластер в соответствии с вашими потребностями в интеграции и масштабировании.

Подробные сведения о настройке кластера см. в статье Настройка кластеров.

Поддерживаемая конфигурация

Для настройки каждой вкладки в действии копирования перейдите к следующим разделам соответственно.

Общая информация

Для настройки вкладки "Общие " перейдите к разделу "Общие".

Исходный материал

Следующие свойства поддерживаются для Azure Databricks на вкладке "Источник " действия копирования.

Снимок экрана: вкладка источника и список свойств.

Требуются следующие свойства:

  • Подключение. Выберите подключение Azure Databricks из списка подключений. Если подключение не существует, создайте новое подключение Azure Databricks.

  • Используйте запрос: выберите таблицу или запрос.

    • Если выбрать таблицу :

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

      • База данных: выберите базу данных из раскрывающегося списка или введите базу данных.

      • таблица: укажите имя таблицы для чтения данных. Выберите таблицу из раскрывающегося списка или введите имя таблицы.

    • Если выбрать запрос:

      • Запрос. Укажите SQL-запрос для чтения данных. Для элемента управления переходом по времени используйте следующий шаблон:
        • SELECT * FROM events TIMESTAMP AS OF timestamp_expression
        • SELECT * FROM events VERSION AS OF version

      Снимок экрана: запрос.

В разделе "Дополнительно" можно указать следующие поля:

  • Формат даты: преобразование типа даты в строку с использованием заданного формата даты. В пользовательских форматах даты применяются форматы следующих шаблонов даты и времени. Если он не указан, используется значение по умолчанию, yyyy-MM-dd.

  • Формат отметки времени: преобразование типа отметки времени в строку в соответствии с форматом отметки времени. В пользовательских форматах даты применяются форматы следующих шаблонов даты и времени. Если он не указан, используется значение по умолчанию, yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX].

Прямая копия из Azure Databricks

Если целевое хранилище данных и формат соответствуют критериям, описанным в этом разделе, можно использовать действие копирования для непосредственного копирования из Azure Databricks в место назначения. Служба проверяет параметры и не выполняет действие Copy, если не выполнены условия, описанные ниже.

  • Целевое подключениеAzure Blob Storage или Azure Data Lake Storage Gen2. Данные для входа учетной записи должны быть предварительно настроены в конфигурации кластера Azure Databricks. Дополнительные сведения см. в разделе Предварительные требования.

  • Формат данных назначенияParquet, DelimitedText или Avro со следующими конфигурациями и указывает на папку вместо файла.

    • Для формата Parquet кодек сжатия — None, snappy или gzip.
    • Для формата Текст с разделителями:
      • rowDelimiter — любой одиночный символ.
      • compression может быть None, bzip2, gzip.
      • encodingName UTF-7 не поддерживается.
    • Для формата Avro кодек сжатия равен None, deflate или snappy.
  • При копировании данных в DelimitedText в конечный объект действия копирования, fileExtension должно иметь значение ".csv".

  • В сопоставлении действия Copy должно быть отключено преобразование типов.

Этапное копирование из Azure Databricks

Если хранилище данных или формат приемника не соответствуют критериям для прямого копирования, описанным в предыдущем разделе, включите встроенную функцию промежуточного копирования с задействованием промежуточного экземпляра хранилища Azure. Функция поэтапного копирования также обеспечивает более высокую пропускную способность. Служба экспортирует данные из Azure Databricks в промежуточное хранилище, затем копирует их в конечное хранилище и, наконец, удаляет временные данные из промежуточного хранилища.

Чтобы использовать эту функцию, создайте хранилище BLOB-объектов Azure или хранилище Azure Data Lake второго поколения, которое будет относиться к учетной записи хранения в качестве промежуточного этапа. Затем укажите свойства enableStaging и stagingSettings в действии Copy.

Замечание

Данные для входа учетной записи промежуточного хранения должны быть предварительно настроены в конфигурации кластера Azure Databricks. Дополнительные сведения см. в разделе Предварительные требования.

Место назначения

Следующие свойства поддерживаются для Azure Databricks на вкладке "Назначение " действия копирования.

Снимок экрана: вкладка назначения.

Требуются следующие свойства:

  • Подключение. Выберите подключение Azure Databricks из списка подключений. Если подключение не существует, создайте новое подключение Azure Databricks.

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

  • База данных: выберите базу данных из раскрывающегося списка или введите базу данных.

  • Таблица: укажите имя таблицы для записи данных. Выберите таблицу из раскрывающегося списка или введите имя таблицы.

В разделе "Дополнительно" можно указать следующие поля:

  • Скрипт предварительного копирования: укажите скрипт для действия копирования, который необходимо выполнить перед записью данных в целевую таблицу в каждом запуске. Это свойство можно использовать для очистки предварительно загруженных данных.

  • Формат отметки времени: преобразование типа отметки времени в строку в соответствии с форматом отметки времени. В пользовательских форматах даты применяются форматы следующих шаблонов даты и времени. Если он не указан, используется значение по умолчанию, yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX].

Прямая копия в Azure Databricks

Если исходное хранилище данных и формат соответствуют критериям, описанным в этом разделе, можно использовать действие копирования для непосредственного копирования из источника в Azure Databricks. Служба проверяет параметры и не выполняет действие Copy, если не выполнены условия, описанные ниже.

  • Исходное подключение — это хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения. Данные для входа учетной записи должны быть предварительно настроены в конфигурации кластера Azure Databricks. Дополнительные сведения см. в разделе Предварительные требования.

  • Исходный формат данныхParquet, DelimitedText или Avro со следующими конфигурациями и указывает на папку вместо файла.

    • Для формата Parquet кодек сжатия — None, snappy или gzip.
    • Для формата Текст с разделителями:
      • rowDelimiter устанавливается по умолчанию, или это может быть любой одиночный символ.
      • compression может быть None, bzip2, gzip.
      • encodingName UTF-7 не поддерживается.
    • Для формата Avro кодек сжатия равен None, deflate или snappy.
  • В источнике действия Copy:

    • wildcardFileName содержит только подстановочный знак *, но не ?, и wildcardFolderName не указано.
    • Параметры prefix, modifiedDateTimeStart, modifiedDateTimeEnd и enablePartitionDiscovery не указываются.
  • В сопоставлении действия Copy должно быть отключено преобразование типов.

Поэтапное копирование в Azure Databricks

Если хранилище данных или формат источника не соответствуют критериям для прямого копирования, описанным в предыдущем разделе, включите встроенную функцию промежуточного копирования с задействованием промежуточного экземпляра хранилища Azure. Функция поэтапного копирования также обеспечивает более высокую пропускную способность. Служба автоматически преобразует данные в соответствии с требованиями к формату данных в промежуточное хранилище, а затем загружает данные в Azure Databricks. Наконец, производится очистка временных данных из хранилища.

Чтобы использовать эту функцию, создайте хранилище BLOB-объектов Azure или хранилище Azure Data Lake второго поколения, которое будет относиться к учетной записи хранения в качестве промежуточного этапа. Затем укажите свойства enableStaging и stagingSettings в действии Copy.

Замечание

Данные для входа учетной записи промежуточного хранения должны быть предварительно настроены в конфигурации кластера Azure Databricks. Дополнительные сведения см. в разделе Предварительные требования.

Картирование

Чтобы настроить конфигурацию вкладки "Сопоставление ", перейдите к разделу "Настройка сопоставлений" на вкладке сопоставления.

Настройки

Для настройки вкладки перейдите к Настройка других параметров на вкладке "Параметры".

Сводка таблицы

В следующих таблицах представлена подробная информация о процессе копирования в Azure Databricks.

Исходная информация

Имя Описание Ценность Обязательно Свойство скрипта JSON
Подключение Ваше подключение к исходному хранилищу данных. < ваше подключение Azure Databricks > Да подключение
Использовать запрос Способ чтения данных. Примените таблицу для чтения данных из указанной таблицы или примените запрос для чтения данных с помощью запросов. таблицы
Запрос
нет /
Для таблицы
Каталог Каталог служит контейнером самого высокого уровня в платформе каталога Unity, он позволяет упорядочивать данные в базах данных и таблицах. < ваш каталог > Нет (выберите каталог по умолчанию, если он имеет значение NULL) каталог
База данных Ваша база данных, которую вы используете в качестве источника. < ваша база данных > нет база данных
таблица Таблица исходных данных для чтения данных. < имя вашей таблицы > нет таблица
Запрос
Запрос Укажите запрос SQL для чтения данных. Для элемента управления переходом по времени используйте следующий шаблон:
- SELECT * FROM events TIMESTAMP AS OF timestamp_expression
- SELECT * FROM events VERSION AS OF version
< ваш запрос > нет запрос
Формат даты Строковый тип приводится к типу даты с использованием этого формата даты. В пользовательских форматах даты применяются форматы следующих шаблонов даты и времени. Если он не указан, используется значение по умолчанию, yyyy-MM-dd. < ваш формат даты > нет формат даты
Формат метки времени Строковый тип приводится к типу метки времени с использованием этого формата метки времени. В пользовательских форматах даты применяются форматы следующих шаблонов даты и времени. Если он не указан, используется значение по умолчанию, yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. < ваш формат метки времени > нет формат временной метки

Сведения о назначении

Имя Описание Ценность Обязательно Свойство скрипта JSON
Подключение Подключение к целевому хранилищу данных. < ваше подключение Azure Databricks > Да подключение
Каталог Каталог служит контейнером самого высокого уровня в платформе каталога Unity, он позволяет упорядочивать данные в базах данных и таблицах. < ваш каталог > Нет (выберите каталог по умолчанию, если он имеет значение NULL) каталог
База данных Ваша база данных, используемая как место назначения. < ваша база данных > Да база данных
таблица Целевая таблица данных для записи данных. < имя вашей таблицы > Да таблица
скрипт предварительного копирования Укажите сценарий для действия копирования, который необходимо выполнить перед записью данных в целевую таблицу в каждом запуске. Это свойство можно использовать для очистки предварительно загруженных данных. < предварительный скрипт копирования> нет PreCopyScript
Формат метки времени Строковый тип приводится к типу метки времени с использованием этого формата метки времени. В пользовательских форматах даты применяются форматы следующих шаблонов даты и времени. Если он не указан, используется значение по умолчанию, yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. < ваш формат метки времени > нет формат временной метки