L'architecte Big Data doit connaître les séries : qualité des données et nettoyage des données

Auteur : Zen et l'art de la programmation informatique

1. Introduction

Aperçu

Cet article présentera et développera la qualité et le nettoyage des données sous les aspects suivants :

  1. Finalité de la collecte de données
  2. L’importance de l’assurance qualité des données
  3. Processus de nettoyage des données
  4. Introduction aux outils de nettoyage de données et à leurs caractéristiques
  5. Analyse de cas - nettoyage des données du portrait utilisateur

Finalité de la collecte de données

Le but de la collecte de données est généralement de générer des informations précieuses qui peuvent nous aider à découvrir des choses auxquelles nous ne nous attendions pas ou à fournir une meilleure aide à la décision. Par conséquent, pendant le processus de collecte de données, des facteurs tels que l'intégrité, l'exactitude et la fiabilité des données doivent être vérifiés pour garantir que la qualité des données répond aux exigences. Alors, comment garantir efficacement la qualité des données ? Cela nécessite des connaissances liées à l'assurance qualité des données, y compris les objectifs de la collecte des données, les méthodes de collecte des données, les mesures de contrôle de la qualité des données, les mécanismes de surveillance de la qualité des données, etc.

L’importance de l’assurance qualité des données

L'assurance qualité des données (Data Quality Assurance) est un élément important de la gestion de la sécurité des données. Elle se concentre principalement sur le maintien de la qualité des données, l'amélioration du niveau de qualité des données et la prévention des dommages, des fuites et des falsifications des données. L’assurance qualité des données peut être divisée en deux niveaux : l’assurance qualité statique et l’assurance qualité dynamique. L'assurance qualité statique signifie que les données ont été suffisamment garanties lors de leur stockage et qu'aucune modification n'est apportée aux données. Cette qualité des données est immuable. L'assurance qualité dynamique consiste à assurer la haute efficacité et la fiabilité de la qualité des données selon le cycle de vie des données, en garantissant l'exactitude, l'exhaustivité, la cohérence et l'actualité des données. L’importance de l’assurance qualité des données se reflète principalement dans trois aspects :

  • Protéger la sécurité des données : l'assurance qualité des données peut protéger les données contre les violations illégales, les abus, les fuites, la falsification et d'autres risques de sécurité. Tels que les informations personnelles, les informations client, les données produits, etc.
  • Améliorer la valeur des données : l'assurance qualité des données peut aider les entreprises à collecter des informations réelles et efficaces et à utiliser les données pour générer une nouvelle valeur grâce à une analyse efficace des données.
  • Promouvoir le développement commercial : l’assurance qualité des données peut favoriser un développement commercial rapide et parvenir à une croissance durable.

Processus de nettoyage des données

Le nettoyage des données fait référence au traitement, à la conversion et au filtrage des données originales pour répondre aux besoins et aux normes de qualité d'utilisation des données. Le nettoyage des données peut être effectué sous diverses perspectives, comme le nettoyage des données structurées, semi-structurées, non structurées, etc. Le travail de nettoyage des données peut également être effectué selon différentes étapes. Voici le processus général de nettoyage des données :

  1. Collecte de données : y compris les systèmes d'entreprise, les données d'interface tierces, les fichiers journaux, etc.
  2. Transmission de données : en raison de facteurs tels que l'environnement réseau et les limitations de performances du périphérique matériel, la transmission de données peut ne pas être fluide, de sorte que la transmission de données ne répond souvent pas aux exigences.
  3. Préservation des données : une fois les données transmises et stockées, des problèmes tels qu'une perte d'informations, des erreurs, un manque, une duplication, etc. peuvent survenir, entraînant une faible qualité des données.
  4. Vérification de la qualité des données : en plus de la vérification régulière des données, le nettoyage des données devrait également introduire davantage d'indicateurs pour évaluer la qualité des données. Tels que le taux de correspondance d'identifiant unique, le taux d'enregistrement en double, la plage de valeurs, etc.
  5. Nettoyage des données : le but du nettoyage des données est d'effectuer la conversion, le filtrage, la suppression, etc. nécessaires sur les données originales afin de supprimer ou de corriger les erreurs et anomalies de données afin de garantir que la qualité des données répond aux exigences.
  6. Intégration des données : après le nettoyage des données, celles-ci devront peut-être être réintégrées avant de pouvoir être utilisées pour un traitement et une analyse ultérieurs des données.

Introduction aux outils de nettoyage de données et à leurs caractéristiques

Le nettoyage des données fait référence au traitement, à la transformation et au filtrage des données originales pour les rendre conformes aux besoins et aux normes de qualité d'utilisation des données. Les outils de nettoyage des données peuvent choisir différents outils pour le nettoyage des données en fonction de différents scénarios d'application, comme indiqué dans le tableau suivant :

Nom de l'outil Scène applicable Caractéristiques
Services d'intégration SQL Server (SSIS) Nettoyage des données structurées Personnalisable et puissant
Ruche Apache Nettoyage des données structurées Rapide et adapté au traitement de grandes quantités de données
Hadoop MapReduce Nettoyage des données distribuées Facile à utiliser et hautement évolutif
Studio ouvert Talend Nettoyage des données semi-structurées/non structurées Interface visuelle, fonctions complètes
Gestionnaire de données Nettoyage des données Web Simple à utiliser, fonction unique

Analyse de cas - nettoyage des données du portrait utilisateur

Introduction aux données de portrait d'utilisateur

Le « profilage des utilisateurs » est un processus qui mappe une grande quantité de données utilisateur en étiquettes ou caractéristiques de chaque utilisateur via un certain modèle informatique en analysant un grand nombre d'enregistrements historiques, d'habitudes de consommation, de préférences, de tendances de préférences et d'autres informations des utilisateurs. Les portraits d'utilisateurs peuvent être utilisés à des fins de marketing de précision, de publicité, d'optimisation du trafic, de recommandations hiérarchiques, de contrôle des risques en temps réel, d'avertissement par défaut, etc., afin d'améliorer l'efficacité organisationnelle et d'augmenter l'efficience de la transformation de l'entreprise.

Pour les sociétés Internet généralistes, les portraits d'utilisateurs sont généralement nettoyés par des « ingénieurs en portraits d'utilisateurs ».

Par exemple, généralement, les données de portrait d'utilisateur sont divisées en deux types : les données « structurées » et les données « non structurées ». Les données structurées font référence à une certaine structure, comme le nom, l'âge, l'adresse, la profession, etc. d'un utilisateur, qui sont clairement définies ; les données non structurées sont relativement complexes, comme la navigation de l'utilisateur, ses habitudes de recherche, ses commentaires, le contenu aimé, etc.

Pour les données structurées, des outils tels que SQL Server Integration Services (SSIS) ou Apache Hive sont généralement utilisés pour le nettoyage des données. Sa tâche principale est de vérifier et de corriger le type de données et la validité de chaque champ, de supprimer les données invalides, de supprimer les données en double, de nettoyer les données anormales, de convertir les horodatages au format de date, etc.

Pour les données non structurées, des outils tels que Talend Open Studio ou Data Wrangler sont généralement utilisés pour le nettoyage des données. Sa tâche principale est de résumer, fusionner, classer, étiqueter, dédupliquer, associer, etc. des données provenant de différentes sources pour former des données de portrait d'utilisateur standardisées et faciles à utiliser. Parmi eux, l'association, la déduplication et l'étiquetage sont très importants.

Exemple : nettoyage des données du profil utilisateur

détails de la mission

Un grand site de commerce électronique contient une très grande quantité de données et génère chaque jour d’énormes quantités de données utilisateur. Parmi eux, les données sur les portraits des utilisateurs sont relativement désordonnées et irrégulières et doivent être nettoyées. Les exigences spécifiques sont les suivantes :

  • Supprimez tous les enregistrements avec des professions nulles car il est impossible de distinguer si les utilisateurs avec ces valeurs nulles n'ont vraiment pas besoin d'informations sur les professions.
  • Remplacez les numéros de la boîte aux lettres par le symbole @ pour faciliter l'analyse ultérieure.
  • Dans le genre, M représente un homme, F représente une femme et U représente un inconnu. Dans les autres cas, conservez les valeurs d'origine.
  • Les enregistrements dont l'âge est supérieur à 120 ans sont uniformément marqués comme ayant plus de 120 ans.
  • Les dossiers des personnes de moins de 18 ans enregistrées avant juillet 2019 seront effacés.
  • Marquez l'emplacement de l'utilisateur en fonction du pays et de la région et supprimez les informations au niveau provincial et municipal.
  • Remplacez les quatre chiffres du milieu de votre numéro de téléphone mobile par des astérisques (*) pour protéger la confidentialité.
  • Établissez des portraits d'utilisateurs basés sur des données telles que les intérêts, les loisirs et les habitudes de consommation, et effectuez un étiquetage précis des utilisateurs, notamment « gourmets », « loisirs de voyage », « célébrités Internet », etc.
  • Effectuez une analyse de corrélation sur l'achat de produits, la recherche, la collecte et d'autres données pour analyser le type de produits, les marques et les styles que les utilisateurs aiment, etc.
  • Générez des rapports pour compter le nombre d'utilisateurs dans divers domaines et communiquez-les au personnel concerné à l'avance.
solution
Nettoyage des données SSIS

Tout d'abord, nous pouvons utiliser SSIS pour importer des données de portrait d'utilisateur, puis définir plusieurs règles de nettoyage pour traiter les données.

  1. Supprimer tous les enregistrements avec des professions nulles : étant donné que les utilisateurs avec des professions nulles ne peuvent pas distinguer s'ils n'ont vraiment pas besoin d'informations sur la profession, nous pouvons supprimer l'enregistrement directement ici. Utilisez la fonction de filtre pour déterminer s'il convient de supprimer des enregistrements selon que la valeur du champ Occupation est vide.

Si vous connaissez le langage de développement SSIS, vous pouvez également écrire directement le script correspondant puis appeler ce script dans la fonction d'expression intégrée SSIS.

  1. Remplacez les numéros de la boîte aux lettres par le symbole @ : La boîte aux lettres contient des noms d'utilisateur sous forme numérique, qui ne sont pas standardisés, ils doivent donc être remplacés par le symbole @. À l'aide de la fonctionnalité de script, vous pouvez effectuer des opérations de chaîne arbitraires entre les champs.
  1. En genre, M représente un homme, F représente une femme et U représente inconnu : le champ de genre peut avoir des formats tels que M, m, masculin, masculin, etc. Ici, vous pouvez utiliser des fonctions de script pour unifier différents formats.
  1. Marquer uniformément les enregistrements dont l'âge est supérieur à 120 ans comme étant âgés de plus de 120 ans : ici, vous pouvez utiliser l'instruction conditionnelle IF pour déterminer si la valeur du champ d'âge est supérieure à 120 ans. Si elle est supérieure à 120 ans, définissez la valeur d’âge sur 120 ans.
  1. Supprimez les enregistrements âgés de moins de 18 ans et enregistrés avant juillet 2019 : ici, vous pouvez utiliser une expression pour calculer le décalage horaire entre l'heure d'enregistrement et la date actuelle, et filtrer en fonction de l'âge.
  1. Marquez l'emplacement de l'utilisateur en fonction du pays et de la région, et supprimez les informations au niveau provincial et municipal : ce type d'informations peut être extrait de l'adresse IP, mais l'adresse IP est parfois cryptée, cette méthode ne peut donc pas être utilisée directement ici. Il est recommandé d’envisager des balises de géolocalisation basées sur des bases de données de localisation des villes.
  1. Remplacez les quatre chiffres du milieu du numéro de téléphone mobile par des astérisques (*) pour protéger la confidentialité : il est préférable d'afficher uniquement les quatre derniers chiffres du numéro de téléphone mobile, mais si vous ne souhaitez pas exposer les véritables informations privées, vous pouvez remplacez-le par des astérisques.
  1. Établissez des portraits d'utilisateurs basés sur des données telles que les intérêts, les loisirs, les habitudes de consommation, etc., et effectuez un étiquetage précis des utilisateurs : ce type d'étiquette peut utiliser le mode observateur pour modéliser l'historique, les recherches, les likes, la navigation et d'autres comportements de l'utilisateur. , puis générez une étiquette différente. Il n'y a plus d'exemples ici.

  2. Effectuer une analyse de corrélation sur l'achat de produits, la recherche, la collecte et d'autres données pour analyser le type de produits, les marques et les styles que les utilisateurs aiment, etc. : ce type d'analyse de corrélation peut être modélisé à l'aide de méthodes d'apprentissage automatique, mais étant donné que le volume de données est important et implique beaucoup de données privées, aucun exemple n’est donné ici pour le moment.

  3. Générer un rapport pour compter le nombre d'utilisateurs dans chaque champ : Grâce aux étapes ci-dessus, nous avons nettoyé les données du portrait de l'utilisateur, puis nous pouvons générer un rapport pour compter le nombre d'utilisateurs dans chaque champ.

通过结果,我们可以发现,原有用户画像数据中有些用户的性别、职业信息都已清洗完毕,手机号码替换成了星号,邮箱中用户名使用了@符号。而新生成的用户画像数据,则可以对用户的消费习惯、兴趣爱好等进行详细的分析。
Nettoyage des données Apache Hive

Pour les données de portrait d'utilisateur, Apache Hive est généralement utilisé comme entrepôt de données. Hive offre de riches fonctionnalités de requête SQL et peut facilement effectuer un travail de nettoyage des données.

  1. Supprimez tous les enregistrements avec des valeurs d'occupation nulles : vous pouvez également utiliser l'instruction SELECT ou DELETE pour terminer la suppression.

    DELETE FROM user_profile WHERE job = '';
  2. Remplacez les numéros de la boîte aux lettres par le symbole @ : Vous pouvez également utiliser la commande SCRIPT ou TRANSFORM combinée à un script Python pour terminer le remplacement.

  3. Dans le genre, M représente un homme, F représente une femme et U représente un inconnu : utilisez également la fonction CASE WHEN...THEN...END ou UDF pour terminer le remplacement.

  4. Unifiez les enregistrements de plus de 120 ans et marquez-les comme ayant plus de 120 ans : utilisez également la fonction CASE WHEN...THEN...END ou UDF pour compléter le marquage.

  5. Supprimez les enregistrements âgés de moins de 18 ans et enregistrés avant juillet 2019 : utilisez également la clause WHERE pour terminer le filtrage.

  6. Marquez l'emplacement de l'utilisateur en fonction du pays et de la région et supprimez les informations au niveau provincial et municipal : utilisez la compression LZO, CREATE EXTERNAL TABLE pour créer une table externe et utilisez les instructions SQl SELECT pour terminer la requête.

  7. Remplacez les quatre chiffres du milieu du numéro de téléphone portable par des astérisques (*) pour protéger la confidentialité : utilisez également la fonction CASE WHEN...THEN...END ou UDF pour terminer le remplacement.

  8. Établissez des portraits d'utilisateurs basés sur des données telles que les intérêts, les loisirs, les habitudes de consommation, etc., et effectuez un étiquetage précis des utilisateurs : ce type d'étiquetage peut être complété à l'aide d'algorithmes de recommandation basés sur le contenu, mais actuellement des méthodes d'étiquetage manuelles sont généralement utilisées.

  9. Effectuer une analyse de corrélation sur des données telles que les achats de produits, les recherches et les collections pour analyser les produits, les marques, les styles que les utilisateurs aiment, etc. : ce type d'analyse peut être réalisé à l'aide de méthodes basées sur le filtrage collaboratif, mais actuellement, il est généralement réalisé. en utilisant la méthode d’annotation manuelle.

  10. Générer des rapports pour compter le nombre d'utilisateurs dans divers domaines : Ce type de rapport peut être réalisé en utilisant HQL ou PL/SQL, mais en raison de la grande quantité de données et de l'implication de nombreuses données privées, aucun exemple n'est donné ici.

Je suppose que tu aimes

Origine blog.csdn.net/universsky2015/article/details/133446379
conseillé
Classement