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 csvAPI теперь поддерживает варианты обхода этой проблемы.

Из: 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

Другие вопросы по тегам