3

ユーザーが bigquery データにフィルタを適用し、csv または json としてエクスポートできるサービスを作成しています。bigquery が一連の行をエクスポートするのにかかる時間を見積もる方法はありますか。

現在、行数とエクスポート ジョブの完了にかかった時間を記録しています。次に、単一の行をエクスポートする平均時間を取り、時間を見積もります。しかし、それは確かに直線的な問題ではありません。

予測アルゴリズムに関する提案も素晴らしいでしょう。

4

1 に答える 1

1

残念ながら、エクスポートにかかる時間を正確に予測する方法はありません。いくつかの要因があります。

  • テーブルが分割されたデータの「シャード」の数。これは、データの圧縮率と、テーブルを bigquery にロードした方法にある程度関連しています。BigQuery は、抽出先として「glob」パスを渡す限り、並行して抽出を試みます (例: gs://foo/bar/baz*.csv)。
  • テーブルのサイズ。
  • 同時に実行されている抽出ジョブの数。システム全体の負荷が高いほど、抽出ジョブで使用できるリソースが少なくなります。

これらの要因のほとんどは実際には制御できないため、ベスト プラクティスは次のとおりです。

  • bigquery が並行して抽出できるように、常に glob パスを宛先パスとして渡します。
  • テーブルが小さい場合は、エクスポートする代わりに tabledata.list を使用してデータを抽出できます。

抽出のパフォーマンスに関していくつか未解決のバグがあり、対処に取り組んでいます。

于 2014-09-15T16:59:17.270 に答える