L'essentiel d'Apache Spark

Utiliser un Dataset

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Voyez comment créer un Dataset typé plutôt qu'un DataFrame non typé. Ainsi, vous profiterez du typage fort dans votre programme.
03:03

Transcription

Pour l'instant, nous avons travaillé avec un DataFrame et, vous vous en souvenez, le DataFrame c'est une version non typée du Dataset. Ou plutôt, c'est un Dataset d'objets de type raw donc on va dire que c'est une version non typée. Par contre, on peut faire des Datasets fortement typés. Ça peut être utile si vous voulez manipuler directement des données bien structurées dans votre code avec plus de facilité. Comment on fait un Dataset fortement typé ? On va définir déjà un type. Ici, mon type si c'est un type complexe, il va falloir que je fasse une classe, une forme de structure, selon les langages. Dans ce cas-là, c'est une classe qui est beaucoup plus simple à instancier et on va faire des comparaisons par contenu plutôt que par référence donc c'est vraiment une classe qui est beaucoup plus adaptée à stocker des données simplement. Ici, je recharge mes données, j'ai réouvert Spark Shell, j'ai enlevé ma référence à Avro. Je n'en ai plus besoin puisque je travaille avec du Parquet maintenant. Je recrée mon DataFrame et vous voyez que dès que j'instancie une valeur et que je récupère, ici, un read.parquet ça va créer par défaut un DataFrame, un Dataset de raw. Par contre comment faire pour avoir un dataset de T, d'un type. Il faut déjà que je crée le type, par exemple, celui-ci. Il faut que je crée une case class que je vais appeler Commune par exemple dans laquelle je vais mettre le code, en String (S majuscule) dans ce cas-là. Ensuite le nom en String, il y avait le type de Commune, je peux le mettre comme ça, en String puis la Population en linked. Voilà, ma classe est définie. Maintenant je vais reprendre ceci et je vais faire un read.parquet etc... à la fin As pour pouvoir typer le résultat, il faut donc que ça corresponde et je vais donner le nom du type, bien entendu. Comme vous pouvez le voir, ça n'a pas très bien marché donc qu'ai-je fait comme bêtise ? On remonte, sur le Stack de l'erreur, et on me dit : « cannot resolve type Commune » Oui, c'est de ma faute, j'ai écrit type Commune comme ceci alors que dans le format Parquet, c'est type souligné Commune. Il faut vraiment que ça corresponde comme je vous le disais. C'est de ma faute, j'ai fait une bêtise. On va faire comme ceci : type_commune on va l'écrire exactement comme dans le schéma Parquet, c'est un peu mieux et je recommence. Ensuite, j'ai donc pratiquement les mêmes méthodes, le DataFrame est un Dataset donc je vais pouvoir utiliser les mêmes méthodes que mon DataFrame pour travailler avec mon Dataset typé.

L'essentiel d'Apache Spark

Analysez des données volumineuses avec Apache Spark. Chargez vos données pour les analyser, profitez des opérations de transformation et des actions pour agréger vos données, etc.

3h11 (38 vidéos)
Aucun commentaire n´est disponible actuellement
Logiciel :
Spécial abonnés
Date de parution :16 mars 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !