加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 使用spark-csv写入单个CSV文件

发布时间:2020-12-16 09:43:55 所属栏目:安全 来源:网络整理
导读:我正在使用 https://github.com/databricks/spark-csv,我试图写一个单一的CSV,但不能,它正在制作一个文件夹。 需要一个scala函数,它将采用路径和文件名等参数,并写入该CSV文件。 解决方法 它正在创建一个包含多个文件的文件夹,因为每个分区都是单独保
我正在使用 https://github.com/databricks/spark-csv,我试图写一个单一的CSV,但不能,它正在制作一个文件夹。

需要一个scala函数,它将采用路径和文件名等参数,并写入该CSV文件。

解决方法

它正在创建一个包含多个文件的文件夹,因为每个分区都是单独保存的。如果您需要单个输出文件(仍在文件夹中),则可以在保存之前重新分区数据框:

df
   // place all data in a single partition 
   .coalesce(1)
   .write.format("com.databricks.spark.csv")
   .option("header","true")
   .save("mydata.csv")

所有数据将被写入mydata.csv / part-00000。在使用此选项之前,请确保您了解发生了什么,以及将所有数据传输给单个工作人员的成本是多少。如果您使用分布式文件系统进行复制,则数据将被多次传输 – 首先将其提取到单个工作程序,然后分布在存储节点上。

或者,您可以保留代码,并使用像猫或HDFS getmerge这样的通用工具,以便稍后合并所有部分。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读