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でのパーティションを利用したデータの挿入と検索