Google 云 sql 包含空值时导出 csv 失败
Google cloud sql export csv fails when contains nulls
我正在使用命令 Sql 从云 Mysql 数据库中导出 table,
gcloud sql export csv INSTANCE URI --query = QUERY
我的存储桶中有该文件,但是当我尝试导入 Bigquery 时它失败了,我注意到所有空值都被替换为“n,
甚至没有关闭报价。
我发现这是一个已知错误,
https://cloud.google.com/sql/docs/mysql/known-issues
有人有临时解决方案吗?
非常感谢。
Cloud SQL 团队目前仍在解决此问题的修复程序。您可以在 this thread
上保持更新
如果您必须使用 CSV,您可以尝试使用 SQL 客户端使用您喜欢的选项 (LOAD DATA LOCAL INFILE) 发出导入,而不是使用云 SQL 导入API
gcloud sql export csv
API 现在支持解决此问题的选项。
发件人:https://cloud.google.com/sql/docs/mysql/import-export/import-export-csv#export_data_to_a_csv_file
Note: Cloud SQL uses double quotes (hex value "22") as the default escape character. This can be a problem for databases where values for NULL are entered as string literals. When importing a file that was exported using the default escape character, the file doesn't treat the value as NULL but as "NULL". We recommend that you use --escape="5C" to override the default when you export the file.
例如,gcloud sql export csv --escape="5C" INSTANCE URI --query = QUERY
我正在使用命令 Sql 从云 Mysql 数据库中导出 table,
gcloud sql export csv INSTANCE URI --query = QUERY
我的存储桶中有该文件,但是当我尝试导入 Bigquery 时它失败了,我注意到所有空值都被替换为“n,
甚至没有关闭报价。
我发现这是一个已知错误, https://cloud.google.com/sql/docs/mysql/known-issues
有人有临时解决方案吗?
非常感谢。
Cloud SQL 团队目前仍在解决此问题的修复程序。您可以在 this thread
上保持更新如果您必须使用 CSV,您可以尝试使用 SQL 客户端使用您喜欢的选项 (LOAD DATA LOCAL INFILE) 发出导入,而不是使用云 SQL 导入API
gcloud sql export csv
API 现在支持解决此问题的选项。
发件人:https://cloud.google.com/sql/docs/mysql/import-export/import-export-csv#export_data_to_a_csv_file
Note: Cloud SQL uses double quotes (hex value "22") as the default escape character. This can be a problem for databases where values for NULL are entered as string literals. When importing a file that was exported using the default escape character, the file doesn't treat the value as NULL but as "NULL". We recommend that you use --escape="5C" to override the default when you export the file.
例如,gcloud sql export csv --escape="5C" INSTANCE URI --query = QUERY