从Cloud Storage中的csv到Big Query表的数据准备流程不完整(并非所有记录都已加载)

时间:2019-06-15 11:14:56

标签: csv google-cloud-platform google-bigquery google-cloud-storage google-cloud-dataprep

我设置了一个 Dataprep预定作业流复制并每天处理存储在 Cloud Storage存储桶中的一些 csv json 文件 到Big Query表。 一切正常,但是自从几天以来,这项工作开始在Big Query中复制的行比csv和json文件中包含的行少。 我不知道这是否相关,但与此同时,上游进程也更改了文件的内容类型。 csvs从 application / octet-stream 切换到 text / csv; charset = utf-8 。 从 application / json application / json的json; charset = utf-8 。 内容类型的这种变化可以某种方式关联吗? 否则有人会有类似的问题吗?

我创建了相同版本的csv文件(具有5条记录),其中一个具有内容类型 application / octet-stream (其他应用程序文本/ csv); charset = utf-8 。然后,我创建了一个简单的Dataprep作业,只需读取csv文件并转换一些整数变量以进行测试,然后将最终结果导出到Big Query表中。

使用 application / octet-stream 编码处理csv的流按预期将5条记录导出到Big Query。用 text / csv处理csv的人; charset = utf-8 ,即使Dataprep Transformer节点中的数据配方显示5条记录,也仅导出3条记录。

在我的目标大查询架构下方找到此处:

CustomerID:STRING,
CustomerUniqueRef:STRING,
BranchID:STRING,
DateCreated:DATETIME,
CreatedBy:STRING,
以前的银行:STRING

我在Dataprep中进行的转换只是将CustomerID,CustomerUniqueRef,CreatedBy和以前存储的数据从INTEGER转换为STRING。

还要找到我的csv进行测试:

CustomerID,CustomerUniqueRef,BranchID,DateCreated,CreatedBy,以前存储 43944,0004674956,004,2019-06-14T10:52:11,77,1 43945,0004674957,004,2019-06-14T10:59:32,77,0 43946,0004674958,004,2019-06-14T11:03:14,77,0 43947,0004674959,004,2019-06-14T11:06:23,77,0 43948,0004674960,004,2019-06-14T11:09:24,77,0

1 个答案:

答案 0 :(得分:1)

我终于找到了问题所在。这是因为Cloud Storage中的csv参数设置错误。其内容类型为text / csv; charset = utf-8和内容编码gzip。所以实际上csv已压缩。转到content-type = text / csv和content-encoding = utf-8可以解决此问题。