特殊字符作为文件分隔符在spark中

时间:2017-08-24 13:19:12

标签: hadoop apache-spark pyspark apache-spark-sql spark-dataframe

我有带特殊分隔符的文本文件:

35¡1682¡231¡20.00000000¡50.00000000¡0.00000000¡0.00000000¡304.1100¡333.110000
¡I¡1¡0¡10¡SHORT NAME
1105682¡0¡100000.00000000¡100000.00000000¡1105682¡D¡D

我想根据特殊分隔符¡将此文件拆分为spark。 请建议解决方法。 此命令的输出将作为

val input_header = sc.textFile(path).first()

Out of sc.textfile

当我在RDD中读取此文件并显示其内容时。它的分隔符为?

1 个答案:

答案 0 :(得分:0)

您可以将文件作为集合位和字符串读取到字符串提供编码。 如果您使用scala API,它将是这样的

val inputHeader = sc.binaryFiles(path).mapValues(line => new String(line.toArray(), StandardCharsets.{your charset})

然后,您可以确保Spark已使用

正确读取您的文件
inputHeader.first