如何将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)