Spark-SQL : Comment lire un TSV ou fichier CSV dans dataframe et d'appliquer un schéma personnalisé?
Je suis en utilisant Spark 2.0 tout en travaillant avec séparées par des tabulations valeur (TSV) et de valeurs séparées par des virgules (CSV) des fichiers. Je veux charger les données dans Spark-SQL dataframes, où je voudrais contrôler le schéma complètement lorsque les fichiers sont lus. Je ne veux pas d'Étincelle à deviner le schéma de données dans le fichier.
Comment puis-je charger TSV ou des fichiers CSV dans Spark SQL Dataframes et d'appliquer un schéma?
OriginalL'auteur stackoverflowuser2010 | 2017-04-20
Vous devez vous connecter pour publier un commentaire.
Trouverez ci-dessous une Étincelle 2.0 exemple de chargement séparé par des tabulations valeur (TSV) fichier et l'application d'un schéma.
Je suis en utilisant le Iris ensemble de données en format TSV de UAH.edu comme un exemple. Voici les premières lignes de ce fichier:
À appliquer un schéma, vous pouvez créer par programmation à l'aide de deux méthodes:
A. Créer le schéma avec
StructType
:B. Sinon, vous pouvez créer le schéma avec un
case class
etEncoders
(cette approche est moins détaillé):Une fois que vous avez créé votre schéma, vous pouvez utiliser
spark.read
à lire dans le fichier TSV. Notez que vous pouvez également lire les valeurs séparées par des virgules (CSV) des fichiers, ou tout les fichiers délimités, aussi longtemps que vous le définissez laoption("delimiter", d)
option correctement. De plus, si vous avez un fichier de données qui contient un en-tête de ligne, assurez-vous de définiroption("header", "true")
.Ci-dessous est le code final:
Et voici le résultat:
OriginalL'auteur stackoverflowuser2010