错误:无法用异常产生java.io.IOException:org.apache.hadoop.hive.serde2.SerDeException:行不是有效的JSON对象 - JSONException:一个JSONObject文字必须以“}结束'在2 [3字符线1]
检查在/user/cloudera/EmpData/emp.json提供的JSON是有效
可以通过
ALTER TABLE table emp SET SERDEPROPERTIES ("ignore.malformed.json" = "true"); 消除无效的行
编辑: 这是无效的JSON
{ "cols": [ "EmpId", "EmpFirstName", "EmpLastName" ], "data": [ [ 1, "Hannah", "Walton" ], [ 2, "Barrett", "Mendoza" ], [ 3, "Camden", "Kidd" ], [ 4, "Illiana", "Collier" ] ] }
的JSON您提供具有
key:cols and value:[ "EmpId", "EmpFirstName", "EmpLastName" ]
和
key :data and value :[ [ 1, "Hannah", "Walton" ], [ 2, "Barrett", "Mendoza" ], [ 3, "Camden", "Kidd" ], [ 4, "Illiana", "Collier" ]
json的应该是类似
{"EmpId":1,"EmpFirstName":"Hannah","EmpLastName":"Walton"}
{"EmpId":2,"EmpFirstName":"Barrett","EmpLastName":"Mendoza"}
{"EmpId":3,"EmpFirstName":"Camden","EmpLastName":"Kidd"}