gpt4 book ai didi

google-cloud-platform - 使用指向 GCS 文件的永久外部表时,Google BigQuery 缺少行

转载 作者:行者123 更新时间:2023-12-05 06:36:52 25 4
gpt4 key购买 nike

我正在使用 BigQuery 并尝试使用它来查询 Google Cloud Storage 存储桶中的 CSV 文件。我遇到了一些奇怪的行为——只有当 CSV 中有 3 行,并且第一行在任何字段中包含一个字符串时——当查询表时,第一行丢失。

重现步骤:

创建myfile.csv:

testin,2,2
testing3,3,4

将文件复制到 GCS:

gsutil cp myfile.csv gs://bucket/

创建指向gs://bucket/myfile.csv的外部表:

bq mk --external_table_definition=Field1:STRING,Field2:STRING,Field3:INTEGER@CSV=gs://bucket/myfile.csv dataset.table

查询表以确保其正常工作:

bq query "SELECT * FROM dataset.table;"

应输出以下内容:

Waiting on biquery_job_id_1234567 ... (0s) Current 
status: DONE
+----------+--------+--------+
| Field1 | Field2 | Field3 |
+----------+--------+--------+
| testin | 2 | 2 |
| testing3 | 3 | 4 |
+----------+--------+--------+

一切顺利,继续解决 bug..

myfile.csv 更改为如下所示:

1,h,3
testin,2,2
testing3,3,4

覆盖gs://bucket/myfile.csv:

gsutil cp myfile.csv gs://bucket/

再次查询dataset.table:

bq query "SELECT * FROM dataset.table;"

输出:

Waiting on bigquery_job_78901234 ... (0s) Current status: DONE
+----------+--------+--------+
| Field1 | Field2 | Field3 |
+----------+--------+--------+
| testin | 2 | 2 |
| testing3 | 3 | 4 |
+----------+--------+--------+

让我们确保 GCS 文件具有正确的数据:

gsutil cat gs://bucket/myfile.csv

输出:

1,h,3
testin,2,2
testing3,3,4

好的,有趣。

更改顶行的中间值,使 myfile.csv 如下所示:

1,2,3
testin,2,2
testing3,3,4

覆盖 GCS 文件:

gsutil cp myfile.csv gs://bucket/

查询表:

bq query "SELECT * FROM dataset.table;"

输出:

Waiting on bigquery_job_4567890 ... (0s) Current status: DONE
+----------+--------+--------+
| Field1 | Field2 | Field3 |
+----------+--------+--------+
| 1 | 2 | 3 |
| testin | 2 | 2 |
| testing3 | 3 | 4 |
+----------+--------+--------+

如果第一行包含前 2 个字段中的字符串,是否有人知道什么情况可能导致第一行丢失?

谢谢,

最佳答案

有一个参数叫做csvOptions.skipLeadingRows用于指定 CSV 文件中“标题行”的数量。

如果未指定 skipLeadingRows,BigQuery 会尝试自动检测标题行的数量。将 skipLeadingRows 手动设置为 0 应该会禁用此行为。

关于google-cloud-platform - 使用指向 GCS 文件的永久外部表时,Google BigQuery 缺少行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48774945/

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