【问题标题】:Where is spark/pyspark saving my parquet files?spark/pyspark 在哪里保存我的镶木地板文件?
【发布时间】: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


【解决方案1】:

好的,我和一位同事已经想通了。这并不复杂,但我们只是简单的数据科学家,所以对我们来说并不明显。

基本上,这些文件保存在不同的 hdfs 驱动器中,而不是我们使用 Jupyter 笔记本运行查询的驱动器。

我们通过做找到了他们;

hdfs dfs -ls -h /user/my.name/path/to

【讨论】:

    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 2017-06-20
    • 2019-01-08
    • 2022-06-16
    • 1970-01-01
    • 2017-05-08
    • 2019-11-20
    • 2018-08-13
    相关资源
    最近更新 更多