在通过Spark读取文件时,默认的输入文件分隔符是换行符(\n)。可以使用"textinputformat.record.delimiter"属性定义自定义分隔符。
但是,是否可以为同一个文件指定多个分隔符?
假设文件具有以下内容:
COMMENT,A,B,C
COMMENT,D,E,
F
LIKE,I,H,G
COMMENT,J,K,
L
COMMENT,M,N,O
我希望使用COMMENT和LIKE作为分隔符而不是换行符读取此文件。
尽管如此,如果在Spark中不允许使用多个分隔符,我已经想出了一种替代方法。
val ss = SparkSession.builder().appName("SentimentAnalysis").master("local[*]").getOrCreate()
val sc = ss.sparkContext
sc.hadoopConfiguration.set("textinputformat.record.delimiter", "COMMENT")
val rdd = sc.textFile("<filepath>")
val finalRdd = rdd.flatmap(f=>f.split("LIKE"))
但是,我认为拥有多个自定义分隔符会更好。在Spark中是否可能实现?还是我必须使用上述替代方案?