Delta/Chargement Incrémentiel dans la Ruche

J'ai le cas d'utilisation ci-dessous :

Mon application dispose d'une table ayant pluriannuel de données dans SGBDR DB. Nous avons utilisé sqoop pour obtenir des données dans HDFS et ont chargé dans la ruche table partitionnée par l'année, le mois.

Maintenant, les mises à jour d'application, et permet d'insérer de nouveaux enregistrements dans la Table de SGBDR table de tous les jours ainsi. Ces enregistrements mis à jour peut s'étendre à travers l'histoire des mois. Dossiers mis à jour et nouvelles de l'insertion des enregistrements peut être déterminée par la mise à jour de champ timestamp (il aura jour en cours d'horodatage).

Maintenant le problème qui se pose ici est : comment faire delta/chargement incrémentiel tableau de la ruche quotidien à l'aide de ces enregistrements mis à jour.

-> je sais qu'il est un sqoop fonctionnalité qui permet d'incrémenter les importations. Mais, seuls les nouveaux importation incrémentielle est pas assez pour nous.

Parce -

-> je ne peux pas insérer directement ces documents (à l'aide d'insert into) dans le tableau de la ruche, car il en résultera des enregistrements en double (mise à jour des dossiers).

-> de la Même façon, je ne peux pas utiliser insert remplacer déclaration que ce sont juste des mise à jour et insérer des enregistrements s'étendant sur plusieurs mois. Insérez remplacer va supprimer plus tôt dossiers.

Bien sûr, l'option la plus facile est d'obtenir des données complètes à l'aide de sqoop tous les jours, mais nous ne voulons pas faire comme le volume de données est important.

Donc , fondamentalement, nous voulons pleinement charger uniquement les partitions pour lesquelles nous avons reçu de mise à jour/insérer des enregistrements.

Nous sommes ouverts à explorer l'option à la ruche ou de sqoop fin. Pouvez-vous s'il vous plaît laissez-nous savoir?

Merci d'avance.

OriginalL'auteur jigarshah | 2014-06-12