Chargement des données dans l'entrepôt Hive en tant que SCD Type 1.
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.
Une fois le Job créé, vérifiez-le et exécutez-le. Ce job Sqoop sera planifié quotidiennement via le workflow Oozie.
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.
Maintenant, nous définissons notre table de dimension "Customer" finale en tant que table ORC gérée par Hive(table interne).
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.
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.
Exécutez le script pour déclencher le chargement initial des données
Enfin, déplacez les fichiers de données "Customer" dans le répertoire d'archivage. Cela sera également utilisé plus tard par oozie.