2016-04-07 12 views
0

UI BigQuery export table to csv fileで結果をエクスポートしようとしたが、今はglcoudコマンドラインを使用しています。ここ制限を使用しているときに返す応答が大きすぎます

スニペット:

def main(query, file_, max_=1000): 
    page = 0 
    start = 0 
    while True: 
     with open(file_, "ab") as fh: 
      try: 
       query = ("bq query --start_row=%d --max_rows_per_request=%d " 
         "'%s'" % (start, max_, query)) 
       query_result = subprocess.check_output(query, shell=True) 
       fh.write(query_result) 
      except subprocess.CalledProcessError: 
       break 
      page += 1 
      start = page * max_ + 1 

しかし、最初のクエリは私を与える実行し、失敗しました:

--allow_large_resultsを使用して

enter image description here

は私のクエリ操作で」BigQueryのエラーを与える:allow_large_resultsが必要ですdestination_table "エラー。

私の質問はかなりシンプルです:結果をエクスポートするために大きなテーブルに改ページする方法は?

答えて

1

結果をエクスポートするために大きなテーブルにページングする方法はありますか?

あなたの結果が目的のテーブルを使用して結果を書き込むために必要な上記の上限である128MBを超えているようです。これが完了したら、結果をGCSにエクスポートすることができます。BigQuery export table to csv file

+0

私が行ったこと:クエリ=>テーブルへのエクスポート=> Googleストレージへのエクスポート=> gsutilファイルのダウンロード。 1GBのテーブル(〜300MBのgzipped一度)の結果を得るために私は約45分かかりました! :( –

+0

SOの重要な点 - 投稿された回答の左側のチェックマークを使って、「受け入れられた回答をマークする」ことができます。http://meta.stackexchange.com/questions/5234/how-does-acceptingなぜそれが重要なのか、答えは#5235だと答えている人に投票するのにも大事なことだと思う。 –

+0

あなたは正しいですが、テーブルサイズが何であれ、結果全体を取得する方法を探しています。:) –

関連する問題