是否有方法/库来取消/序列化Dynamodb转储文件数据?

时间:2015-03-18 02:55:48

标签: java amazon-dynamodb

我的目标是从Dynamodb转储文件中读取,每行将该行反序列化为POJO,修改它,将其序列化为字符串,然后将该字符串写入文件;最后一步是使用我编写修改后的字符串的文件将数据导入Dynamodb。

想象一下我有一个带有以下内容的dynamodb转储文件:

nameETX{"s":"batman"}STXtimestampETX{"s":"2015-03-04"}STXstatusETX{"s":"APPROVED"}
nameETX{"s":"batman"}STXtimestampETX{"s":"2015-03-04"}STXstatusETX{"s":"APPROVED"}
nameETX{"s":"batman"}STXtimestampETX{"s":"2015-03-04"}STXstatusETX{"s":"APPROVED"}
nameETX{"s":"batman"}STXtimestampETX{"s":"2015-03-04"}STXstatusETX{"s":"APPROVED"}

是否有可用于实现此目的的库或工厂方法?

1 个答案:

答案 0 :(得分:0)

<强> TL; DR

通过STX然后ETX反序列化,将值保存到地图

通过创建发电机数据库格式后的字符串进行序列化

  • STXfield_nameETX{"field_type":"value"}

不幸的是,我没有找到任何可以自动执行此操作的库。

我编写了自己的de / serializer来实现这一目标。

由于每个变量都有STX / ETX分隔符:

  • 我用STX分割每一行

    • 这会给我:[nameETX{"s":"batman"},timestampETX{"s":"2015-03-04"},statusETX{"s":"APPROVED"}]
  • 由此,我再次由ETX拆分

    • 这会给我:["name", "{"s":"batman"}"]
  • 对于每个字段,我将其保存到地图中;该值应该从json字符串中解析出来。

对于序列化,它更简单,只需将字段名称与STX和ETX连接,然后将该值附加为json字符串。