【问题标题】:Load a local file into bigquery with php使用 php 将本地文件加载到 bigquery 中
【发布时间】:2015-04-20 20:05:16
【问题描述】:

希望使用 google-php-api 将本地文件加载到 bigquery 中,目前我正在使用:

    $load = new Google_Service_Bigquery_JobConfigurationLoad();
    $load->setDestinationTable($table);
    $load->setSourceUris()
    $load->setSourceFormat('NEWLINE_DELIMITED_JSON');
    $load->setMaxBadRecords(1);

    $config = new Google_Service_Bigquery_JobConfiguration();
    $config->setLoad($load);

    $job = new Google_Service_Bigquery_Job();
    $job->setConfiguration($config);
    $job->setKind('load');

    return $this->service->jobs->insert(PROJECT, $job);

我遇到的问题是

$load->setSourceUris()

只接受 google 存储 uri,我想使用本地文件。或者,我可以一次将多行流式传输到 bigquery 中,但是我只想加载一个文件或“批量插入”有没有办法做到这一点?

【问题讨论】:

    标签: php google-bigquery


    【解决方案1】:

    您只能加载上传到 Google Cloud Storage 的文件,不能上传本地文件。您需要先将文件上传到 GCS。

    您可以从本地文件批量流式传输文件内容。

    【讨论】:

    • 虽然我不介意流式传输,但每个请求的推荐批量大小是多少?我需要平均每分钟插入 60000 个,并希望确保尽可能优化
    • 您可以并行运行作业,流式插入有严格限制,请参见此处:cloud.google.com/bigquery/streaming-data-into-bigquery#quota 没有太多可调整的地方,您有 HTTP 请求大小限制。
    猜你喜欢
    • 2022-07-11
    • 1970-01-01
    • 2018-03-28
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多