Google スプレッドシートコネクタ

Google スプレッドシートコネクタを使用すると、Google スプレッドシート のスプレッドシートをPresto のテーブルとして読み取ることができます。

設定

Google スプレッドシートコネクタをgsheetsカタログとしてマウントするには、etc/catalog/gsheets.propertiesを作成し、必要に応じてプロパティを置き換えます。

connector.name=gsheets
credentials-path=/path/to/google-sheets-credentials.json
metadata-sheet-id=exampleId

設定プロパティ

次の設定プロパティを使用できます。

プロパティ名

説明

credentials-path

Google API JSON キーファイルへのパス

metadata-sheet-id

テーブルマッピングを含むスプレッドシートのシートID

sheets-data-max-cache-size

キャッシュするスプレッドシートの最大数。デフォルトは1000

sheets-data-expire-after-write

スプレッドシートデータまたはメタデータをキャッシュする期間。デフォルトは5m

認証情報

このコネクタでは、Google スプレッドシートAPIにアクセスするために認証情報が必要です。

  1. Google スプレッドシートAPIページを開き、「有効にする」ボタンをクリックします。これにより、API マネージャーページに移動します。

  2. ページ上部のドロップダウンメニューを使用してプロジェクトを選択します。まだプロジェクトがない場合は、新しいプロジェクトを作成します。

  3. 左側のパネルで「認証情報」を選択します。

  4. 「サービスアカウントの管理」をクリックし、コネクタのサービスアカウントを作成します。「キーの作成」ステップで、JSON形式でキーを作成してダウンロードします。

キーファイルは、Presto コオーディネーターとワーカーで使用できる必要があります。credentials-path設定プロパティを設定して、このファイルへのパスを指定します。ファイルの正確な名前は重要ではありません。任意の名前を付けることができます。

メタデータシート

メタデータシートは、テーブル名とシートIDをマッピングするために使用されます。新しいメタデータシートを作成します。最初の行は、次の列をこの順序で含むヘッダー行にする必要があります。

  • テーブル名

  • シートID

  • 所有者

  • 備考

参照として、このサンプルシートを参照してください。

メタデータシートは、キー認証情報ファイルが作成されたサービスアカウントユーザーと共有する必要があります。「共有」ボタンをクリックして、サービスアカウントのメールアドレスでシートを共有します。

metadata-sheet-id設定プロパティをこのシートのIDに設定します。

シートのクエリ

Presto がシートをクエリするには、サービスアカウントユーザーがそのシートへのアクセス権を持っている必要があります。「共有」ボタンをクリックして、サービスアカウントのメールアドレスでシートを共有します。

シートはPrestoテーブル名にマッピングする必要があります。メタデータシートで、テーブル名(A列)とシートID(B列)を指定します。シート内の特定のタブを参照するには、シートIDの後にタブ名を#で区切って追加します。タブ名が指定されていない場合、コネクタはデフォルトでシートの最初のタブから10,000行のみをロードします。

API 使用制限

Google スプレッドシートAPIには使用制限があり、このコネクタの使用に影響を与える可能性があります。キャッシュ期間と/またはサイズを増やすと、制限に達するのを防ぐことができます。スキーマとテーブル名フィルターを使用せずにinformation_schema.columnsテーブルでクエリを実行すると、制限に達する可能性があります。これは、既にキャッシュされている場合を除き、すべてのテーブルのシートデータを取得する必要があるためです。

SQL サポート

このコネクタは、Google スプレッドシートのデータとメタデータにアクセスするためのグローバルに使用可能な読み取り操作ステートメントを提供します。