[英]HBase doesn't store all records
我在MongoDB数据库中有1.2M记录。 我想以编程方式将所有这些数据存储在HBase中 。 基本上我尝试将每个检索到的记录放入循环中的HBase。 操作完成后,我在HBase上只获得了39912条记录。
这是我尝试过的:
Configuration config = HBaseConfiguration.create();
String tableName = "storedtweet";
String familyName = "msg";
String qualifierName = "msg";
HTable table = new HTable(config, tableName);
// using Spring Data MongoDB to interact with MongoDB
List < StoredTweet > storedTweetList = mongoDAO.getMongoTemplate().findAll(StoredTweet.class);
for (StoredTweet storedTweet: storedTweetList) {
Put p = new Put(Bytes.toBytes(storedTweet.getTweetId()));
p.add(Bytes.toBytes(familyName), Bytes.toBytes(qualifierName), Bytes.toBytes(storedTweet.getMsg()));
table.put(p);
table.flushCommits();
}
如果某个行键存在并再次放入,HBase Put将覆盖前者。 我认为有些记录在您的数据中具有相同的推文ID(您将其设置为行键)。 这就是有些记录消失的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.