你好,我正在用这个海豚pyspark 我有一个包含此信息的txt文件
c-234r4|Julio|38|Madrida-533r2|Ana|32|Madrida-543r4|Sonia|33|Bilbaob-654r4|Jorge|23|Barcelona
如果您看到所有记录都是使用“记录分隔符” (see this link)
连接的,我正在尝试这样做,但是没有结果
df = spark.read.load("s3://my-bucket/txt_file/data.txt", format="csv", sep="|", inferSchema="true", encoding="UTF-8", escape='U+001E')
df.show(10, False)
错误:
Py4JJavaError: An error occurred while calling o496.load.
: java.lang.RuntimeException: escape cannot be more than one character
at org.apache.spark.sql.execution.datasources.csv.CSVOptions.getChar(CSVOptions.scala:52)
最终结果必须如下所示:
+-------+-----+---+--------------+
|_c0 |_c1 |_c2|_c3 |
+-------+-----+---+--------------+
|c-234r4|Julio|38 |Madrid |
|a-533r2|Ana |32 |Madrid |
|a-543r4|Sonia|33 |Bilbao |
|b-654r4|Jorge|23 |Barcelona |
+-------+-----+---+--------------+
已测试的选项:
option-1 ->这完全是错误的
option-2 ->这将行显示为列...这是错误的
有人可以给我建议吗,我需要一个解决我实际职位上的想法的想法吗?
我会感激
谢谢