Jyo*_*jan 6 csv unicode apache-spark
我使用 Spark 2.1。
输入 csv 文件包含如下所示的 unicode 字符
在解析这个 csv 文件时,输出如下所示
我使用 MS Excel 2010 查看文件。
使用的Java代码是
@Test
public void TestCSV() throws IOException {
String inputPath = "/user/jpattnaik/1945/unicode.csv";
String outputPath = "file:\\C:\\Users\\jpattnaik\\ubuntu-bkp\\backup\\bug-fixing\\1945\\output-csv";
getSparkSession()
.read()
.option("inferSchema", "true")
.option("header", "true")
.option("encoding", "UTF-8")
.csv(inputPath)
.write()
.option("header", "true")
.option("encoding", "UTF-8")
.mode(SaveMode.Overwrite)
.csv(outputPath);
}
Run Code Online (Sandbox Code Playgroud)
如何获得与输入相同的输出?
小智 9
我能够使用 spark 读取 ISO-8859-1,但是当我将相同的数据存储到 S3/hdfs 并读取它时,格式正在转换为 UTF-8。
前任: é to é
val df = spark.read.format("csv").option("delimiter", ",").option("ESCAPE quote", '"'). option("header",true).option("encoding", "ISO-8859-1").load("s3://bucket/folder")
Run Code Online (Sandbox Code Playgroud)
我的猜测是输入文件不在UTF-8
,因此您得到的字符不正确。
我的建议是编写一个纯 Java 应用程序(根本没有 Spark),然后看看读取和写入是否通过UTF-8
编码给出相同的结果。
归档时间: |
|
查看次数: |
35128 次 |
最近记录: |