• SUPPORT
  • FAQ
  • Redshift
  • 運用
  • Redshiftのテーブルからカラムを削除する場合の手順を教えてください
< Back

Redshiftのテーブルからカラムを削除する場合の手順を教えてください

FlyData Autoloadにてデータ転送先として指定されたテーブルからカラムを削除する場合、FlyData Agentを停止し既存のテーブルのカラムに合致したデータがすべて取り込まれたことを確認してから、カラム削除と新しいデータを転送してください。

FlyData Autoloadでは、FlyData AgentがログファイルをFlyDataサーバへと転送したのち数分の間隔でRedshiftへとデータをLoadしています。FlyData Agentを停止しない状態でRedshiftのテーブルからカラムを削除すると、FlyDataサーバにてLoadを待っているデータとカラムが一致しないため、Loadエラーとなり、後続のデータ取り込みがスタックしてしまいます。

次の手順で対応ください。

  1. FlyData Agentを停止します。
    $ flydata stop
  2. FlyDataサーバに転送されたデータがすべてRedshiftへとLoadされるのを待ちます。
  3. 1時間から2時間ほどお待ちください。
  4. Redshiftのテーブルからカラムを削除します。
    ALTER TABLE <テーブル名> DROP COLUMN <カラム名>;
  5. FlyDataを起動します。
    $ flydata start
  6. 変更されたテーブルの定義に沿ったファイルを出力し、FlyData Agentにて転送させます。