【问题标题】:BigQuery Table Data ExportBigQuery 表数据导出
【发布时间】:2015-09-06 18:45:49
【问题描述】:

我正在尝试使用 python api 从BigQuery 表中导出数据。表包含 1 到 4 百万行。所以我将maxResults 参数保持在最大值,即 100000,然后分页。但问题是,在一页中我只得到 2652 行,所以分页数太多了。任何人都可以为此提供理由或解决方案。格式为 JSON。 或者我可以不使用 GCS 将数据导出为 CSV 格式吗?

我尝试插入作业并保留allowLargeResults =true,但结果保持不变。

以下是我的查询正文:

queryData = {'query':query,
                     'maxResults':100000,
                     'timeoutMs':'130000'}

提前致谢。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    您可以尝试使用 bq 命令行工具 https://cloud.google.com/bigquery/bq-command-line-tool 从表中导出数据而不使用 GCS,如下所示:

    bq --format=prettyjson query --n=10000000 "SELECT * from publicdata:samples.shakespeare"
    

    您也可以根据需要使用--format=json

    【讨论】:

    • 其实我不能用bq_line,所以我自己写了代码来导入数据。
    • 您能解释一下为什么不能使用 bq cli 吗?也许有办法克服你的局限。
    • 这不是必需的。我有不同的工作环境。
    • 我能知道结果集将放在 unix 路径文件夹中的什么位置吗?它会在 bq 文件夹中吗?
    【解决方案2】:

    实际页面大小不是由行数决定,而是由给定页面中这些行的大小决定。我认为它大约是 10MB
    除了以上条件,用户还可以设置 maxResults 来限制页面中的行数

    【讨论】:

    • 是的,这是真正的大小限制是 10MB,但是当我写入 csv 文件时,我的本地文件大小约为 4 MB。
    • 我的猜测是大小是根据详细的json格式计算的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 2017-11-13
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多