LoginSignup
5
4

More than 5 years have passed since last update.

DynamoDB エクスポートファイルをJSONファイルに置換

Last updated at Posted at 2015-01-29

DyanmoDBをExportする際に、コンソールからAWS DataPipelineを利用してエクスポートされる訳だが、
実際S3にエクスポートされたファイルを見てみると...

hoge^C{"s":"hogehoge"}^Bfoo^C{"s":"fooou"}

1行に key { "type" : value } という形でkeyとvalueの区切りが結構特殊らしい。
DataPipelineを利用して再びDyanamoDBにインポートする際は問題ないのだが、
他のDB(RDBMSやMongoDB等)に移行したいときにこのままではあまりにも不便...

いろいろ調べたところ、sedコマンドでJSONに置換するやり方があったので、
このコマンドを利用してJSONファイルに変換したら良さそうだ
http://stackoverflow.com/questions/18896329/export-data-from-dynamodb/23705962#23705962

以下引用

sed -e 's/$/}/' -e $'s/\x02/,"/g' -e $'s/\x03/":/g' -e 's/^/{"/' <exported_table> > <exported_table>.json

ただ、このまま使用しても1行単位では置換されるが、全体でみた場合、
JSONファイルとしては成立しない(Syntax Error)ファイルとなるので、
JSONファイルとして置換するコマンドを作成しました。
https://github.com/tatsu07/convert_DynamoDB_S3File_To_JSON

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4