Azure Storage へのクエリ結果のエクスポート

BigQuery Omni を使用すると、クエリの結果を Azure Storage に直接エクスポートできます。

始める前に

Azure Storage に接続していることを確認します。接続内で、エクスポート先にする Azure Storage コンテナパスのポリシーを作成します。そのポリシー内で、Microsoft.Storage/storageAccounts/blobServices/containers/write 権限を持つロールを作成します。

クエリの実行

クエリを実行するには、Google Cloud Console または bq コマンドライン ツールを使用します。

Google Cloud Console

  1. Google Cloud Console で、BigQuery ページを開きます。

    BigQuery に移動

  2. [クエリエディタ] フィールドに、標準 SQL エクスポート クエリを入力します。標準 SQL は Google Cloud Console のデフォルトの構文です。

    EXPORT DATA WITH CONNECTION `CONNECTION_REGION.CONNECTION_NAME` \
    OPTIONS(uri="abs://AZURE_STORAGE_ACCOUNT_NAME/CONTAINER_NAME/FILE_PATH/*", format="FORMAT", ...) \
    AS QUERY
    

    BigQuery Omniture は、既存のコンテンツに関係なく、指定された Amazon S3 のロケーションに書き込みます。これにより、既存のデータを上書きできます。また、クエリ結果を既存のデータと混在させることもできます。したがって、空の Amazon S3 パスにエクスポートすることをおすすめします。

    以下を置き換えます。

    • CONNECTION_REGION: 接続が作成されたリージョン。
    • CONNECTION_NAME: S3 バケットへの書き込みに必要な権限を使用して作成した接続名。
    • AZURE_STORAGE_ACCOUNT_NAME: 書き込み先の Azure Storage アカウントの名前。
    • CONTAINER_NAME: 書き込み先のコンテナの名前。
    • FILE_PATH: エクスポートされるファイルを書き込むパス。../aa/*../aa/b*c../aa/*bc../aa/bc* のように、パス文字列のリーフ ディレクトリに必ず 1 つのワイルドカード * を含める必要があります。BigQuery は、エクスポートされたファイルの数に応じて *0000..N に置き換えます。ファイルの数とサイズは BigQuery によって決まります。BigQuery が 2 つのファイルをエクスポートする場合、最初のファイルのファイル名の *000000000000 で置き換わり、2 番目のファイルのファイル前の *000000000001 で置き換わります。
    • FORMAT: サポートされている形式は JSONAVROCSV です。
    • QUERY: データ分析のために実行するクエリ。

    たとえば、次のクエリは、BigQuery から Azure Storage の abs://account/container/* にクエリ結果をエクスポートします。

    EXPORT DATA WITH CONNECTION `azure-eastus2.abs-write-conn` OPTIONS(uri="abs://account/container/*", format="CSV") AS SELECT * FROM absdataset.abstable
    
  3. [実行] をクリックします。

bq

query コマンドで、--nouse_legacy_sql または --use_legacy_sql=false フラグを使用して標準 SQL 構文を指定します。

エクスポート クエリを実行するには、次のように入力します。

  EXPORT DATA WITH CONNECTION `CONNECTION_REGION.CONNECTION_NAME` \
  OPTIONS(uri="abs://AZURE_STORAGE_ACCOUNT_NAME/CONTAINER_NAME/FILE_PATH/*", format="FORMAT", ...) \
 AS QUERY

BigQuery Omniture は、既存のコンテンツに関係なく、指定された Amazon S3 のロケーションに書き込みます。これにより、既存のデータを上書きできます。また、クエリ結果を既存のデータと混在させることもできます。したがって、空の Amazon S3 パスにエクスポートすることをおすすめします。

以下を置き換えます。

  • CONNECTION_REGION: 接続が作成されたリージョン。
  • CONNECTION_NAME: S3 バケットへの書き込みに必要な権限を使用して作成した接続名。
  • AZURE_STORAGE_ACCOUNT_NAME: 書き込み先の Azure Storage アカウントの名前。
  • CONTAINER_NAME: 書き込み先のコンテナの名前。
  • FILE_PATH: エクスポートされるファイルを書き込むパス。../aa/*../aa/b*c../aa/*bc../aa/bc* のように、パス文字列のリーフ ディレクトリに必ず 1 つのワイルドカード * を含める必要があります。BigQuery は、エクスポートされたファイルの数に応じて *0000..N に置き換えます。ファイルの数とサイズは BigQuery によって決まります。BigQuery が 2 つのファイルをエクスポートする場合、最初のファイルのファイル名の *000000000000 で置き換わり、2 番目のファイルのファイル前の *000000000001 で置き換わります。
  • FORMAT: サポートされている形式は JSONAVROCSV です。
  • QUERY: データ分析のために実行するクエリ。

次のステップ