在Spark中,可以设置一些hadoop配置设置,例如
System.setProperty("spark.hadoop.dfs.replication", "1")这是可行的,复制因子被设置为1。假设是这种情况,我认为这个模式(前缀为"spark.hadoop.“到常规hadoop配置属性),也适用于textinputformat.record.delimiter:
System.setProperty("spark.hadoop.textinputformat.record.delimiter", "\n\n")然而,似乎spark只是忽略了这个设置。我是否以正确的方式设置textinputformat.record.delimiter?有没有更简单的方法来设置textinputformat.record.delimiter。我希望避免编写自己的InputFormat,因为我真的只需要获取由两个换行符分隔的记录。
发布于 2014-01-03 15:18:52
我用下面的函数来处理普通的未压缩文件。
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)
}https://stackoverflow.com/questions/17692857
复制相似问题