1

我有一系列.txt文件需要上传到 Google Cloud,以便在 BigQuery 中从中创建一些表。这些文件是分隔符为“;”的表格。

出于某种原因,当文件处于此形状时,BigQuery 似乎在识别列(自动或不自动)方面存在问题,即使指定“;”也是如此。作为分隔符。

我生成了一个示例表,并查找并替换了“;” 带有一些“,”并将文件保存为.csv. 现在 BigQuery 在创建 apt 表时没有问题。

问题:我应该查找并替换所有表格中的所有分隔符吗?还是我错过了什么?

如果是,我如何在 OS 10 上实现 sep 提示命令?(文件很大,我在使用 UltraEdit 时也遇到了及时替换字符的问题)

最好的!

4

1 回答 1

1

为了解决这个问题 - 您可以上传只有一列的文件,然后在 BigQuery 中有数据后 - 使用 SQL 将其解析为您需要的任何架构。我认为这是处理这个问题的最通用和最简单的方法。通常SPLIT(col, ';')会在下面非常简化的示例或更复杂的情况下使用REGEXP_EXTRACT_ALL()

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 'aa,a;bbb;ccc' col
)
SELECT 
  SPLIT(col, ';')[SAFE_OFFSET(0)] col1, 
  SPLIT(col, ';')[SAFE_OFFSET(1)] col2, 
  SPLIT(col, ';')[SAFE_OFFSET(2)] col3
FROM `project.dataset.table`   

结果

Row col1    col2    col3     
1   aa,a    bbb     ccc  
于 2018-11-19T16:59:24.083 回答