Je veux écrire mon dataframe au système de fichiers local:Python & Spark: dataframe Write ne persiste pas sur le système de fichiers
path = "/tmp/test"
df = spark.sql(select_str)
df.write.parquet(path, mode="overwrite", compression="snappy")
Le code fonctionne sans erreur, mais quand je regarde dans tmp
il n'y a test
Et aussi, si je veux lire de nouveau dans parquet pyarrow:
parquet = pq.ParquetDataset(path)
Je reçois l'erreur:
IOError: Passed non-file path: /tmp/test
Il en serait de même pour hdfs://tmp/test
Que manque-t-il ici?
EDIT
J'ai essayé de créer d'abord un fichier réel avant de l'utiliser. J'ai donc créé /tmp/parquet.parquet
. Le fichier peut maintenant être lu mais il est toujours vide. Donc, l'écriture ne fonctionne tout simplement pas.
EDIT 2
Spark Config:
spark = SparkSession.builder \
.master("yarn") \
.appName("my_app") \
.config("spark.driver.bindAddress", "0.0.0.0") \
.config("spark.driver.host", host) \
.config("spark.driver.port", port) \
.config("spark.driver.memory", "4G") \
.config("spark.executor.memory", "8G") \
.config("spark.blockManager.port", portBlockManager) \
.enableHiveSupport() \
.getOrCreate()
Ceci donne le même résultat – Mulgard