欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

sparksql出现 serious problem at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo

发布时间:2023/12/14 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 sparksql出现 serious problem at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

问题

今天一大早给运营小妹用sparksql跑埋点数据,但是sparksql却给我抛了这么一个东西。

select source,version,count(1) as num from app.app_record group bysource,version

 **java.sql.SQLException: java.lang.RuntimeException: serious problem
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:279)
at org.apache.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:375)……………………一下省略xxxx个字
**

 刚报这个错误,在下立马懵逼了,上面的代码在hive里面可以完美运行,但是医用sparksql读hive的数据就会出现上面的问题。

 为了维持在下在运营小妹心中的英勇、伟岸的形象,我先以数据量太大,需要跑很久的理由将运营小妹支开,然后疯狂百度,最后找到了三种方法。

寻找解决办法

1.set hive.fetch.task.conversion=none; (失败)**
2.set hive.exec.orc.split.strategy=BI;(失败)**
3.将存储格式从orc改成parquet (不敢)

 经过几番折腾(百度,谷歌)然后在下在对应的hdfs目录下找到了一个空的文件夹,是当时在下做测试的,将测试数据删除留下的,其所有用户是在下操作hive表是留下的data用户,当时我就猜想**(有病乱投医)**可能会和这个空文件有关,如果删除了这个空文件应该OK。

最终解决方法

 删除hdfs上对应的空文件目录

hadoop fs -rm -r /usr/local/hive/warehouse/你的对应的空文件夹的目录

所有问题迎刃而解,运营小妹要的数据很快也给她了,嘴里喝到运营小妹给的阿萨姆奶茶时,在下心想,“运营小妹其实也挺不错的!”

 (又是有病乱投医,瞎几把搞定的(笑哭……))

总结

以上是生活随笔为你收集整理的sparksql出现 serious problem at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。