gpt4 book ai didi

google-bigquery - 在 Dataflow 中将 BigQuery 联合表作为源读取会引发错误

转载 作者:行者123 更新时间:2023-12-04 23:17:40 25 4
gpt4 key购买 nike

我在 BigQuery 中有一个联合源,它指向 GCS 中的一些 CSV 文件。

当我尝试读取联合 BigQuery 表作为 Dataflow 管道的源时,它会引发以下错误:

    1226 [main] ERROR com.google.cloud.dataflow.sdk.util.BigQueryTableRowIterator  - Error reading from BigQuery table Federated_test_dataflow of dataset CPT_7414_PLAYGROUND : 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Cannot list a table of type EXTERNAL.",
"reason" : "invalid"
} ],
"message" : "Cannot list a table of type EXTERNAL."
}

Dataflow 不支持 BigQuery 中的联合源,还是我做错了什么?我知道我可以将 GCS 中的文件直接读取到我的管道中,但我更喜欢使用 BigQuery TableRow对象而不是由于应用程序的设计。
 PCollection<TableRow> results = pipeline.apply("fed-test", BigQueryIO.Read.from("<project_id>:CPT_7414_PLAYGROUND.Federated_test_dataflow")).apply(ParDo.of(new DoFn<TableRow, TableRow>() {
@Override
public void processElement(ProcessContext c) throws Exception {
System.out.println(c.element());
}
}));

最佳答案

Dataflow BigQuery 源旨在读取“TABLE”类型的 BigQuery 托管表。 (类型定义可以在 https://cloud.google.com/bigquery/docs/reference/v2/tables#type 找到。)不支持 EXTERNAL 和 VIEW 表。

BigQuery 的“联合表”功能允许 bigquery 直接查询 Google Cloud Storage 等地方的数据。 Dataflow 还可以从 Google Cloud Storage 读取文件,因此您应该能够将 Dataflow 计算直接指向要读取的源。

关于google-bigquery - 在 Dataflow 中将 BigQuery 联合表作为源读取会引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36193519/

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