以csv格式推送数据时,如下所示:
G000021318,17.0,New,0.0,None,jan,2010
大查询会删除G00000并将该字段转换为整数。
创建表格的代码如下:
List<String> sources = new ArrayList<String>();
sources.add("gs://" + googleBucket + "/" + accountId + "/" + sourceFile + "_" + account.getSuffix() + "/part*");
loadConfig.setSourceUris(sources);
TableReference tableRef = new TableReference();
tableRef.setDatasetId(datasetId);
tableRef.setTableId(flagVolumeMonthTable + "_" + account.getSuffix());
tableRef.setProjectId(googleProjectId);
loadConfig.setDestinationTable(tableRef);
loadConfig.setFieldDelimiter(",");
loadConfig.setAutodetect(true);
我是否遗漏了某些内容,或者它是Big查询架构检测中的错误?
答案 0 :(得分:2)
问题出现是因为BigQuery的自动检测代码检测到G000021318
由G
前缀导致Haitian gourde货币符合ISO标准格式,并急切地将数据解释为INT64
代表21318
古德:)
我们修复了自动检测代码,只对明确的货币符号做出反应,如$,€,£,¥,¢等。
附:修复程序将在几周内传播到生产系统中。