CData Sync V22 : Google BigQuery 同期先でテーブル定義の変更をサポート

by 浦邊信太郎 | 2022年09月22日

CData Sync のV22 で、Google BigQuery 同期先コネクタにテーブル定義の変更がサポートされました。

CData Sync はデータソースのテーブル定義が変更された際に、データソースに合わせて同期先のテーブル定義を変更する機能があります。この機能を有効にするにはジョブ設定で以下のように[スキーマの変更]をチェックします(デフォルトではチェックされた状態になっています)。

しかし、同期先コネクタによってスキーマの変更がサポートされないものがあります。Google BigQuery 同期先コネクタはこれまでスキーマの変更がサポートされていませんでした。そのため、同期時にテーブル定義を変更する際にはテーブルを削除して再作成する必要がありました。今回、Google BigQuery Drivers  V22 でALTER TABLE 文がサポートされたことに伴い、CData Sync のV22 ではGoogle BigQuery 同期先コネクタのテーブル定義変更が可能になりました。

本機能で変更できる定義項目は以下の通りです。

  • カラムの追加
  • カラムのデータ型の変更

以下では同期先テーブルにカラムを追加する例を示します。

実行例

データソースにSalesOrders というテーブルを用意し、これをGoogle BigQuery に同期します。SalesOrders はProductCode, ProductName, Quantity の3つのカラムを持ちます。実行例では同期先テーブルが無い状態でProductCode とProductName の2つのカラムを同期し、続いて3つのカラムを同期します。テーブル定義の変更が有効の場合、2回目の同期で同期先にカラムが追加されます。

1回目の同期

以下のようにProductCode とProductName の2つのカラムを同期します。

同期結果

以下のようにGoogle BigQuery にテーブルが構築され、ProductCode とProductName の2つのカラムが同期されました。

2回目の同期

以下のようにProductCode とProductName に加えてQuantity を同期します。

同期結果 V21

旧バージョン(V21) で同期を実行した結果を示します。同期先テーブルには新たに追加したカラム「Quantity」が追加されていません。

レプリケーションログを見るとスキーマ変更がスキップされたことが記録されています。これは同期先のGoogle BigQuery コネクタでALTER TABLE 文がサポートされていないためです。

同期結果 V22

新バージョン(V22) で同期を実行した結果を示します。
同期先テーブルに新たに追加したカラム「Quantity」が追加されています。

レプリケーションログを見るとスキーマ変更のスキップが記録されていません。

同期先ログを見るとALTER TABLE が実行されていることが分かります。

おわりに

本記事ではCData Sync V22 で新たに追加された機能の一つとして、Google BigQuery 同期先コネクタのテーブル定義変更機能を紹介しました。CData Sync V22 は30日間無料でお使いいただけます。Google BigQuery との連携をご検討の方はぜひお試しください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。