2017-07-10 2 views
2

L'approche des données Lake (selon diapositive 5 here) est:U-SQL schéma Discovery

  1. Ingest toutes les données - indépendamment des exigences
  2. stocker toutes les données - en format natif sans définition de schéma
  3. Faire l'analyse - en utilisant des moteurs comme Hadoop

Mais disons que nous avons chargé un grand nombre de jeux de données dans notre Data Lake, comment puis-je procéder à la découverte de schémas de façon automatisée et évolutive? r? Est-ce que U-SQL supporte la découverte de schémas dynamiques ou quel serait un bon moyen de le faire en utilisant ADLA ou un autre ensemble d'outils?

Répondre

1

C'est une bonne question mais la réponse dépend un peu du schéma que vous voulez découvrir.

Permettez-moi d'expliquer:

Si vous avez des données de type CSV, il y a des outils, y compris la dernière version des outils ADL pour VisualStudio qui va essayer de détecter votre schéma à partir des données fournies (les outils seront effectivement générer la déclaration EXTRACT pour vous).

Certains langages interactifs peuvent également vous fournir des extracteurs qui tentent de déduire le schéma dans le cadre de la requête. Nous ne supportons pas cela en U-SQL pour le moment, parce que vous ne voulez pas avoir un travail par lots inférer le schéma à tort et échouer après avoir dépensé peut-être beaucoup d'argent pour exécuter le travail. Dans un cadre interactif, il est moins coûteux et peut être facilement corrigé/écrasé par l'auteur de la requête.

Si vous avez cependant des données telles que des images ou des documents texte et même des documents semi-structurés imbriqués comme JSON ou XML, le schéma que vous souhaitez doit souvent être fourni. Par exemple, si vous avez un fichier JPEG, voulez-vous les propriétés EXIF? Si oui, lesquels? Ou une extraction de certaines fonctionnalités? Ou une analyse de couleur? Je pense donc qu'une chose importante lors de la conception d'un Data Lake est d'avoir une organisation sémantiquement significative des données au format natif dans les structures de dossiers et d'utiliser Views/TVF pour fournir les vues schématisées dans le service de métadonnées pour les rendre plus facilement détectables, ou utilisez un service comme Azure Data Catalog pour décrire les données.

Si vous avez déjà des données dans le stockage du lac et que vous voulez le découvrir, vous devez maintenant créer une forme de découverte avec U-SQL et les SDK ou un outil qui va à l'encontre des API WebHDFS du magasin .