как загрузить данные из AWS RDS в Google BigQuery в потоковом режиме?

Как загрузить данные из AWS RDS в Google BigQuery в потоковом режиме? Описание: у меня есть данные в RDS (SQL Server), и я хотел загрузить эти данные в Google BigQuery в режиме реального времени.

2 ответа

Решение

Нет прямого способа вставить изменения из Amazon RDS в Google Cloud BigQuery. Это можно сделать с помощью такого конвейера

Amazon RDS ----Lambda/DMS----> Kinesis Data Streams -----Lambda----> BigQuery

  1. Считывайте изменения из Amazon RDS в Kinesis Data Streams с помощью Lambda или с помощью Cloud DMS. Вы также можете отправить его в Kinesis Firehose для агрегирования / пакетирования записей.
  2. Используйте Lambda для чтения из потоков Kinesis/Firehose для вставки в BigQuery с помощью tabledata.insertAll (API потоковой передачи BQ). Код будет примерно таким.

Вы можете использовать службу передачи облачного хранилища, которая управляет заданиями загрузки в BigQuery и планирует их. Это рекомендуемый метод миграции для данного варианта использования. Сначала вам нужно загрузить данные из AWS RDS в файлы CSV, а затем переместить их в S3. Amazon S3 переводы являются два этапа:

  1. Служба передачи используется для переноса данных из S3 в GCS.
  2. Задание загрузки BQ используется для загрузки данных в BigQuery.

Еще одно интересное решение, которое я нашел, касается использования AWS Data Pipeline для экспорта данных из MySQL и передачи их в BigQuery.

Более того, вы можете использовать один из инструментов ETL (см. Здесь), который имеет интеграцию с Amazon RDS и BigQuery, чтобы выполнить передачу данных в BigQuery. Один из лучших - Fivetran.

Надеюсь, это вам поможет.

Другие вопросы по тегам