Google bigquery 将Google Cloud SQL导出为CSV时的自定义分隔符

Google bigquery 将Google Cloud SQL导出为CSV时的自定义分隔符,google-bigquery,google-cloud-sql,Google Bigquery,Google Cloud Sql,我已经成功地将GCloud SQL导出为CSV,默认分隔符为“,”。我想把这个CSV导入Google Big Query,我已经成功地做到了 然而,我遇到了一个小问题。在我的一些手机/领域里有“,”。这会导致大查询导入过程无法正常工作。例如: "Budi", "19", "Want to be hero, and knight" 我的问题是: 是否可以使用自定义分隔符(例如“|”)导出Google Cloud SQL 如果没有,如何将上述样本数据导入Google Big Query并变成3个

我已经成功地将GCloud SQL导出为CSV,默认分隔符为“,”。我想把这个CSV导入Google Big Query,我已经成功地做到了

然而,我遇到了一个小问题。在我的一些手机/领域里有“,”。这会导致大查询导入过程无法正常工作。例如:

"Budi", "19", "Want to be hero, and knight"
我的问题是:

  • 是否可以使用自定义分隔符(例如“|”)导出Google Cloud SQL
  • 如果没有,如何将上述样本数据导入Google Big Query并变成3个字段/单元格
干杯

是否可以使用自定义分隔符(例如“|”)导出Google Cloud SQL

是的,请参阅BigQuery的文档页如何设置本文档中提供的加载选项

您需要在命令中添加
--field_delimiter='|'

从文件中:

(可选)CSV文件中字段的分隔符。分隔符可以是任何ISO-8859-1单字节字符。要使用128-255范围内的字符,必须将字符编码为UTF8。BigQuery将字符串转换为ISO-8859-1编码,并使用编码字符串的第一个字节以原始二进制状态拆分数据。BigQuery还支持转义序列“\t”来指定制表符分隔符。默认值是逗号(


据我所知,在从CloudSQL导出到CSV时,有一种设置自定义分隔符的方法。我试图通过如下公式化select查询来引入我自己的分隔符:

select column_1||'|'||column_2 from foo
但这只会导致CloudSQL在生成的带有双引号的CSV中转义整个结果。这也与说明以下内容的文件一致:

以CSV格式导出相当于运行以下SQL语句:

选择到输出文件中。。。字符集“utf8mb4”
字段以“,”结尾,也可以用“\”括起
由'\\'行转义,以'\n'结尾

Hi Tamir,我使用字段分隔符将自定义CSV导入Google Big Query。我的问题是如何使用客户分隔符从Google Cloud SQL导出CSV?
  SELECT <query> INTO OUTFILE ... CHARACTER SET 'utf8mb4'
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
    ESCAPED BY '\\' LINES TERMINATED BY '\n'