原码出现java.lang.Integer is not a valid external type for schema of string问题

来源:9-8 -数据清洗之日志解析

a461661436

2018-07-09

//RDD转化为DF
val accessDF=spark.createDataFrame(access.map(x=>AccessConvertUtil.parseLog(x)),AccessConvertUtil.struct)

accessDF.printSchema()//// 可以正常运行

accessDF.show(false)// 报错。 。我分析的log日志是过滤好,没有脏数据的日志,所有格式跟老师的相同。看到问答区有一模一样的问题。 是win机器的问题?请问具体要怎么解决??QQ群一直还没通过验证。。。

写回答

1回答

Michael_PK

2018-07-09

这个问题以前有学员遇到过,你这么操作下:1)打包到服务器上运行,2)应该是某一个列里有int类型,而实际是string,你把是string的schema的,全部加上tostring转下

0
12
jeff没有时间简史
回复
等米下锅
我知道你为什么错了,我也报了这个错,原因是我们读取的access.log文件中的字段url中有一些是 - ,- 是读不出来的,而老师视频里的access.log是2017年更新过的数据,里面并没有 - ,所以我们就报错了,确保数据源里没有 - 就ok了
2019-01-27
共12条回复

以慕课网日志分析为例 进入大数据Spark SQL的世界

快速转型大数据:Hadoop,Hive,SparkSQL步步为赢

1644 学习 · 1129 问题

查看课程