J'ai des enregistrements de 1,2M à ma base de données MongoDB. Et je veux stocker toutes ces données à HBase par programme. Fondamentalement, j'essaie de mettre chaque enregistrement récupéré à HBase dans une boucle. Après l'opération est terminée, j'ai obtenu seulement 39912 enregistrements sur HBase.HBase ne stocke pas tous les enregistrements
Voici ce que j'ai essayé:
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();
}
Pouvez-vous vérifier si certains enregistrements ont le même identifiant de tweet? Si c'est le cas, l'enregistrement suivant remplacera le précédent. – zsxwing
je vous remercie beaucoup @zsxwing, je pensais peut-être qu'il peut encore insérer des enregistrements malgré la duplication. Ce serait mieux si vous publiez ce commentaire comme réponse pour guider les autres. Ensuite, je vais le marquer comme "réponse de question". – talha06