如何将spark rdd保存到csv文件

我有一个要求检索cassandra表数据并将其保存到文件系统(Linux文件系统)。

该文件不应该分裂成多个节点,它应该创build在一个单一的节点。

我们有四个以spark模式运行的节点(datastax)cassandra集群。 dse版本:5.0.1 Spark版本:1.6.1

这里是我的示例代码:

val sc = new SparkContext(conf) val sqlContext1 = new CassandraSQLContext(sc); sqlContext1.setKeyspace("KeyspaceName"); val results = sqlContext1.sql("SELECT * FROM KeyspaceName.TableName"); results.collect().foreach(println); 

现在结果RDD。 需要在一个节点上保存到本地文件系统(linux)。

我跟着一些博客,但没有工作。 有人可以指导解决这个问题吗?

输出位置需要由您的Spark集群中的所有节点访问。 您可以将位置映射为networking文件夹,并将其指定为输出位置。

Spark 2+
results.write.csv(path_to_network_folder)

Spark 1.6与Scala 2.11
https://github.com/databricks/spark-csv添加依赖关系spark-csv ,如下所示:
libraryDependencies += "com.databricks" % "spark-csv_2.11" % "1.5.0"

代码将如下所示: results.write.format("com.databricks.spark.csv").save(path_to_network_folder)