Spark写镶木地板不写任何文件,只有_SUCCESS

时间:2016-06-06 10:56:19

标签: python scala apache-spark spark-dataframe parquet

该申请包括

myTable.parquet

这会创建dir _SUCCESS,除了空stats.show // illustration only here, original size motivates parquet use +-----+----+ | id | n | +-----+----+ | a | 1 | | b | 2 | +-----+----+ stats.printSchema root |-- id: string (nullable = true) |-- n: long (nullable = true) 文件之外没有任何内容,即使是

write.parquet

如何让saveAsTextFile写出数据帧的实际内容?缺少什么?

注意 {{1}}也会出现这种情况。

2 个答案:

答案 0 :(得分:1)

在我的情况下,当我尝试将文件保存到本地文件系统而不是可从Spark群集访问的文件系统时,就会发生这种情况。

该文件由Spark工作节点编写,而不是由PySpark客户端编写,因此应将其输出到工作节点和客户端均可访问的文件系统。

答案 1 :(得分:0)

一种可能是您查看了错误的目录。 Spark使用的默认文件系统由fs.defaultFS Hadoop配置选项指定。例如,如果您有类似

的内容
<property>
  <name>fs.defaultFS</name>
  <value>file:///tmp</value>
</property>

core-site.xml中,如果省略输出路径的URL方案,则Spark会写入本地文件系统而不是HDFS。反之亦然,如果它是

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://some-host:9000</value>
</property>

Spark默认写入HDFS。