Dremio でGoogle Sheets のデータに外部ソースとして接続
CData JDBC Driver for Google Spreadsheets はJDBC 標準を実装しており、Dremio を含むさまざまなアプリケーションでリアルタイムのGoogle Sheets のデータを扱えるようにします。Dremio は、データレイク上でのセルフサービス型インタラクティブ分析を実現するために設計されたデータレイクハウスプラットフォームです。CData JDBC ドライバーを使用することで、エンタープライズデータレイクの一部としてリアルタイムGoogle Sheets のデータを活用できます。この記事では、Dremio でGoogle Sheets のデータに外部ソースとして接続する方法について説明します。
CData JDBC Driver を使用すると、Dremio でリアルタイムGoogle Sheets のデータへの高速アクセスが可能になります。ドライバーをインストールしてGoogle Sheets で認証すれば、データレイク内でGoogle Sheets のデータにすぐにアクセスできます。ネイティブのデータ型を使用してGoogle Sheets のデータを表示し、複雑なフィルタ、集計、その他の操作を自動的に処理することで、CData JDBC Driver はGoogle Sheets のデータへのシームレスなアクセスを提供します。
前提条件
この記事では、Docker を使用して Dremio を実行することを想定しています。以下のようなコマンドで Dremio サービスを含む Docker コンテナを作成できます。
docker run -d --name dremio -p 9047:9047 -p 31010:31010 dremio/dremio-oss
ここで、dremio はコンテナの名前、9047 は Dremio Web インターフェース用のコンテナポート、31010 は Dremio クエリサービスにマッピングされるポートです。dremio/dremio-oss は使用するイメージを指定します。
ARP コネクタのビルド
CData JDBC Driver を Dremio で使用するには、Advanced Relation Pushdown(ARP)コネクタをビルドする必要があります。GitHub でソースコードを確認するか、ZIP ファイル(GitHub.com)を直接ダウンロードできます。ファイルをコピーまたは展開したら、コネクタのルートディレクトリ(pom.xml ファイルがあるディレクトリ)から以下のコマンドを実行してコネクタをビルドします。
mvn clean install
NOTE:CData ARP コネクタは Java 11 でコンパイルするようにビルドされています。Java 11 をインストールし、正しいバージョンを使用していることを確認してください。以下のようなコマンドで Java バージョンを更新できます。
sudo update-alternatives --config java
コネクタ用の JAR ファイルが(target ディレクトリに)ビルドされたら、ARP コネクタと JDBC Driver を Dremio インスタンスにコピーする準備が整いました。
コネクタと JDBC Driver のインストール
ARP コネクタを %DREMIO_HOME%/jars/ に、Google Sheets 用の JDBC Driver を %DREMIO_HOME%/jars/3rdparty にインストールします。以下のようなコマンドを使用できます。
ARP コネクタ
docker cp PATH\TO\dremio-googlesheets-plugin-{DREMIO_VERSION}.jar dremio_image_name:/opt/dremio/jars/
Google Sheets 用 JDBC Driver
docker cp PATH\TO\cdata.jdbc.googlesheets.jar dremio_image_name:/opt/dremio/jars/3rdparty/
Google Sheets への接続
これで、Dremio の外部ソースオプションに Google Sheets が表示されるようになりました。ビルドした ARP コネクタは、JDBC URL を使用してGoogle Sheets のデータに接続します。JDBC Driver には、接続文字列を作成できるビルトインの接続文字列デザイナーがあります(以下を参照)。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Google Sheets JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.googlesheets.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
スプレッドシートに接続するには、Google への認証を行い、Spreadsheet 接続プロパティにスプレッドシートの名前またはフィードリンクを設定します。Google Drive のスプレッドシートの情報一覧を表示したい場合は、認証後にSpreadsheets ビューにクエリを実行します。
ClientLogin(ユーザー名 / パスワード認証)は、2012年4月20日より正式に非推奨となり、現在は利用できません。代わりに、OAuth 2.0 認証規格を使用してください。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録します。
OAuth は、Google Apps ドメインのユーザーに代わって、サービスアカウントを使って接続することもできます。サービスアカウントで認証するには、OAuth JWT 値を取得するためのアプリケーションを登録する必要があります。
Google アカウント、Google Apps アカウント、二段階認証を使用するアカウントなど、様々なアカウントタイプでGoogle スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
NOTE:Dremio で JDBC Driver を使用するには、ライセンス(正式版または評価版)とランタイムキー(RTK)が必要です。このライセンス(または評価版)の取得については、営業チームにお問い合わせください。
ランタイムキー(RTK)を JDBC URL に追加します。最終的に、以下のような JDBC URL になります。
jdbc:googlesheets:RTK=5246...;Spreadsheet=MySheet;
Google Sheets に外部ソースとしてアクセス
Google Sheets を外部ソースとして追加するには、新しいソースを追加するためにクリックし、GoogleSheets を選択します。JDBC URL をコピーして、New GoogleSheets Source ウィザードに貼り付けます。
接続を保存すれば、Dremio でリアルタイムGoogle Sheets のデータをクエリする準備が整い、Google Sheets のデータをデータレイクに簡単に取り込むことができます。
詳細情報と無償トライアル
Dremio で CData JDBC Driver for Google Spreadsheets を使用すると、リアルタイムGoogle Sheets のデータをデータレイクに取り込むことができます。Google Sheets への接続の詳細については、CData JDBC Driver for Google Spreadsheets ページをご覧ください。CData JDBC Driver for Google Spreadsheets の30日間無償トライアルをダウンロードして、今すぐ始めましょう。