La lecture de parquet fichiers à partir de plusieurs répertoires dans Pyspark
J'ai besoin de lire parquet fichiers à partir de plusieurs chemins qui ne sont pas le parent ou l'enfant répertoires.
par exemple,
dir1 ---
|
------- dir1_1
|
------- dir1_2
dir2 ---
|
------- dir2_1
|
------- dir2_2
sqlContext.read.parquet(dir1)
lit parquet des fichiers à partir de dir1_1 et dir1_2
Droit maintenant, je suis en train de lire chaque dir et la fusion dataframes à l'aide de "unionAll".
Est-il un moyen de lire le parquet des fichiers à partir de dir1_2 et dir2_1 sans l'aide de unionAll
ou est-il de toute façon élégante à l'aide de unionAll
Grâce
OriginalL'auteur joshsuihn | 2016-05-16
Vous devez vous connecter pour publier un commentaire.
Un peu en retard mais j'ai trouvé cela alors que j'étais à la recherche, il peut aider quelqu'un d'autre...
Vous pouvez également essayer de déballage de la liste d'arguments pour
spark.read.parquet()
Cela est pratique si vous souhaitez passer quelques gouttes dans l'argument path:
C'est cool de cause vous n'avez pas besoin de faire la liste de tous les fichiers dans le basePath, et vous avez encore de la partition de l'inférence.
quand j'ai essayé ce code, il me donne une erreur que la charge ne prend que 4 arguments, mais j'ai mes chemins à 24 fichiers.. est-il une option à modifier . J'essaie de ne pas faire de multiples charges et d'une union c'est pourquoi je voudrais l'utiliser pour des charges de plusieurs fichiers pour une df
OriginalL'auteur N00b
À la fois la parquetFile méthode de
SQLContext
et la parquet méthode deDataFrameReader
prendre plusieurs chemins. Si l'une de ces œuvres:ou
OriginalL'auteur John Conley
Juste de prendre John Conley réponse, et embellir un peu et fournir le code complet (utilisé dans Jupyter PySpark) que j'ai trouvé sa réponse extrêmement utile.
OriginalL'auteur VenVig