私は同じ問題で実行しています、これが私の解決策です:
MySQLからのデータのエクスポート
まず、次の方法でMySQLからデータをエクスポートします。
SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY ''
FROM table <yourtable>
これは実際にはtsvファイル(タブ区切りの値)ですが、csv思考としてインポートできます。
BigQueryにインポート
このようにして、次のパラメータを使用してBigQueryにインポートできるようになります。
bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json
メモ
-
MySQLデータベースのいずれかのフィールドにタブ文字が含まれている場合(
\t
)、それはあなたの列を壊します。これを防ぐには、SQL関数REPLACE(<column>, '\t', ' ')
を追加します。 列に表示され、タブからスペースに変換されます。 -
Big Queryのウェブインターフェースでテーブルスキーマを設定する場合、CSVを読み込むたびにテーブルスキーマを指定する必要はありません。
これがお役に立てば幸いです。