Amazon S3 転送

は、

BigQuery Data Transfer Service for Amazon S3 を使用すると、繰り返し実施する必要がある Amazon S3 から BigQuery への読み込みジョブのスケジュールと管理を自動化できます。

始める前に

Amazon S3 転送を作成する前に:

  • BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
  • 従来の BigQuery ウェブ UI を使用して転送を作成する場合は、権限ウィンドウが表示されるように、bigquery.cloud.google.com からのポップアップを許可します。BigQuery Data Transfer Service 権限で転送を管理できるようにする必要があります。
  • データを保存する BigQuery データセットを作成します。
  • 転送用に宛先テーブルを作成し、スキーマ定義を指定します。宛先テーブルは、テーブルの命名規則に従う必要があります。宛先テーブル名でもパラメータがサポートされています。
  • Amazon S3 の URI、アクセスキー ID、シークレット アクセスキーを取得します。アクセスキーの管理については、AWS のドキュメントをご覧ください。
  • 転送実行通知は、現時点ではアルファ版です。Cloud Pub/Sub に対する転送実行通知を設定する場合は、pubsub.topics.setIamPolicy 権限が必要です。メール通知の設定のみを行う場合は、Cloud Pub/Sub の権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。

制限事項

Amazon S3 転送には、次の制限があります。

必要な権限

Amazon S3 転送を作成する前に:

  • 転送を作成するユーザーに、BigQuery で必要な次の権限が付与されていることを確認します。

    • 転送を作成するための bigquery.transfers.update 権限。
    • ターゲット データセットに対する bigquery.datasets.update 権限

    事前定義されたプロジェクト レベルの IAM 役割である bigquery.admin には、bigquery.transfers.update 権限と bigquery.datasets.update 権限が含まれています。BigQuery での IAM 役割の詳細については、アクセス制御をご覧ください。

  • 転送を有効にするために必要な権限が構成されたことを確認するには、Amazon S3 のドキュメントをご覧ください。少なくとも、Amazon S3 ソースデータには、AWS 管理ポリシー AmazonS3ReadOnlyAccess が適用されている必要があります。

Amazon S3 データ転送の設定

Amazon S3 データ転送を作成するには:

Console

  1. BigQuery ウェブ UI に移動します。

    BigQuery ウェブ UI に移動

  2. [転送] をクリックします。

  3. [+ 転送を作成] をクリックします。

  4. [転送の作成] ページで、次の操作を行います。

    • [ソースタイプ] セクションの [ソース] で、[Amazon S3] を選択します。

      転送のソース

    • [転送構成名] セクションの [表示名] に、転送名(例: My Transfer)を入力します。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。

      転送名

    • [スケジュール オプション] セクションで、[スケジュール] をデフォルト値([すぐに開始可能])のままにするか、[設定した時間に開始] をクリックします。

      • [繰り返しの頻度] で、転送を実行する頻度のオプションを選択します。以下のオプションがあります。

        • 毎日(デフォルト)
        • 毎週
        • 毎月
        • カスタム
        • オンデマンド

        [毎日] 以外のオプションを選択した場合は、追加のオプションが利用可能です。たとえば、[毎週] を選択した場合、曜日を選択するためのオプションが表示されます。

      • [開始日と実行時間] に、転送を開始する日付と時刻を入力します。[すぐに開始可能] を選択した場合、このオプションは無効になります。

        転送スケジュール

    • [転送先の設定] セクションの [宛先データセット] で、データを保存するために作成したデータセットを選択します。

      宛先データセット

    • [データソースの詳細] セクションで、次の操作を行います。

      • [Destination table] に、BigQuery でデータを保存するために作成したテーブルの名前を入力します。宛先テーブルの名前では、パラメータをサポートしています。
      • [Amazon S3 URI] に、「s3://mybucket/myfolder/...」という形式で URI を入力します。URI もパラメータをサポートしています。
      • [Access key ID] に、アクセスキー ID を入力します。
      • [Secret access key] に、シークレット アクセスキーを入力します。
      • [File format] で、データ形式を選択します。JSON(改行区切り)、CSV、Avro、Parquet、Orc が選択できます。

        S3 ソースの詳細

    • [Transfer Options] セクションの [Number of errors allowed] に、無視できる不良レコードの最大数にあたる整数値を入力します。

      許容されているエラー数

    • ファイル形式として CSV または JSON を選択した場合、スキーマに適合しない値を含んだ行を許容するには、[JSON, CSV] セクションで [Ignore unknown values] をオンにします。こうすると、不明な値は無視されるようになります。CSV ファイルでは、行の末尾の余分な値も無視されます。

      不明な値を無視

    • ファイル形式として CSV を選択した場合は、[CSV] セクションでデータを読み込むための追加の CSV オプションを入力します。

      CSV のオプション

    • (省略可)[通知オプション] セクションで、次の操作を行います。

      • 切り替えボタンをクリックしてメール通知を有効にします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
      • [Cloud Pub/Sub トピックを選択してください] で、トピック名を選択するか、[トピックを作成する] をクリックしてトピックを作成します。このオプションで、Cloud Pub/Sub の転送実行通知を構成します。転送実行通知は、現時点ではアルファ版です。
  5. [保存] をクリックします。

従来の UI

  1. BigQuery ウェブ UI に移動します。

    BigQuery ウェブ UI に移動

  2. [Transfers] をクリックします。

  3. [Add Transfer] をクリックします。

  4. [New Transfer] ページで、次の操作を行います。

    • [Source] で [Amazon S3] を選択します。
    • [Display name] に転送名(例: My Transfer)を入力します。表示名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。
    • (省略可)[Schedule] については、デフォルト値の [Daily](作成時間に基づいて 24 時間ごと)のままにしておくか、[Edit] をクリックして時間を変更します。間隔を [Weekly]、[Monthly]、[Custom] に変更することもできます。[Custom] を選択したときは、Cron と同様の時間指定(例: every 12 hours)が求められます。最短許容時間は 12 時間です。他の有効な API 値については、TransferConfigschedule フィールドをご覧ください。
    • [Destination dataset] で、該当するデータセットを選択します。
    • [Destination table] に宛先テーブルの名前を入力します。宛先テーブルは、テーブルの命名規則に従う必要があります。宛先テーブル名でもパラメータがサポートされています。
    • [Amazon S3 URI] に、Amazon S3 URI を入力します。ワイルドカードパラメータがサポートされています。
    • [Access key ID] に、アクセスキー ID を入力します。
    • [Secret access key] に、シークレット アクセスキーを入力します。
    • [File format] で、データ形式を選択します。JSON(改行区切り)、CSV、Avro、Parquet、Orc が選択できます。
    • [Transfer Options - All Formats] セクションでは、以下のように設定します。
      • [Number of errors allowed] には、BigQuery がジョブの実行中に無視できる不良レコードの最大数を入力します。不良レコード数がこの値を超えると、ジョブ結果で「invalid」が返されてジョブが失敗します。デフォルト値は 0 です。
    • ファイル形式として CSV または JSON を選択した場合、[Transfer Options - JSON, CSV] セクションでは、以下のように設定します。
      • 転送で宛先テーブルのスキーマに適合しないデータが削除されるようにする場合は、[Ignore unknown values] をオンにします。
    • ファイル形式として CSV を選択した場合、[Transfer Options - CSV] セクションでは、以下のように設定します。

      • [Field delimiter] に、フィールドを区切る文字を入力します。デフォルト値はカンマ(,)です。
      • [Header rows to skip] に、インポートの対象外にするソースファイル内のヘッダー行の数を入力します。デフォルト値は 0 です。
      • 引用符で囲まれたフィールド内で改行を許可するには、[Allow quoted newlines] をオンにします。
      • NULLABLE 列がない行を転送できるようにする場合は、[Allow jagged rows] をオンにします。
    • (省略可)[Advanced] セクションを展開し、転送実行通知を構成します。転送実行通知は、現時点ではアルファ版です。

    • [Cloud Pub/Sub topic] には、Cloud Pub/Sub トピック名(例: projects/myproject/topics/mytopic)を入力します。

    • [Send email notifications] をオンにして、転送実行失敗のメール通知を許可します。

      Cloud Pub/Sub トピック

  5. [Add] をクリックします。

Amazon S3 転送設定のトラブルシューティング

転送の設定に問題がある場合は、トラブルシューティング ページの手順に従って問題を解決してください。

データのクエリ

データが BigQuery に転送されると、取り込み時間分割テーブルにそのデータが書き込まれます。詳細については、分割テーブルの概要をご覧ください。

自動生成されたビューを使用せずに、テーブルでクエリを直接実行する場合は、そのクエリで _PARTITIONTIME 疑似列を使用する必要があります。詳細については、分割テーブルのクエリをご覧ください。

次のステップ

  • Amazon S3 転送の概要については、Amazon S3 転送の概要をご覧ください。
  • BigQuery Data Transfer Service の概要については、BigQuery Data Transfer Service の概要をご覧ください。
  • 転送構成に関する情報の取得、転送構成の一覧表示、転送の実行履歴の表示など、転送の使用方法については、転送の操作をご覧ください。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。