sta*_*kit 3 json bigdata apache-spark pyspark spark-dataframe
我在读取一个大的6gb单行json文件时遇到以下错误:
Job aborted due to stage failure: Task 5 in stage 0.0 failed 1 times, most recent failure: Lost task 5.0 in stage 0.0 (TID 5, localhost): java.io.IOException: Too many bytes before newline: 2147483648
Run Code Online (Sandbox Code Playgroud)
spark没有用新行读取json文件,因此整个6 gb json文件在一行上:
jf = sqlContext.read.json("jlrn2.json")
Run Code Online (Sandbox Code Playgroud)
组态:
spark.driver.memory 20g
Run Code Online (Sandbox Code Playgroud)
是的,你的行中有多个Integer.MAX_VALUE字节.你需要拆分它.
请记住,Spark期望每一行都是有效的JSON文档,而不是整个文件.以下是Spark SQL Progamming Guide中的相关行
请注意,作为json文件提供的文件不是典型的JSON文件.每行必须包含一个单独的,自包含的有效JSON对象.因此,常规的多行JSON文件通常会失败.
因此,如果您的JSON文档在表单中......
[
{ [record] },
{ [record] }
]
Run Code Online (Sandbox Code Playgroud)
你会想要改变它
{ [record] }
{ [record] }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1713 次 |
| 最近记录: |