Google cloud sql экспорт csv завершается ошибкой, когда содержит нули
Я экспортирую таблицу из моей базы данных Mysql в Cloud Sql с помощью команды,
gcloud sql export csv INSTANCE URI --query = QUERY
У меня есть файл в моем ведре, но когда я пытаюсь импортировать его в Bigquery, он терпит неудачу, я заметил, что все нули заменяются на "n,
даже не закрывать цитату.
Я обнаружил, что это известная ошибка, https://cloud.google.com/sql/docs/mysql/known-issues
У кого-то есть временное решение?
большое спасибо.
2 ответа
Решение этой проблемы по-прежнему решается командой Cloud SQL. Вы можете оставаться в курсе этой темы
Если вам нужно использовать CSV, вы можете попробовать использовать клиент SQL для выполнения импорта с параметрами, которые вы предпочитаете ( LOAD DATA LOCAL INFILE) вместо использования API импорта Cloud SQL
The
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») в качестве escape-символа по умолчанию. Это может быть проблемой для баз данных, где значения для NULL вводятся как строковые литералы. При импорте файла, который был экспортирован с использованием escape-символа по умолчанию, файл обрабатывает значение не как NULL, а как «NULL». Мы рекомендуем использовать --escape="5C" для переопределения значения по умолчанию при экспорте файла.
Например,
gcloud sql export csv --escape="5C" INSTANCE URI --query = QUERY