val value:String = "\u0001"+ "V1" + "\u0002"
val df = Seq((value)).toDF("f1")
df.show
现在df对于字段f1有适当的值。但是,当使用spark以build csv格式编写以下代码时,^a,^b字符不会显示在输出中。
df.write.format("csv").option("delimiter", "\t").option("codec", "bzip2").save("temp_out")
这里的temp\u out输出没有显示字段f1的任何^a,^b字符
期待一些建议。
1条答案
按热度按时间t9aqgxwy1#
如果spark的保存操作删除某些字符,您会注意到当您打开csv文件时,这些字节丢失了。首先,看一下
value
:df.rdd.map(_.mkString("\t")).saveAsTextFile("temp_out")
spark.read.option("delimiter", "\t").csv("temp_out/").take(1)(0).getString(0).getBytes()
result is Array[Byte] = Array(1, 86, 49, 2)