Настройка Amazon RDS для Oracle в операции копирования

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

В частности, этот соединитель Amazon RDS for Oracle поддерживает следующее:

  • Следующие версии базы данных Amazon RDS for Oracle:
    • Amazon RDS для Oracle 19c и выше
    • Amazon RDS для Oracle 18c и выше
    • Amazon RDS для Oracle 12c и выше
    • Amazon RDS для Oracle 11g и выше
  • Параллельное копирование из источника Amazon RDS for Oracle. Дополнительные сведения см. в разделе "Параллельная копия" из Amazon RDS for Oracle .

Замечание

Прокси-сервер Amazon RDS for Oracle не поддерживается.

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

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

General

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

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

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

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

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

  • Подключение. Выберите подключение Amazon RDS для Oracle из списка подключений. Если подключение отсутствует, создайте новое подключение Amazon RDS for Oracle.

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

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

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

      • Запрос. Укажите настраиваемый SQL-запрос для чтения данных. Например: SELECT * FROM MyTable. Обратите внимание, что запрос не должен заканчиваться точкой с запятой (;).

        При включении разделенной нагрузки необходимо подключить все соответствующие встроенные параметры раздела в запросе. Примеры см. в разделе "Параллельная копия" из раздела Amazon RDS for Oracle .

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

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

  • Параметр секционирования. Указывает параметры секционирования данных, используемые для загрузки данных из Amazon RDS for Oracle. Допустимые значения: Нет (по умолчанию), PhysicalPartitionsOfTable и DynamicRange. Если параметр секции включен (то есть отличается от None), степень параллелизма для одновременной загрузки данных из базы данных Amazon RDS For Oracle регулируется параметром Степень параллелизма копирования на вкладке параметров действия копирования.

    Если выбрать None, вы выбираете не использовать раздел.

    Если выбрать физические секции таблицы:

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

      Если для получения исходных данных используется запрос, подключите ?AdfTabularPartitionName в предложении WHERE. Пример см. в разделе "Параллельная копия" из раздела Amazon RDS for Oracle .

      Снимок экрана: конфигурация при выборе физических разделов таблицы.

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

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

      Если для получения исходных данных используется запрос, подключите ?AdfRangePartitionColumnName в предложении WHERE. Пример см. в разделе "Параллельная копия" из раздела Amazon RDS for Oracle .

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

      Если для получения исходных данных используется запрос, подключите ?AdfRangePartitionUpbound в предложении WHERE. Пример см. в разделе "Параллельная копия" из раздела Amazon RDS for Oracle .

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

      Если для получения исходных данных используется запрос, подключите ?AdfRangePartitionLowbound в предложении WHERE. Пример см. в разделе "Параллельная копия" из раздела Amazon RDS for Oracle .

      Снимок экрана: конфигурация при выборе динамического диапазона.

  • Время ожидания запроса (минуты): укажите время ожидания для выполнения команды запроса, значение по умолчанию — 120 минут. Если для этого свойства задан параметр, допустимые значения имеют интервал времени, например "02:00:00" (120 минут).

  • Параметры NUMBER: укажите точность и масштаб для NUMBER. Это относится только к типам NUMBER, которые не имеют точность и масштаб явно определены в базе данных Amazon RDS for Oracle.

    • Точность. Укажите максимальное число значимых десятичных цифр. Допустимые значения варьируются от 1 до 256. Значение по умолчанию — 256, если оно не указано.

    • Масштабирование: укажите число цифр после десятичной запятой. Допустимые значения варьируются от 0 до 130 и должны быть меньше или равны точности. По умолчанию значения равны 130, если не указано другое.

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

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

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

Сопоставление типов данных для Amazon RDS for Oracle

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

Тип данных Amazon RDS для Oracle Тип данных временной службы
BFILE Byte[]
BINARY_FLOAT Single
BINARY_DOUBLE Double
БЛОБ Byte[]
CHAR String
CLOB String
DATE DateTime
FLOAT (P < 16) Double
FLOAT (P >≥ 16) Decimal
ИНТЕРВАЛ ОТ ГОДА ДО МЕСЯЦА Int64
ИНТЕРВАЛ ОТ ДНЯ ДО СЕКУНДЫ TimeSpan
LONG String
LONG RAW Byte[]
NCHAR String
НЦЛОБ String
НОМЕР (p,s) Int16, Int32, Int64, Double, Single, Decimal
ЧИСЛО без указания точности и масштаба Decimal
NVARCHAR2 String
НЕОБРАБОТАННЫЕ Byte[]
TIMESTAMP DateTime
Метка времени с локальной временной зоной DateTime
Метка времени с часовым поясом DateTimeOffset
VARCHAR2 String
XMLTYPE String

Замечание

NUMBER(p,s) сопоставляется с соответствующим типом данных промежуточной службы в зависимости от точности (p) и масштаба (s).

Settings

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

Параллельная копия из Amazon RDS for Oracle

Соединитель Amazon RDS For Oracle в процессе копирования предоставляет встроенное секционирование данных для параллельного копирования. Параметры секционирования данных можно найти на вкладке Источник действия Copy.

При включении секционированного копирования действие копирования выполняет параллельные запросы к источнику Amazon RDS For Oracle для загрузки данных по секциям. Параллельная степень управляется степенью параллелизма копирования на вкладке параметров действия копирования. Например, если задать степень параллелизма копирования четырем, служба одновременно создает и выполняет четыре запроса на основе указанного параметра секции и параметров, а каждый запрос извлекает часть данных из Amazon RDS For Oracle.

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

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

Во время выполнения служба автоматически определяет физические секции и копирует данные по секциям.
Полная загрузка из большой таблицы без физических секций, когда таблица содержит столбец целочисленного типа для секционирования данных. Параметры раздела: динамический диапазон.
Столбец секционирования: укажите столбец, используемый для секционирования данных. Если это не указано, используется столбец с первичным ключом.
Загрузка большого объема данных с помощью пользовательского запроса с физическими секциями. Параметр секционирования. Физические секции таблицы.
Запрос: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause>.
Имя секции: укажите имена секций, из которых следует копировать данные. Если оно не указано, служба автоматически обнаруживает физические секции в таблице, указанной в наборе данных Amazon RDS for Oracle.

Во время выполнения служба заменяет ?AdfTabularPartitionName фактическое имя раздела и отправляет на Amazon RDS for Oracle.
Загрузка большого объема данных пользовательским запросом без использования физических секций, однако с использованием столбца целочисленного типа для секционирования данных. Параметры раздела: динамический диапазон.
Запрос: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Столбец секционирования: укажите столбец, используемый для секционирования данных. Секционирование можно выполнять по столбцу с целочисленным типом данных.
Верхняя граница секции и нижняя граница секции: укажите, следует ли фильтровать столбец секций, чтобы получить данные только между нижним и верхним диапазоном.

Во время выполнения служба заменяет ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound и ?AdfRangePartitionLowbound фактическими именами столбцов и диапазонами значений для каждого раздела и отправляет их в Amazon RDS for Oracle.
Например, если указан столбец секционирования ID с нижней границей 1 и верхней границей 80 при этом для параллельного копирования указано значение 4, служба будет извлекать данные по 4 секциям. Для них будут применены следующие диапазоны значений идентификаторов: [1, 20], [21, 40], [41, 60] и [61, 80].

Подсказка

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

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

В следующих таблицах содержится дополнительная информация о процессе копирования в Amazon RDS для Oracle.

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

Имя Description Ценность Обязательно Свойство скрипта JSON
Подключение Ваше подключение к исходному хранилищу данных. <ваше подключение Amazon RDS для Oracle> Да connection
Использование запроса Способ чтения данных из Amazon RDS for Oracle. Примените таблицу для чтения данных из указанной таблицы или применения запроса для чтения данных с помощью запросов. Таблица
Запрос
нет /
Для таблицы
Имя схемы Имя схемы. < имя схемы > нет schema
имя таблицы Название таблицы. < название таблицы > нет table
Запрос
Запрос Используйте пользовательский SQL-запрос для чтения данных. Примером является SELECT * FROM MyTable. Обратите внимание, что запрос не должен заканчиваться точкой с запятой (;).
При включении разделенной нагрузки необходимо подключить все соответствующие встроенные параметры раздела в запросе. Примеры см. в разделе "Параллельная копия" из раздела Amazon RDS for Oracle .
< SQL-запросы > нет oracleReaderQuery
Имена секций Список физических секций, которые необходимо скопировать. Если для получения исходных данных используется запрос, подключите ?AdfTabularPartitionName в предложении WHERE. < имена разделов > нет имена разделов
Имя столбца для секционирования Имя исходного столбца в целочисленном типе , который будет использоваться секционированием диапазона для параллельной копии. Если это не указано, первичный ключ таблицы обнаруживается автоматически и используется в качестве столбца секционирования. < Имена столбцов секций > нет имя столбца раздела
Верхняя граница секции Максимальное значение столбца секционирования для копирования данных наружу. Если вы используете запрос для получения исходных данных, давайте подключим ?AdfRangePartitionUpbound в предложении WHERE. < верхняя граница раздела > нет верхняя граница раздела
Нижняя граница раздела Минимальное значение столбца секционирования для копирования данных. Если вы используете запрос для получения исходных данных, используйте компонент ?AdfRangePartitionLowbound в предложении WHERE. < нижняя граница раздела > нет partitionLowerBound
Время ожидания запроса (минуты) Время ожидания выполнения команды запроса по умолчанию — 120 минут. временной промежуток нет время ожидания запроса
Точность Максимальное число значимых десятичных цифр. Допустимые значения варьируются от 1 до 256. Значение по умолчанию — 256, если оно не указано. < ваша точность > нет точность числа
Scale Число цифр после десятичной запятой. Допустимые значения варьируются от 0 до 130 и должны быть меньше или равны точности. По умолчанию значения равны 130, если не указано другое. < ваш масштаб > нет NumberScale
Дополнительные столбцы Добавьте дополнительные столбцы данных для хранения относительного пути или статического значения исходных файлов. Выражение поддерживается для последнего варианта. •Имя
•Ценность
нет дополнительныеКолонки
•имя
•ценность