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 との連携をご検討の方はぜひお試しください。
関連コンテンツ