如何将spark rdd保存到csv文件

时间:2017-10-24 20:33:23

标签: node.js csv

我需要检索cassandra表数据并将其保存到文件系统(linux文件系统)。

文件不应拆分为多个节点,应该在一个节点中创建。

我们有四个节点(datastax)cassandra集群以spark模式运行。 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)。

我关注了一些博客,但没有奏效。有人可以指导解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

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

Spark 2 +
results.write.csv(path_to_network_folder)

使用Scala 2.11的Spark 1.6
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)