将CSV文件从Google云端存储导入Google Cloud SQL

时间:2015-03-10 23:29:18

标签: csv import google-cloud-storage google-cloud-sql

我正在尝试使用以下命令将csv文件直接导入Google Cloud SQL。

LOAD DATA LOCAL INFILE "gs:/zuds/stg/ems/product_offering_fact/000002_0" INTO TABLE buydoc CHARACTER SET "utf8" FIELDS TERMINATED BY "^";

由于某种原因,它返回如下错误。我已确认该文件存在。但是,请注意错误字符串中的路径只有一个'/' 这是一个错误还是我错过了一些明显的东西?

ERROR 2 (HY000) at line 1: File 'gs:/zuds/stg/ems/product_offering_fact/000002_0' not found (Errcode: 2)

注意:如果我使用下面链接中描述的用户界面,则可以使用。但是,UI不支持非逗号分隔文件。 https://cloud.google.com/sql/docs/import-export

2 个答案:

答案 0 :(得分:3)

Cloud SQL不支持使用" gs://"运行LOAD DATA LOCAL INFILE。路径。在UI中,正如文档建议的那样,此时仅支持以逗号分隔的文件。以下是两种解决方法:

  1. 将您的文件转换为CSV并通过UI进行导入
  2. 将gs://文件下载到本地磁盘,然后运行LOAD DATA LOCAL INFILE指向本地磁盘上的路径。

答案 1 :(得分:2)

  

不支持的MySQL语句:发送以下任何类型的语句   SQL语句将生成错误消息“错误1290:   MySQL服务器正在运行谷歌选项,所以它不能   执行此声明“

     

LOAD DATA INFILE注意:支持LOAD DATA LOCAL INFILE。选择 ...   INTO OUTFILE SELECT ... INTO DUMPFILE INSTALL PLUGIN ...卸载   PLUGIN CREATE FUNCTION ... SONAME ...

https://cloud.google.com/sql/faq#supportmysqlfeatures

此外,mysql命令行不会理解gs://文件引用。