Преобразование типов данных внешних ключей для использования Joiner в Google Cloud Data Fusion Pipeline - PullRequest
0 голосов
/ 02 марта 2020

Я строю конвейер, который подключается к локальной Oracle БД с помощью плагина базы данных, запрашивает две таблицы (table_a, table_b) и соединяет эти таблицы с помощью плагина Joiner перед загрузкой в ​​BigQuery. Таблица.

Проблема, с которой я столкнулся сейчас, заключается в том, что внешние ключи для соединения table_a и table_b имеют разные типы данных, когда я использую Get Schema в плагине базы данных. В Joiner я присоединяюсь к столам на table_a.customer_id = table_b.customer_id.

Тип d table_a.customer_id равен LONG, но table_b.customer_id равен DOUBLE. В исходной Oracle БД оба столбца фактически являются целыми числами. По какой-то причине, однако, использование Get Schema считает, что они LONG и DOUBLE.

Я, очевидно, получаю сообщение об ошибке в Joiner, пытающемся объединить внешние ключи с различными типами данных.

Есть ли способ приведения / преобразования столбцов из таблиц для сопоставления, чтобы я мог можно использовать Joiner?

Я видел несколько примеров использования Wrangler Transform для разбора дат, но я не вижу ничего для преобразования в какие-либо другие типы данных. Я не смог найти никаких примеров директив: https://github.com/data-integrations/wrangler.

pipeline

1 Ответ

1 голос
/ 04 марта 2020

Вы можете преобразовать свои данные перед присоединением к ним, используя любой из плагинов преобразования, которые предлагает Cloud Data Fusion. Как упоминалось @muscat, вы можете использовать преобразование Wrangler и использовать директивы Set type , или вы можете использовать преобразование Projection и настроить поле Convert.

...