Google Data Fusion で Stack Exchange に連携した ETL プロセスを作成

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
CData JDBC Driver を Google Data Fusion にロードし、Stack Exchange のデータ にリアルタイムでアクセスできる ETL プロセスを作成します。

Google Data Fusion を使用すると、セルフサービス型のデータ連携を行い、異なるデータソースを統合できます。CData API Driver for JDBC をアップロードすることで、Google Data Fusion のパイプライン内から Stack Exchange のデータ にリアルタイムでアクセスできるようになります。CData JDBC Driver を使用すると、Stack Exchange のデータ を Google Data Fusion でネイティブにサポートされている任意のデータソースにパイプできますが、この記事では、Stack Exchange から Google BigQuery へデータをパイプする方法を説明します。

CData API Driver for JDBC を Google Data Fusion にアップロード

CData API Driver for JDBC を Google Data Fusion インスタンスにアップロードして、Stack Exchange のデータ にリアルタイムでアクセスしましょう。Google Data Fusion では JDBC ドライバーの命名規則に制限があるため、JAR ファイルを driver-version.jar という形式に合わせてコピーまたはリネームしてください。例:cdataapi-2020.jar

  1. Google Data Fusion インスタンスを開きます
  2. をクリックしてエンティティを追加し、ドライバーをアップロードします
  3. "Upload driver" タブで、リネームした JAR ファイルをドラッグまたは参照します。
  4. "Driver configuration" タブで以下を設定します:
    • Name: ドライバーの名前(cdata.jdbc.api)を作成し、メモしておきます
    • Class name: JDBC クラス名を設定します:(cdata.jdbc.api.APIDriver)
    ドライバーの設定(Salesforce を例に説明しています)
  5. "Finish" をクリックします

Google Data Fusion で Stack Exchange のデータ に接続

JDBC Driver をアップロードしたら、Google Data Fusion のパイプラインで Stack Exchange のデータ にリアルタイムでアクセスできます。

  1. Pipeline Studio に移動して、新しいパイプラインを作成します
  2. "Source" オプションから "Database" をクリックして、JDBC Driver 用のソースを追加します データベースソースの追加
  3. Database ソースの "Properties" をクリックしてプロパティを編集します

    NOTE:Google Data Fusion で JDBC Driver を使用するには、ライセンス(製品版またはトライアル)とランタイムキー(RTK)が必要です。ライセンス(またはトライアル)の取得については、CData までお問い合わせください。

    • Label を設定します
    • Reference Name を将来の参照用の値に設定します(例:cdata-api)
    • Plugin Type を "jdbc" に設定します
    • Connection String を Stack Exchange の JDBC URL に設定します。例:

      jdbc:api:RTK=5246...;Profile=C:\profiles\StackExchange.apip;ProfileSettings='APIKey=your_api_key;Site=stackoverflow';

      まず、Profile 接続プロパティをディスク上の Stack Exchange プロファイルの場所に設定します(例:C:\profiles\StackExchange.apip)。次に、ProfileSettings 接続プロパティを Stack Exchange の接続文字列に設定します(以下を参照)。

      Stack Exchange API プロファイル設定

      StackApps でアプリケーションを登録して、API キーを取得します。Site プロパティでは、クエリ対象の Stack Exchange サイトを指定します(例:stackoverflow)。

      ビルトイン接続文字列デザイナー

      JDBC URL の作成には、Stack Exchange JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。

      
            java -jar cdata.jdbc.api.jar
            

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      ビルトイン接続文字列デザイナーを使用した JDBC URL の生成(Salesforce を例に説明しています)
    • Import Query を Stack Exchange から取得したいデータを抽出する SQL クエリに設定します。例:
      SELECT * FROM Answers
    データベースソースの設定
  4. "Sink" タブから、同期先シンクを追加します(この例では Google BigQuery を使用します)
  5. BigQuery シンクの "Properties" をクリックしてプロパティを編集します
    • Label を設定します
    • Reference Name を api-bigquery のような値に設定します
    • Project ID を特定の Google BigQuery プロジェクト ID に設定します(またはデフォルトの "auto-detect" のままにします)
    • Dataset を特定の Google BigQuery データセットに設定します
    • Table を Stack Exchange のデータ を挿入するテーブル名に設定します
    BigQuery シンクの設定

Source と Sink を設定すると、Stack Exchange のデータ を Google BigQuery にパイプする準備が整います。パイプラインを保存してデプロイしてください。パイプラインを実行すると、Google Data Fusion が Stack Exchange からリアルタイムデータをリクエストし、Google BigQuery にインポートします。

これはシンプルなパイプラインの例ですが、変換、分析、条件などを使用してより複雑な Stack Exchange パイプラインを作成できます。CData API Driver for JDBC の 30日間の無償トライアルをダウンロードして、今すぐ Google Data Fusion で Stack Exchange のデータ をリアルタイムで活用しましょう。

はじめる準備はできましたか?

API Driver で Stack Exchange のライブデータに接続

Stack Exchange に接続