尽管表没有更新,但BigQuery加载CSV文件“成功”

时间:2018-03-16 15:16:50

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

我正在尝试将CS​​V上传到Google BigQuery中的预先存在的表格,尽管该表格未更新。它说工作“成功”加载,我没有错误。除非我查看表格,否则它不会添加新添加的CSV行。

我有'追加到表'的设置,虽然它没有附加到表。

我尝试过的事情包括:复制具有相似名称的表格,以便能够选择'over write table'/''写入如果为空'即使我知道这不是我想要的,我增加了'允许的错误数'即使没有错误,启用'允许引用的换行符','允许锯齿状行'和'忽略未知值'在一起并分开,用自动检测模式重新创建表,手动创建模式,设置所有将模式中的条目值设置为STRING,将所有值设置为适用的数据类型。我更改了分隔符,但发现这些值是用逗号分隔的(谁会猜到!)alothough我注意到当我更改分隔符时,它实际上会将行添加到表中。我使用Numbers打开CSV文件,然后再次将其作为CSV文件导出。

我的想法很少,我可以尝试。如果有人知道什么可以帮助我,或者我已经留下任何细节,请告诉我。

如果对于不同的SlackExchange网站来说这更像是一个问题,或者这只是一个愚蠢的问题,我深表歉意。

全部谢谢!

编辑2018/03/19: 工作负荷的结果:

Job Load Successful
Job ID  fire2018dgk:EU.bquijob_836dd47_1622f49b68e
Creation Time   Mar 16, 2018, 3:49:53 PM
Start Time  Mar 16, 2018, 3:49:55 PM
End Time    Mar 16, 2018, 3:49:57 PM
User    fire2018@fog.com
Destination Table   firefog:data-warehouse.dgk
Write Preference    Append to table
Source Format   CSV
Delimiter   ,
Skip Leading Rows   1
Allow Quoted Newlines   true
Allow Jagged Rows   true
Source URI  uploaded file
Schema  
id: STRING
timestamp: STRING
abandonned: STRING
campaign_type: STRING
campaign: STRING
call_type: STRING
holds: STRING
hold_time: STRING
call_time: STRING
talk_time: STRING
agents_email: STRING
priority: STRING
phone_number: STRING
date: STRING
day_of_week: STRING
time_of_call: STRING

更新2018/03/19: 我遇到的这个问题并不仅限于这个表,我也有这个问题与数据库中的另一个表,但这里奇怪的是我使用的是以前的工作量,我知道其他一些过去上传的工作我有使用相同的工作量完成。

1 个答案:

答案 0 :(得分:0)

我从未使用过BigQuery,这只是我的猜测。 csv文件中列的顺序与表的顺序不匹配。在mysql中有一个命令" describe table_name"在哪里可以看到表格中列的顺序。

另一件事是确保你没有外键给它不存在的表。

长话短说,csv列的顺序和上传csv文件很重要。

同样,我只是浪费了3天与mysql这个问题,我想分享我的意见。