Cloud Data Fusionをさわってみよう
投稿者:中根
Cloud Data Fusionとは
Cloud Data FusionはNext’19で発表されたフルマネージドのデータ統合サービスです。
操作はブラウザ上で行うためコードを書く必要がありません。
ですので普段コードを書くことの無い方でも直感的に操作が出来るかと思います。
2019年6月現在Cloud Data Fusionはベータ版です。
しかしベースとなるOSSのCDAPは2015年以前より開発が行われておりコミュニティも活発なようです。
先月はメジャーバージョンアップがあり、GCPとの連携機能の追加が多くみられました。
エディション
エディションがBasicとEnterpriseの2種類があります。
違いはこちらをご覧ください。
大きな違いとしてあげられるのは
- パイプライン実行数
- ストリーミングパイプライン
- トリガー/スケジュール
- 高可用性
ではないでしょうか。
料金
Cloud Data Fusionはパイプラインの開発のためにインスタンスの作成が必要となります。
このインスタンスにたいして時間課金が発生します。
パイプラインの実行はDataproc上で行われます。ですのでパイプラインはDataprocとして課金されます。
ですのでBasicエディションでは一部無料枠がありますが、パイプラインの実行分はDataprocとして課金されるので注意しましょう。
他のETLサービスとの比較
GCPでは他にもETLツールとしてDataflowやDataprepがありますが、これらとの違いは何でしょうか。
Cloud Data FusionはDataflowとDataprepの中間に位置するように感じます。
Dataprepと比較するとGUIベースは同じですが接続できるデータソースがCloud Data Fusion増えています。
GCSやBigQuery以外にもコネクタエコシステムがあるため多くのDBに接続ができます。
またAWSやAzureへのコネクタも用意されています。
一方Dataflowと比較するとGUIベースで操作ができるCloud Data Fusionはより学習コストが低くなるかと思います。
リアルタイムパイプラインをGUIベースで構築できるのはCloud Data Fusionのメリットですね。
さわってみる
まずはインスタンスを作成する必要があります。
基本的にHow-to guidesの通りに行えばOKです。
2019年6月現在まだasia-northeastでの提供はなくアジア圏はasia-eastとasia-southeastのみとなります。
デプロイ時間は最大30分とありましたが今回は大体15分ほどで完了しました。
Cloud Data FusionにはサンプルのパイプラインとしてがCloud Data Fusion Quickstart
が用意されていますが、今回は以下のようなフローを作成してみます。
データソースとしてSAP HANAよりテーブルを読み込みます。
読み込んだデータをBQの2つのテーブルに書き出します。
1つはSAP HANAのテーブルをそのまま、もう一つはフィルタリングして集約したテーブルを作成します。
HANA用のコネクタ作成
Cloud Data Fusionは多くのコネクタエコシステムを持ちます。
今回接続するHANAはプリセットでは用意されていないのでJDBCドライバをアップロードする必要があります。
右上の+ボタンからドライバのアップロードでも良いですがWranglerからAdd Connection→Databaseを選択するとSAP HANAのJDBC Driverのアップロード画面にたどりつきます。
両方試しましたがこちらからだとすでにNameとClass nameが最初から入力されているだけのようです。
パイプラインの作成
ドライバのアップロードが完了したら接続情報を入力しましょう。
問題がなければGCSやBQと同様テーブル一覧が表示されます。
処理したテーブルを選択すると画面右側のタブにデータが表示されます。
Wranglerではデータの状態確認や変換が行えます。
パイプラインを作成しているときにちゃんと動くか確認したい場合がありますよね。
Cloud Data Fusionでは最初の何件かのみデータを流すプレビューモードがあります。
こちらを実行することでパイプライン上のデータを確認することができます。
プレビューを実行して問題が無いようでしたらパイプラインをデプロイをしましょう。
パイプラインの実行
デプロイが完了したらパイプラインを実行しましょう。
実行中はCloud Data FusionのIn/Outから処理件数が確認できます。
下の画像は早送りをしています。
また実際の処理はDataproc側で行われているためクラスタがデプロイされているのが確認できます。
出力の確認
完了になったらBigQueryを見てみましょう。問題なくBigQueryに書き込まれていますね。
まとめ
Cloud Data FusionはDataflowとDataprepの中間といった感じでGUIベースの操作で扱いやすいサービスになっているかと思います。
リアルタイムパイプラインも作成できますし、外部データソースを利用する場合は簡単に接続できるためGCPへのLiftにも使用できると思います。
まだベータ版ということで手探りなところが多いですが、OSSのCDAPの情報も合わせて調べてみるとが役に立つかと思います。
参考
Cloud Data Fusion
CDAP.io
Github CDAP
Github CDAP Guides
Cloud Data Fusion: Data Integration at Google Cloud (Cloud Next ’19)