Поделиться через


Настройка Snowflake в действии копирования

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

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

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

Общие

Ознакомьтесь с руководством по общим параметрам, чтобы настроить вкладку "Общие параметры".

Исходный код

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

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

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

  • Тип хранилища данных: выберите "Внешний".
  • Подключение. Выберите подключение Snowflake из списка подключений. Если подключение не существует, создайте новое подключение Snowflake, нажав кнопку "Создать".
  • База данных: база данных по умолчанию, используемая после подключения. Следует указать существующую базу данных, для которой указанная роль имеет привилегии.
  • Используйте запрос: в качестве запроса можно выбрать таблицу или запрос. В следующем списке описана конфигурация каждого параметра.
    • Таблица. Выберите таблицу в базе данных из раскрывающегося списка. Или установите флажок "Изменить", чтобы ввести имя таблицы вручную.
    • Запрос. Укажите SQL-запрос для чтения данных из Snowflake. Если имена схемы, таблицы и столбцов содержат строчные буквы, заключайте идентификатор объекта в кавычки, например select * from "schema"."myTable".

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

  • Интеграция хранилища. Укажите имя интеграции хранилища, созданной в Snowflake. Инструкции по использованию интеграции хранилища см. в разделе "Настройка интеграции хранилища Snowflake".

  • Дополнительные параметры копирования Snowflake: укажите дополнительные параметры копирования Snowflake, которые будут использоваться в инструкции Snowflake COPY для загрузки данных. Дополнительные параметры копирования предоставляются в виде словаря пар "ключ-значение". Примеры: MAX_FILE_SIZE, OVERWRITE. Дополнительные сведения см. в разделе Параметры копирования в Snowflake.

    Снимок экрана: дополнительные параметры копирования snowflake для источника.

  • Дополнительные параметры формата Snowflake: укажите дополнительные параметры формата Snowflake, которые будут использоваться в инструкции Snowflake COPY для загрузки данных. Дополнительные параметры формата файла, предоставляемые команде COPY, предоставляются в виде словаря пар "ключ-значение". Примеры: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Дополнительные сведения см. в разделе Параметры типа формата в Snowflake.

    Снимок экрана: дополнительные параметры форматирования snowflake для источника.

Прямое копирование из Snowflake

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

  • При указании интеграции хранилища в источнике: целевое хранилище данных — это Хранилище BLOB-объектов Azure, которые вы указали во внешней стадии в Snowflake. Перед копированием данных необходимо выполнить следующие действия:

    1. Создайте подключение Хранилище BLOB-объектов Azure для целевого Хранилище BLOB-объектов Azure с любыми поддерживаемыми типами проверки подлинности.

    2. Предоставьте по крайней мере роль участника данных BLOB-объектов хранилища субъекту-службе Snowflake в целевом Хранилище BLOB-объектов Azure контроль доступа (IAM).

  • Если интеграция хранилища не указана в источнике:

    Целевое подключение — это хранилище BLOB-объектов Azure с проверкой подлинности подписанного URL-адреса. Если вы хотите напрямую скопировать данные в Azure Data Lake Storage 2-го поколения в следующем поддерживаемом формате, можно создать подключение Хранилище BLOB-объектов Azure с проверкой подлинности SAS для Azure Data Lake Storage 2-го поколения учетная запись, чтобы избежать использования поэтапной копии из Snowflake.

  • Формат данных назначения — Parquet, DelimitedText или JSON со следующими конфигурациями:

    • Для формата Parquet кодек сжатия — None, Snappyили LZO.
    • Для формата Разделителя :
      • Разделитель строк — \r\n или любой одинарный символ.
      • Тип сжатия может быть None, gzip, bzip2 или deflate.
      • Кодировка остается по умолчанию или имеет значение UTF-8.
      • Символ кавычки — двойная кавычка, одинарный или нет символа кавычки.
    • Для формата JSON прямое копирование поддерживается только в том случае, если таблица источника Snowflake или результат запроса содержат только один столбец, и для данных этого столбца задан тип VARIANT, OBJECT или ARRAY.
      • Тип сжатия может быть None, gzip, bzip2 или deflate.
      • Кодировка остается по умолчанию или имеет значение UTF-8.
      • Шаблон файла в назначении действия копирования остается по умолчанию или имеет значение Set of objects.
  • В источнике действия копирования дополнительные столбцы не указаны.

  • Сопоставление столбцов не указано.

Промежуточное копирование из Snowflake

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

Чтобы использовать эту функцию, создайте подключение к хранилищу BLOB-объектов Azure, которое ссылается на учетную запись хранения Azure в качестве промежуточной промежуточной. Затем перейдите на вкладку "Параметры" , чтобы настроить промежуточные параметры. Чтобы настроить промежуточное подключение Хранилище BLOB-объектов Azure, необходимо выбрать внешний.

  • При указании интеграции хранилища в источнике промежуточный Хранилище BLOB-объектов Azure должен быть тем, который вы указали во внешней стадии в Snowflake. Убедитесь, что вы создаете Хранилище BLOB-объектов Azure подключение для него с любой поддерживаемой проверкой подлинности и предоставляете по крайней мере роль участника данных BLOB-объектов хранилища субъекту-службе Snowflake в промежуточном Хранилище BLOB-объектов Azure контроль доступа (IAM). Путь к хранилищу в промежуточных параметрах на вкладке "Параметры" является обязательным.

  • Если интеграция хранилища не указана в источнике, промежуточное подключение Хранилище BLOB-объектов Azure должно использовать проверку подлинности подписи общего доступа, как требуется команде Snowflake COPY. Убедитесь, что вы предоставляете надлежащее разрешение на доступ к Snowflake в промежуточном Хранилище BLOB-объектов Azure. Дополнительные сведения об этом см. в этой статье.

Назначение

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

Снимок экрана: вкладка

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

  • Тип хранилища данных: выберите "Внешний".
  • Подключение. Выберите подключение Snowflake из списка подключений. Если подключение не существует, создайте новое подключение Snowflake, нажав кнопку "Создать".
  • База данных: база данных по умолчанию, используемая после подключения. Следует указать существующую базу данных, для которой указанная роль имеет привилегии.
  • Таблица. Выберите таблицу в базе данных из раскрывающегося списка. Или установите флажок "Изменить", чтобы ввести имя таблицы вручную.

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

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

  • Интеграция хранилища. Укажите имя интеграции хранилища, созданной в Snowflake. Инструкции по использованию интеграции хранилища см. в разделе "Настройка интеграции хранилища Snowflake".

  • Дополнительные параметры копирования Snowflake: укажите дополнительные параметры копирования Snowflake, которые будут использоваться в инструкции Snowflake COPY для загрузки данных. Дополнительные параметры копирования предоставляются в виде словаря пар "ключ-значение". Примеры: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Дополнительные сведения см. в разделе Параметры копирования в Snowflake.

    Снимок экрана: дополнительные параметры копирования snowflake для назначения.

  • Дополнительные параметры формата Snowflake: укажите дополнительные параметры формата Snowflake, которые будут использоваться в инструкции Snowflake COPY для загрузки данных. Дополнительные параметры формата файла, предоставляемые команде COPY, предоставляются в виде словаря пар "ключ-значение". Примеры: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Дополнительные сведения см. в разделе Параметры типа формата в Snowflake.

    Снимок экрана: дополнительные параметры форматирования snowflake для назначения.

Прямое копирование в Snowflake

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

  • При указании интеграции хранилища в назначении:

    Исходное хранилище данных — это Хранилище BLOB-объектов Azure, которые вы указали на внешнем этапе в Snowflake. Перед копированием данных необходимо выполнить следующие действия:

    1. Создайте подключение Хранилище BLOB-объектов Azure для исходного Хранилище BLOB-объектов Azure с любыми поддерживаемыми типами проверки подлинности.

    2. Предоставьте по крайней мере роль чтения данных BLOB-объектов хранилища субъекту-службе Snowflake в исходном Хранилище BLOB-объектов Azure контроль доступа (IAM).

  • Если интеграция хранилища не указана в назначении:

    Исходное подключение — это хранилище BLOB-объектов Azure с проверкой подлинности подписанного URL-адреса. Если вы хотите напрямую скопировать данные из Azure Data Lake Storage 2-го поколения в следующем поддерживаемом формате, вы можете создать Хранилище BLOB-объектов Azure подключение с проверкой подлинности SAS для вашей учетной записи Azure Data Lake Storage 2-го поколения учетной записи, чтобы избежать использования поэтапной копии в Snowflake.

  • Исходный формат данных — Parquet, DelimitedText или JSON со следующими конфигурациями:

    • Для формата Parquet кодек сжатия — None или Snappy.

    • Для формата Разделителя :

      • Разделитель строк — \r\n или любой одинарный символ. Если разделитель строк не является "\r\n", первая строка в качестве заголовка не выбрана, а число строк пропуска не указано.
      • Тип сжатия может быть None, gzip, bzip2 или deflate.
      • Кодировка остается по умолчанию или имеет значение UTF-8. "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "BIG5", "EUC-JP", "EUC-KR", "GB18030", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", ISO-8859-2", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8-8"8859-9", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-12555".
      • Символ кавычки — двойная кавычка, одинарный или нет символа кавычки.
    • В формате JSON прямая копия поддерживает только тот случай, когда целевая таблица Snowflake имеет только один столбец, а тип данных этого столбца — VARIANT, OBJECT или ARRAY.

      • Тип сжатия может быть None, gzip, bzip2 или deflate.
      • Кодировка остается по умолчанию или имеет значение UTF-8.
      • Сопоставление столбцов не указано.
  • В источнике действия Copy:

    • Дополнительные столбцы не указаны.
    • Если источник является папкой, выбран рекурсивно .
    • Префикс, время начала (UTC) и время окончания (UTC) в фильтре после последнего изменения и включение обнаружения секций не указаны.

Промежуточное копирование в Snowflake

Если исходное хранилище данных или формат не совместимы с командой Snowflake COPY, как упоминалось в последнем разделе, включите встроенную поэтапное копирование с помощью промежуточного экземпляра хранилища BLOB-объектов Azure. Функция поэтапного копирования также обеспечивает более высокую пропускную способность. Служба автоматически преобразует данные, чтобы они соответствовали требованиям к формату данных Snowflake. Затем она вызывает команду КОПИРОВАТЬ для загрузки данных в Snowflake. Наконец, она очищает ваши временные данные из хранилища BLOB-объектов.

Чтобы использовать эту функцию, создайте подключение к хранилищу BLOB-объектов Azure, которое ссылается на учетную запись хранения Azure в качестве промежуточной промежуточной. Затем перейдите на вкладку "Параметры" , чтобы настроить промежуточные параметры. Чтобы настроить промежуточное подключение Хранилище BLOB-объектов Azure, необходимо выбрать внешний.

  • При указании интеграции хранилища в целевом расположении промежуточный Хранилище BLOB-объектов Azure должен быть тем, который вы указали во внешней стадии в Snowflake. Убедитесь, что вы создаете Хранилище BLOB-объектов Azure подключение для него с любой поддерживаемой проверкой подлинности и предоставляете по крайней мере роль чтения данных BLOB-объектов хранилища субъекту-службе Snowflake в промежуточном Хранилище BLOB-объектов Azure контроль доступа (IAM). Путь к хранилищу в промежуточных параметрах на вкладке "Параметры" является обязательным.

  • Если интеграция хранилища не указана в назначении, промежуточное подключение Хранилище BLOB-объектов Azure необходимо использовать проверку подлинности подписи общего доступа, как это требуется команде Snowflake COPY.

Сопоставление

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

Настройки

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

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

В следующих таблицах содержатся дополнительные сведения о действии копирования в Snowflake.

Исходный код

Имя Описание Значение Обязательное поле Свойство скрипта JSON
Тип хранилища данных Тип хранилища данных. Внешний Да /
Соединение Подключение к исходному хранилищу данных. < подключение > Да подключение
База данных База данных, используемая в качестве источника. < база данных > Да database
Использование запроса Способ чтения данных из Snowflake. •Стол
•Запрос
No •стол
•запрос
Таблицу Имя таблицы для чтения данных. < имя исходной таблицы> Да схема
table
Запрос SQL-запрос для чтения данных из Snowflake. < имя исходного запроса> Да query
Интеграция хранилища Укажите имя интеграции хранилища, созданной в Snowflake. Инструкции по использованию интеграции хранилища см. в разделе "Настройка интеграции хранилища Snowflake". < интеграция хранилища > No storageIntegration
Дополнительные параметры копирования Snowflake Дополнительные параметры копирования, предоставляемые в виде словаря для пар "ключ-значение". Примеры: MAX_FILE_SIZE, OVERWRITE. Дополнительные сведения см. в разделе Параметры копирования в Snowflake. • Имя
•Ценность
No additionalCopyOptions
Дополнительные параметры формата Snowflake Дополнительные параметры формата файла, предоставляемые для команды КОПИРОВАТЬ в виде словаря для пар "ключ-значение". Примеры: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Дополнительные сведения см. в разделе Параметры типа формата в Snowflake. • Имя
•Ценность
No additionalFormatOptions

Назначение

Примечание.

Хотя экземпляры Snowflake, отличные от Azure Snowflake, поддерживаются только экземпляры Azure Snowflake в настоящее время для назначений Snowflake (также называются приемниками в Фабрика данных Azure).

Имя Описание Значение Обязательное поле Свойство скрипта JSON
Тип хранилища данных Тип хранилища данных. Внешний Да /
Соединение Подключение к целевому хранилищу данных. < подключение > Да подключение
База данных База данных, используемая в качестве назначения. < база данных> Да /
Таблицу Целевая таблица данных. < имя целевой таблицы> Да •схема
•стол
Скрипт предварительного копирования SQL-запрос действие Copy для запуска перед записью данных в Snowflake в каждом запуске. Это свойство используется для очистки предварительно загруженных данных. < скрипт предварительного копирования> Нет preCopyScript
Интеграция хранилища Укажите имя интеграции хранилища, созданной в Snowflake. Инструкции по использованию интеграции хранилища см. в разделе "Настройка интеграции хранилища Snowflake". < интеграция хранилища > No storageIntegration
Дополнительные параметры копирования Snowflake Дополнительные параметры копирования, предоставляемые в виде словаря для пар "ключ-значение". Примеры: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Дополнительные сведения см. в разделе Параметры копирования в Snowflake. • Имя
•Ценность
No additionalCopyOptions
Дополнительные параметры формата Snowflake Дополнительные параметры формата файла, предоставляемые для команды КОПИРОВАТЬ, предоставляются в виде словаря для пар "ключ-значение". Примеры: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Дополнительные сведения см. в разделе Параметры типа формата в Snowflake. • Имя
•Ценность
No additionalFormatOptions