Настройка SAP HANA в копировальной операции

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

Необходимые условия

Чтобы использовать соединитель SAP HANA, необходимо выполнить следующие действия.

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

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

Общие сведения

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

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

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

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

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

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

    • Таблица. Выберите таблицу в базе данных из раскрывающегося списка. Или нажмите клавишу ВВОД вручную , чтобы ввести имя схемы и таблицы вручную.
    • Запрос. Укажите SQL-запрос для чтения данных из экземпляра SAP HANA.

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

  • Параметр секционирования. Указывает параметры секционирования данных, используемые для загрузки данных из SAP HANA. Когда включен параметр разделения (не None), степень параллелизма для одновременной загрузки данных из SAP HANA контролируется параметром Степень параллелизма копирования в процессе копирования. Допустимые значения:

    • Нет (по умолчанию): нет секционирования.
    • Физические секции таблицы: служба автоматически обнаруживает тип физической секции указанной таблицы SAP HANA и выбирает соответствующую стратегию секционирования. Дополнительные сведения см. в разделе "Параллельная копия" из раздела SAP HANA . Этот параметр недоступен при использовании запроса для чтения таблицы.
    • Динамический диапазон: При использовании запроса для извлечения исходных данных, добавьте ?AdfHanaDynamicRangePartitionCondition в условие WHERE. Дополнительные сведения см. в разделе "Параллельная копия" из раздела SAP HANA .
      • Имя столбца секции: укажите имя исходного столбца, используемого секцией для параллельного копирования. Если значение не указано, то индекс или первичный ключ таблицы определяется автоматически и используется в качестве столбца секционирования.
  • Размер пакета (КБ): указывает размер сетевого пакета в килобайтах для разделения данных на несколько блоков. При наличии большого объема данных для копирования увеличение размера пакета может увеличить скорость чтения из SAP HANA в большинстве случаев. Значение по умолчанию — 2048 (2 МБ).

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

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

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

Settings

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

Параллельное копирование из SAP HANA

Соединитель SAP HANA предоставляет встроенную функцию секционирования данных для параллельного копирования из SAP HANA. Параметры секционирования данных можно найти на вкладке Источник в действии копирования.

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

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

Сценарий Рекомендуемая конфигурация
Полная загрузка из большой таблицы. Параметр секционирования. Физические секции таблицы.

Во время выполнения служба автоматически обнаруживает тип физической секции указанной таблицы SAP HANA и выбирает соответствующую стратегию секционирования:
- Разделение на разделы по диапазону: получите столбец раздела и диапазоны разделов, определенные для таблицы, а затем скопируйте данные по этим диапазонам.
- Хэш-секционирование: используйте хэш-секционный ключ в качестве столбца секции, затем разделите и скопируйте данные на основе диапазонов, вычисленных службой.
- Циклическое секционирование или отсутствие секционирования: используйте первичный ключ в качестве столбца для секционирования, затем разбейте и скопируйте данные по диапазонам, рассчитанным службой.
Загрузите большой объем данных, используя пользовательский запрос. Опция раздела: Динамическое разделение диапазона.
Запрос: SELECT * FROM <TABLENAME> WHERE (?AdfHanaDynamicRangePartitionCondition) AND <your_additional_where_clause>>.
Столбец разбиения: укажите столбец для динамического разбиения по диапазону.

Во время выполнения служба сначала вычисляет диапазоны значений указанного столбца секционирования, равномерно распределяя строки в нескольких контейнерах в соответствии с количеством отдельных значений столбцов секции и параметром параллельного копирования, а затем заменяет ?AdfHanaDynamicRangePartitionCondition фильтрацию диапазона значений столбца секции для каждой секции и отправляет в SAP HANA.

Если необходимо использовать несколько столбцов в качестве столбца секции, можно объединить значения каждого столбца в один столбец в запросе и указать его в качестве столбца секции, например SELECT * FROM (SELECT *, CONCAT(<KeyColumn1>, <KeyColumn2>) AS PARTITIONCOLUMN FROM <TABLENAME>) WHERE (?AdfHanaDynamicRangePartitionCondition).

Сопоставление типов данных для SAP HANA

При копировании данных из SAP HANA следующие сопоставления используются из типов данных SAP HANA к промежуточным типам данных, используемым службой внутри службы.

Тип данных SAP HANA Промежуточный тип данных
ALPHANUM String
БИГИНТ Int64
BINARY массив байтов;
BINTEXT String
БЛОБ массив байтов;
BOOL Байт
CLOB String
DATE DateTime
ДЕСЯТИЧНЫЙ Десятичное число
ДВОЙНОЙ Double
FLOAT Double
ЦЕЛОЕ ЧИСЛО Int32
НЦЛОБ String
NVARCHAR String
РЕАЛЬНЫЙ Single
ВТОРАЯДАТА DateTime
SHORTTEXT String
младший десятичный Десятичное число
СМОЛЛИНТ Int16
STGEOMETRYTYPE массив байтов;
STPOINTTYPE массив байтов;
ТЕКСТ String
TIME TimeSpan
TINYINT Байт
VARCHAR String
TIMESTAMP DateTime
VARBINARY массив байтов;

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

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

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

Имя Описание Ценность Обязательный Свойство скрипта JSON
Подключение Ваше подключение к исходному хранилищу данных. < ваше подключение SAP HANA > Да connection
Использование запроса Способ чтения данных из SAP HANA. / Да /
таблица Имя таблицы для чтения данных. < имя исходной таблицы> Да (если использовать запрос в формате Таблица) свойстваТипа (под typeProperties ->source)
  -схема
  - стол
Запрос SQL-запрос для чтения данных из SAP HANA. < SQL-запрос> Да (если Использовать запрос является Запрос) query
Параметр секции Параметры секционирования данных, используемые для загрузки данных из SAP HANA. • Нет
• ФизическиеРазделыТаблицы
• SapHanaDynamicRange
Нет partitionOption
Имя столбца раздела Имя исходного столбца, используемого секцией для параллельного копирования. < ваш партиционный столбец > Да (при использовании секции динамического диапазона) partitionColumnName (в разделе partitionSettings)
Размер пакета (КБ) Размер сетевого пакета (в килобайтах) для разделения данных на несколько блоков. < Размер пакета >
Значение по умолчанию — 2048 (2 МБ)
Нет размер пакета
Дополнительные столбцы Добавьте дополнительные столбцы данных для хранения относительного пути или статического значения исходных файлов. Выражение поддерживается для последнего варианта. •Имя
•Ценность
Нет дополнительные колонки
•имя
•ценность