JSONデータを格納するmongoDBがあります。クエリの目的で、データをRedshiftに移行したかったのです。
mongoexport csvを使用してmongoテーブルからcsvを作成し、S3にアップロードしました。 Redshiftで対応するリレーショナルスキーマを作成し、copyコマンドを使用してこれらのcsvデータをs3からredshiftにロードしました。
java apisを使用してmongoにクエリを実行し、csvを作成してs3にアップロードできます。同じものをredshiftにロードできます。
本当の問題は、mongo(json)またはNoSQLを使用しているため、同じテーブル(JSONと同様)に属する特定のオブジェクトの列数が異なる可能性があることですが、Redshiftではテーブルごとの列数が固定されているため、このような場合は可能なすべての列を作成し、データをロードする必要があります。すべての列がないオブジェクトについては、null値を入力できます。