Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Chargement des données dans l'entrepôt Hive en tant que SCD Type 1.

Publié le par Marius LOWE

Dans cet article, nous chargerons les données client dans l'entrepôt Hive en tant que SCD Type 1. Cette fois, nous suivrons une approche différente pour mettre en œuvre la stratégie d'insertion/mise à jour ou de fusion à l'aide de Hive QL, plutôt que de l'utilitaire de fusion SQOOP.

En utilisant Sqoop, nous allons maintenant charger les données client,  ainsi que le jeu de données incrémentiel de MySQL à HDFS.

Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.

Une fois le Job créé, vérifiez-le et exécutez-le. Ce job Sqoop sera planifié quotidiennement via le workflow Oozie.

Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.
Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.

Nous allons maintenant définir une table externe dans Hive pour les données de transfert du "Customer" ainsi que pour la table de dimensions ORC gérée  par Hive. Se connecter à Beeline CLI en utilisant edw_user utilisateur. Nous allons nous connecter au schéma 'sales_analytics' de Hive.

Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.
Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.

Maintenant, nous définissons notre table de dimension "Customer"  finale en tant que table ORC gérée par Hive(table interne).

Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.

Créons une vue Hive basée sur la table de transfert et de dimensions, qui n’affiche qu’un enregistrement pour chaque «id» unique, en fonction de la dernière valeur du champ «update_date». Une fois que le jeu de données initial ou incrémentiel est dans HDFS, nous allons suivre les étapes ci-dessous pour charger notre dimension client finale.

Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.

En utilisant la vue, nous allons renseigner une table intermédiaire pour charger la table de dimension "Customer" finale. Nous allons maintenant écrire un script pour charger les données d'une table externe dans une table gérée par hive(table interne). Ce script sera utilisé ultérieurement dans oozie workflow manager pour planifier le chargement.

Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.

Exécutez le script pour déclencher le chargement initial des données

Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.
Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.

Enfin, déplacez les fichiers de données "Customer" dans le répertoire d'archivage. Cela sera également utilisé plus tard par oozie.

Chargement  des données dans l'entrepôt Hive en tant que SCD Type 1.
Commenter cet article