【问题标题】:Google cloud sql export csv fails when contains nulls谷歌云 sql 导出 csv 在包含空值时失败
【发布时间】:2019-04-25 09:37:25
【问题描述】:

我正在使用命令从 Cloud Sql 中的 Mysql 数据库中导出一个表,

gcloud sql export csv INSTANCE URI --query = QUERY

我的存储桶中有文件,但是当我尝试导入 Bigquery 时它失败了,我注意到所有空值都被替换为 "n,

甚至没有关闭报价。

我发现这是一个已知的错误, https://cloud.google.com/sql/docs/mysql/known-issues

有人有临时解决办法吗?

非常感谢。

【问题讨论】:

    标签: google-cloud-sql gcloud export-csv


    【解决方案1】:

    gcloud sql export csv API 现在支持解决此问题的选项。

    发件人:https://cloud.google.com/sql/docs/mysql/import-export/import-export-csv#export_data_to_a_csv_file

    注意:Cloud SQL 使用双引号(十六进制值“22”)作为默认转义字符。对于以字符串文字形式输入 NULL 值的数据库来说,这可能是个问题。导入使用默认转义字符导出的文件时,文件不会将该值视为 NULL,而是视为“NULL”。我们建议您在导出文件时使用 --escape="5C" 覆盖默认值。

    例如,gcloud sql export csv --escape="5C" INSTANCE URI --query = QUERY

    【讨论】:

      【解决方案2】:

      Cloud SQL 团队目前仍在解决此问题。你可以关注this thread

      如果您必须使用 CSV,可以尝试使用 SQL 客户端使用您喜欢的选项 (LOAD DATA LOCAL INFILE) 发出导入,而不是使用 Cloud SQL 导入 API

      【讨论】:

      • 两年过去了,这仍然是个问题。
      猜你喜欢
      • 2012-12-15
      • 1970-01-01
      • 2021-02-12
      • 2019-04-15
      • 1970-01-01
      • 2014-09-04
      • 2019-01-30
      • 2020-05-21
      • 2015-01-23
      相关资源
      最近更新 更多