【问题标题】:Saving a string to HDFS creates line feeds for each character将字符串保存到 HDFS 会为每个字符创建换行符
【发布时间】:2014-11-18 19:33:53
【问题描述】:

我有一个从本地系统读取的纯文本文件,我正在上传到 HDFS。我有读取文件的 Spark/Scala 代码,将文件转换为字符串,然后我使用 saveAsTextFile 函数指定我希望保存文件的 HDFS 路径。请注意,我使用合并功能是因为我希望保存一个文件,而不是拆分文件。

import scala.io.Source

val fields = Source.fromFile("MyFile.txt").getLines
val lines = fields.mkString

sc.makeRDD(lines).coalesce(1, true).saveAsTextFile("hdfs://myhdfs:8520/user/alan/mysavedfile") 

我的代码成功地将我的文本保存到 HDFS,但不幸的是,由于某种原因,我的字符串中的每个字符后面都有一个换行符。

有没有办法解决这个问题?

【问题讨论】:

    标签: scala hdfs apache-spark


    【解决方案1】:

    我无法完全按照我的意愿工作,但我确实想出了一个解决方法。我将设备保存在本地,然后通过 Scala 调用 shell 命令将完成的文件上传到 HDFS。很简单。

    如果有人能告诉我如何将字符串直接复制到 HDFS 中的文件,我将不胜感激。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-29
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      相关资源
      最近更新 更多