Pythonでのgoogle-cloud-bigqueryライブラリを利用したBigQueryへのストリーミング挿入 - 株式会社CoLabMix

Pythonでのgoogle-cloud-bigqueryライブラリを利用したBigQueryへのストリーミング挿入

前回に引き続きgoogle-cloud-bigqueryのライブラリを使ってpythonでBigQueryの操作を行います。

前回まではBigQueryへのデータ登録などはDMLでのデータの登録を行なっていましたが制限が多くあります。

・割り当てと制限
https://cloud.google.com/bigquery/quotas?hl=ja

 

そこで、データの登録量の多い時にデータの登録をおこな方法としてはストリーミング挿入での登録を行います。

・BigQuery へのデータのストリーミング
https://cloud.google.com/bigquery/streaming-data-into-bigquery?hl=ja

・Life of a BigQuery streaming insert
https://cloud.google.com/blog/products/gcp/life-of-a-bigquery-streaming-insert

 

BigQuery へストリーミング挿入でデータの登録

以下はシンプルなストリーミング挿入での方法です。

 

最後の「result」の中にエラーの結果が入ってきます。

尚、ストリーミング挿入ではDMLとは違い結果が反映されるのに時間がかかります。

30分以上の時間がかかることが普通にあるので即時性のある操作は行えません。

最大90分の待機時間を要する場合があります。

また、サンプルではデータを1件登録していますが、1度の登録でのデータは500件程度の登録を推奨されています。(最大、10,000件)

これらをうまく使いデータの登録をする必要があります。

 

★関連記事
Pythonでのgoogle-cloud-bigqueryライブラリを利用したBigQueryの操作を標準SQLとレガシーSQLで実施(データの取得)
Pythonでのgoogle-cloud-bigqueryライブラリを利用したBigQueryのシンプルなデータ挿入とデータ更新
Pythonでのgoogle-cloud-bigqueryライブラリを利用したBigQueryでのパーティションを利用したデータの挿入と検索

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

    関連記事

    1. AWS Lambda でS3にファイルがアップロードされたのを検知する…

    2. Elasticsearch 6 を使ったデータ検証 その2(マッピング…

    3. Drone構築手順 その1

    4. Elasticsearch 6 を使ったデータ検証 その5( クエリ …

    5. Scrapyでデータの保存をmongodbにしてみる(Scrapy そ…

    6. autditbeatをcentos7にインストールして監査ログをとって…