sql >> データベース >  >> RDS >> Mysql

MySQLからBigQueryにデータを移行するためのベストプラクティス

    私は同じ問題で実行しています、これが私の解決策です:

    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
    

    メモ

    1. MySQLデータベースのいずれかのフィールドにタブ文字が含まれている場合(\t )、それはあなたの列を壊します。これを防ぐには、SQL関数REPLACE(<column>, '\t', ' ')を追加します。 列に表示され、タブからスペースに変換されます。

    2. Big Queryのウェブインターフェースでテーブルスキーマを設定する場合、CSVを読み込むたびにテーブルスキーマを指定する必要はありません。

    これがお役に立てば幸いです。



    1. スライドデッキと#SQLintersectionのサンプル

    2. MariaDBクラスターにMaxCtrlを使用したMaxScale基本管理-パート2-

    3. 一般的にどの列が適切なインデックスになりますか?

    4. SQL Serverでの1753年1月1日の重要性は何ですか?