gpt4 book ai didi

scala - 在 spark 中设置 textinputformat.record.delimiter

转载 作者:可可西里 更新时间:2023-11-01 14:18:26 27 4
gpt4 key购买 nike

在 Spark 中,可以设置一些 hadoop 配置设置,例如

System.setProperty("spark.hadoop.dfs.replication", "1")

这有效,复制因子设置为 1。假设是这种情况,我认为这种模式(在常规 hadoop 配置属性前加上“spark.hadoop.”)也适用于textinputformat.record.delimiter:

System.setProperty("spark.hadoop.textinputformat.record.delimiter", "\n\n")

不过spark好像直接忽略了这个设置。我是否以正确的方式设置了 textinputformat.record.delimiter?是否有更简单的方法来设置 textinputformat.record.delimiter。我想避免编写自己的 InputFormat,因为我实际上只需要获取由两个换行符分隔的记录。

最佳答案

我使用以下函数处理普通未压缩文件。

import org.apache.hadoop.io.LongWritable
import org.apache.hadoop.io.Text
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat

def nlFile(path: String) = {
val conf = new Configuration
conf.set("textinputformat.record.delimiter", "\n")
sc.newAPIHadoopFile(path, classOf[TextInputFormat], classOf[LongWritable], classOf[Text], conf)
.map(_._2.toString)
}

关于scala - 在 spark 中设置 textinputformat.record.delimiter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com