【发布时间】:2019-11-27 02:49:55
【问题描述】:
我将 pyspark 中的数据框保存到特定位置,但看不到目录中的文件。他们在哪?我如何在 pyspark 之外找到他们?以及如何删除它们?关于火花的工作原理,我缺少什么?
这是我保存它们的方法...
df.write.format('parquet').mode('overwrite').save('path/to/filename')
接下来的作品……
df_ntf = spark.read.format('parquet').load('path/to/filename')
但是没有文件出现在路径/到/文件名中。
这是在 cloudera 集群上,如果需要任何其他详细信息来诊断问题,请告诉我。
EDIT - 这是我用来设置我的 spark 上下文的命令。
os.environ['SPARK_HOME'] = "/opt/cloudera/parcels/Anaconda/../SPARK2/lib/spark2/"
os.environ['PYSPARK_PYTHON'] = "/opt/cloudera/parcels/Anaconda/envs/python3/bin/python"
conf = SparkConf()
conf.setAll([('spark.executor.memory', '3g'),
('spark.executor.cores', '3'),
('spark.num.executors', '29'),
('spark.cores.max', '4'),
('spark.driver.memory', '2g'),
('spark.pyspark.python', '/opt/cloudera/parcels/Anaconda/envs/python3/bin/python'),
('spark.dynamicAllocation.enabled', 'false'),
('spark.sql.execution.arrow.enabled', 'true'),
('spark.sql.crossJoin.enabled', 'true')
])
print("Creating Spark Context at {}".format(datetime.now()))
spark_ctx = SparkContext.getOrCreate(conf=conf)
spark = SparkSession(spark_ctx)
hive_ctx = HiveContext(spark_ctx)
sql_ctx = SQLContext(spark_ctx)
【问题讨论】:
-
您的资源管理器是什么?您要将文件保存在本地还是 hdfs?您正在使用哪种模式进行火花作业(本地/集群/客户端)
-
@user805。老实说不知道,这是一个黑匣子,我被告知只需最少的培训即可使用。我将编辑我的答案,以展示我被教导创建火花上下文的方式,希望这会有所启发!
标签: python-3.x apache-spark pyspark cloudera