gpt4 book ai didi

node.js - 用于创建外部表的 BigQuery Node.js api

转载 作者:太空宇宙 更新时间:2023-11-04 00:25:36 24 4
gpt4 key购买 nike

我正在尝试使用node.js API 从谷歌云函数创建外部表。该函数将从 GCS 存储桶变化触发。我可以创建 native 表,但不能创建外部表。在用于导入的node.js api here ,configuration.load 元数据没有将其指定为外部表的设置。这是到目前为止我用于创建 native 表的代码。我的问题是“如何使用 Node.js Api 为 GCS 存储桶创建外部表”

    const projectId = "N"
const bigquery = BigQuery({
projectId: projectId
});
const storage = Storage({
projectId: projectId
});

const dataset = bigquery.dataset("dataset");

const table = dataset.table("test_data");

const bucket = storage.bucket("my-bucket");

const file = bucket.file("2017/03/02/*");

let job;

// Imports data from a GCS file into a table
return table.import(file,{"sourceFormat":"AVRO"})
.then((results) => {
job = results[0];
console.log(`Job ${job.id} started.`);
return job.promise();
})
.then((results) => {
console.log(`Job ${job.id} completed.`);
return results;
});

最佳答案

我在阅读了一些文档后找到了解决方案。联合表不能通过加载/导入来工作。它们只是与 externalConfig 设置一起提交。所以这段代码对我有用

const dataset = bigquery.dataset("dataset");
var options = {
"externalDataConfiguration": {
"sourceUris": ["gs://my-bucket/2017/03/20/*"],
"sourceFormat": "AVRO",
"maxBadRecords": 0,
"autodetect": true
}
}
dataset.createTable("test_data_20170320",options, function(err, table, apiResponse){
console.log(err)
console.log(table)
console.log(apiResponse)
})

关于node.js - 用于创建外部表的 BigQuery Node.js api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42916072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com