Apache Spark でBacklog のデータをSQL で操作する方法

杉本和也
杉本和也
リードエンジニア
CData JDBC ドライバーを使用して、Apache Spark でBacklog にデータ連携。

Apache Spark は大規模データ処理のための高速エンジンです。CData JDBC Driver for Backlog と組み合わせると、Spark はリアルタイムでBacklog のデータに連携して処理ができます。本記事では、Spark シェルに接続してBacklog をクエリする方法について解説します。

CData JDBC Driver は、最適化されたデータ処理がドライバーに組み込まれているため、リアルタイムBacklog と対話するための高いパフォーマンスを提供します。Backlog に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計など、サポートされているSQL操作を直接Backlog にプッシュし、組込みSQL エンジンを使用してサポートされていない操作(SQL 関数やJOIN 操作)をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータ型を使用してBacklog を操作して分析できます。

CData JDBC Driver for Backlog をインストール

まずは、本記事右側のサイドバーからBacklog JDBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

Spark Shell を起動してBacklog のデータに接続

  1. ターミナルを開き、Spark shell でCData JDBC Driver for Backlog JAR file をjars パラメータに設定します:
    $ spark-shell --jars /CData/CData JDBC Driver for Backlog/lib/cdata.jdbc.backlog.jar
    
  2. Shell でJDBC URL を使ってBacklog に接続し、SQL Context load() function でテーブルを読み込みます。

    Backlog への接続に使用できる認証方法は、API キーおよびOAuth の2つです。

    API キー認証

    ApiKey およびURL をログインクレデンシャルに設定します。 ApiKey を取得するには:

    1. Backlog の個人設定ページを開きます。
    2. 「API」セクションをクリックして、「メモ」にAPI キーについての説明を追加し、「登録」ボタンをクリックします。トークンが生成されます。
    3. ApiKey にAPI キーを指定します。
    4. URL はBacklog のテナントURL から取得できます。

    OAuth 認証

    ユーザー名やパスワードへのアクセスを保有していない場合や、それらを使いたくない場合にはOAuth ユーザー同意フローを使用します。認証方法については、ヘルプドキュメントを参照してください。

    組み込みの接続文字列デザイナー

    JDBC 接続文字列URL の作成には、Backlog JDBC Driver にビルトインされたデザイナを使用できます。JAR ファイルをダブルクリックするか、コマンドラインでJAR ファイルを実行するとデザイナが開きます。

    java -jar cdata.jdbc.backlog.jar
    

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

    scala> val backlog_df = spark.sqlContext.read.format("jdbc").option("url", "jdbc:backlog:ApiKey=YOUR_API_KEY;Url=https://yourURL.backlog.com;").option("dbtable","Issues").option("driver","cdata.jdbc.backlog.BacklogDriver").load()
    
  3. 接続が完了し、データがロードされたら、テーブルスキーマが表示されます。
  4. Backlog をテンポラリーテーブルとして登録します:

    scala> backlog_df.registerTable("issues")
  5. データに対して、次のようなカスタムSQL クエリを実行します。

    scala> backlog_df.sqlContext.sql("SELECT Id, ProjectID FROM Issues WHERE Id = 1").collect.foreach(println)

    コンソールで、次のようなBacklog のデータを取得できました!これでBacklog との連携は完了です。

    Backlog をApache Spark から取得

CData JDBC Driver for Backlog をApache Spark で使って、Backlog に対して、複雑かつハイパフォーマンスなクエリを実行できます。30日の無償評価版 をダウンロードしてぜひお試しください。

Apache Spark の設定

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

Backlog Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Backlog Icon Backlog JDBC Driver お問い合わせ

Backlog データ連携のパワフルなJava アプリケーションを素早く作成して配布。