Bigquery PHP创建表架构或从查询结果创建表

何塞·卡罗

我想从查询结果中创建BigQuery表,或者在PHP中使用架构创建表。我现在正在处理这些语句,但是它们正在制作一个空的noschema表:

$postBody = array(  'tableReference' =>
    array(
        'projectId' => $project_id,
        'datasetId' => $dataset,
        'tableId' => 'josetest'
    )
);

$table = $service->tables->insert($project_id, $dataset, new Google_Service_Bigquery_Table($postBody));

我可能找到了python解决方案,但有人可以将其翻译为PHP吗?它是:

"configuration": {
  "query": {
    "query": "select count(*) from foo.bar",
    "destinationTable": {
      "projectId": "my_project",
      "datasetId": "my_dataset",
      "tableId": "my_table"
    },
    "createDisposition": "CREATE_IF_NEEDED",
    "writeDisposition": "WRITE_APPEND",
  }
}
奔腾10
  1. 最简单的方法是使用PHP的Google API客户端库

  2. 看到这篇文章如何实例化Google_Client对象和认证

  3. 我们自己的代码中几个类的一部分。

/**
 * @param Google_Client $client 
 * @param string $project_id
 * @param string $dataset_id
 * @throws Google_Service_Exception
 * @return Google_Service_Bigquery_Table
 */
public function BQ_Tables_Insert($client, $project_id, $dataset_id) {
    $bq = new Google_Service_Bigquery($client);
    $table_reference = new Google_Service_Bigquery_TableReference();
    $table_reference->setProjectId($project_id);
    $table_reference->setDatasetId($dataset_id);
    $table_reference->setTableId(static::tableId());
    $schema = new Google_Service_Bigquery_TableSchema();
    $schema->setFields(static::fields());
    $table = new Google_Service_Bigquery_Table();
    $table->setTableReference($table_reference);
    $table->setSchema($schema);

    try {
        return $bq->tables->insert($project_id, $dataset_id, $table);
    } catch (Google_Service_Exception $e) {
        $this->setErrors($e->getErrors())->setErrorMessage($e->getMessage());
        throw $e;
    }
}

static::tableId()表的名称在哪里,表static::fields()的数组表示形式

/**
 * @see https://developers.google.com/bigquery/docs/reference/v2/tables/insert
 */
public static function fields() {
    return array(
        array('name' => 'user_id', 'type' => 'integer', 'mode' => 'required'),
        array('name' => 'order_id', 'type' => 'integer', 'mode' => 'required'),
        array('name' => 'status', 'type' => 'integer', 'mode' => 'nullable'),
        array('name' => 'timestamp', 'type' => 'timestamp', 'mode' => 'nullable')
    );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为嵌套表创建架构-bigquery

来自分类Dev

从Select Bigquery创建表

来自分类Dev

BigQuery:从数组创建表

来自分类Dev

创建bigquery表架构时出现问题

来自分类Dev

BigQuery:查询特定表的多个架构

来自分类Dev

创建和替换 BigQuery 表

来自分类Dev

BigQuery 在一个查询中创建小样本表

来自分类Dev

BigQuery从CSV创建表-自动创建列

来自分类Dev

BigQuery从CSV创建表-自动创建列

来自分类Dev

从熊猫数据框创建BigQuery表,而无需显式指定架构

来自分类Dev

是否可以在不填充数据的情况下创建BigQuery表/架构?

来自分类Dev

有没有办法将架构的内容创建到 BigQuery 的表中?

来自分类Dev

Bigquery使用Terraform从Sheet文件创建表

来自分类Dev

Bigquery事件流式传输和表创建

来自分类Dev

在 Bigquery 中使用 Python API 创建一个表并查询该表的值

来自分类Dev

BigQuery + PHP查询选择获取临时表

来自分类Dev

bigquery-使用“允许大结果”在创建后管理目标表

来自分类Dev

bigquery-使用“允许大结果”在创建后管理目标表

来自分类Dev

BigQuery根据查询结果创建表格

来自分类Dev

创建查询结果表

来自分类Dev

我们可以使用“创建新的 BigQuery 表作为触发运行预定义 BigQuery 查询的事件”吗?

来自分类Dev

SQLite:为查询结果创建新表并保留原始架构

来自分类Dev

通过Google Cloud Dataflow创建/写入Parititoned BigQuery表

来自分类Dev

在BigQuery中创建页面路径表(路径分析; Unpivot)

来自分类Dev

如何在bigquery中创建分区表

来自分类Dev

如何使用Dataproc Pyspark在BigQuery中创建外部表

来自分类Dev

通过Google BigQuery中的select语句创建或更新表

来自分类Dev

BigQuery-使用分区创建视图,但基本表没有

来自分类Dev

谷歌云BigQuery REST API,使用expirationTime创建表

Related 相关文章

  1. 1

    为嵌套表创建架构-bigquery

  2. 2

    从Select Bigquery创建表

  3. 3

    BigQuery:从数组创建表

  4. 4

    创建bigquery表架构时出现问题

  5. 5

    BigQuery:查询特定表的多个架构

  6. 6

    创建和替换 BigQuery 表

  7. 7

    BigQuery 在一个查询中创建小样本表

  8. 8

    BigQuery从CSV创建表-自动创建列

  9. 9

    BigQuery从CSV创建表-自动创建列

  10. 10

    从熊猫数据框创建BigQuery表,而无需显式指定架构

  11. 11

    是否可以在不填充数据的情况下创建BigQuery表/架构?

  12. 12

    有没有办法将架构的内容创建到 BigQuery 的表中?

  13. 13

    Bigquery使用Terraform从Sheet文件创建表

  14. 14

    Bigquery事件流式传输和表创建

  15. 15

    在 Bigquery 中使用 Python API 创建一个表并查询该表的值

  16. 16

    BigQuery + PHP查询选择获取临时表

  17. 17

    bigquery-使用“允许大结果”在创建后管理目标表

  18. 18

    bigquery-使用“允许大结果”在创建后管理目标表

  19. 19

    BigQuery根据查询结果创建表格

  20. 20

    创建查询结果表

  21. 21

    我们可以使用“创建新的 BigQuery 表作为触发运行预定义 BigQuery 查询的事件”吗?

  22. 22

    SQLite:为查询结果创建新表并保留原始架构

  23. 23

    通过Google Cloud Dataflow创建/写入Parititoned BigQuery表

  24. 24

    在BigQuery中创建页面路径表(路径分析; Unpivot)

  25. 25

    如何在bigquery中创建分区表

  26. 26

    如何使用Dataproc Pyspark在BigQuery中创建外部表

  27. 27

    通过Google BigQuery中的select语句创建或更新表

  28. 28

    BigQuery-使用分区创建视图,但基本表没有

  29. 29

    谷歌云BigQuery REST API,使用expirationTime创建表

热门标签

归档