【发布时间】:2014-11-09 06:50:00
【问题描述】:
我已成功将数据集加载到 Dynamo DB。然后我想从 dynamo DB 中读取数据并加载到 .csv 文件中。 weka 使用这个文件来开发集群。不幸的是,只有少数从 dynamo DB 读取的数据被加载到 .csv 文件中。下面是从 Dynamo DB 中读取数据的 sn-p。我的 Dynamo DB 中有 2201 条记录,但它突然停止在第 1986 条记录和第 3 列中写入文件。我已经尝试了我在网上找到的所有可能的解决方案,但无法解决。请有人帮助我。
//从dynamobb扫描数据
ScanRequest scanRequest = new ScanRequest().withTableName(tablename[2]);
ScanResult result = client.scan(scanRequest);
for (Map<String, AttributeValue> item : result.getItems()){
printItem(item,writer);
}
//将数据附加到一个空的 CSV 文件中
private static void printItem(Map<String, AttributeValue> attributeList,FileWriter writer) {
int i=1;
System.out.println("Inside printItem");
try{
int k=1;
for (Map.Entry<String, AttributeValue> item : attributeList.entrySet()) {
AttributeValue value = item.getValue();
String valueName= value.getS();
writer.append(valueName);
if(k<=4){
writer.append(',');
}
++i;
++k;
}
writer.append('\n');
++count;
}
catch (IOException e) {
e.printStackTrace();
}
}
【问题讨论】:
-
您确定首先返回了完整的数据集吗?
-
我刚刚检查过了。它不是读取整个数据。所以从 Dynamo DB 中读取的语句是错误的。
-
您应该查看丢失了哪些记录并使用它来找出原因。
标签: java csv amazon-dynamodb export-to-csv filewriter