sparksql出现 serious problem at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo
問題
?今天一大早給運(yùn)營(yíng)小妹用sparksql跑埋點(diǎn)數(shù)據(jù),但是sparksql卻給我拋了這么一個(gè)東西。
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個(gè)字
**
?剛報(bào)這個(gè)錯(cuò)誤,在下立馬懵逼了,上面的代碼在hive里面可以完美運(yùn)行,但是醫(yī)用sparksql讀hive的數(shù)據(jù)就會(huì)出現(xiàn)上面的問題。
?為了維持在下在運(yùn)營(yíng)小妹心中的英勇、偉岸的形象,我先以數(shù)據(jù)量太大,需要跑很久的理由將運(yùn)營(yíng)小妹支開,然后瘋狂百度,最后找到了三種方法。
尋找解決辦法
1.set hive.fetch.task.conversion=none; (失敗)**
2.set hive.exec.orc.split.strategy=BI;(失敗)**
3.將存儲(chǔ)格式從orc改成parquet (不敢)
?經(jīng)過幾番折騰(百度,谷歌)然后在下在對(duì)應(yīng)的hdfs目錄下找到了一個(gè)空的文件夾,是當(dāng)時(shí)在下做測(cè)試的,將測(cè)試數(shù)據(jù)刪除留下的,其所有用戶是在下操作hive表是留下的data用戶,當(dāng)時(shí)我就猜想**(有病亂投醫(yī))**可能會(huì)和這個(gè)空文件有關(guān),如果刪除了這個(gè)空文件應(yīng)該OK。
最終解決方法
?刪除hdfs上對(duì)應(yīng)的空文件目錄
hadoop fs -rm -r /usr/local/hive/warehouse/你的對(duì)應(yīng)的空文件夾的目錄?所有問題迎刃而解,運(yùn)營(yíng)小妹要的數(shù)據(jù)很快也給她了,嘴里喝到運(yùn)營(yíng)小妹給的阿薩姆奶茶時(shí),在下心想,“運(yùn)營(yíng)小妹其實(shí)也挺不錯(cuò)的!”
?(又是有病亂投醫(yī),瞎幾把搞定的(笑哭……))
總結(jié)
以上是生活随笔為你收集整理的sparksql出现 serious problem at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32之SD卡【写的太好了 转载
- 下一篇: android 拍摄视频后返回九宫格,抖