2016-11-02 5 views
1

可能な限り高速に大きなクエリ結果を取得する必要があります。 BQは順次ページ付けを許可しますが、時間がかかりすぎる(10分で200K行)。BigQuery - 並列ページングを使用して多数の行を取得する

パラレルページネーションを実行することは可能ですか?そうであれば、パフォーマンスは実際にパラレルリクエストの数に沿って向上しますか?

答えて

1

クエリ結果がテーブルに書き込まれていることがわかっている場合は、匿名または名前を指定して永続的にすることができます。

このテーブルを使用すると、tabledata.list API呼び出しを使用してデータを取得できます。オプションのパラメータの下には、startIndexパラメータが表示されます。パラメータは任意の値に設定でき、ページネーションスクリプトで使用できます。

リクエストを高速化するさまざまなオフセットを使用して、並列API呼び出しを実行できます。データが大きすぎる場合は、あなたが悪いことをしていないことを確認してください。

https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/list

+0

ありがとうございます。 私はそれを認識しています。より管理されたソリューションがあるかどうかを理解しようとしています。 たとえば、問題の1つは、前進から1つのチャンクに返される行の数がわかりません。 200Kを20Kの10個の要求に分割することを選択した場合でも、BQは各チャンクに対して一度に8K行しか返しません。 これは、最終的に私はすべてのデータを取得するために10X3の要求を行うことを意味します。 解決策はありますか? – supermax2015

+0

まで私はあなたがそれをスクリプト化する必要があることを知っている、多分ページ設定の2つのレベルを持つ必要があります – Pentium10

関連する問題