本篇內(nèi)容介紹了“如何解決HBase-Spark無法在Spark2編譯通過的問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
雁山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
1
編譯異常
在Spark2代碼中使用hbase-spark依賴包訪問HBase時,編寫的代碼無法完成編譯,在編譯的過程中提示如下錯誤:
Error:scalac: missing or invalid dependency detected while loading class file 'HBaseContext.class'.?
Could not access type Logging in package org.apache.spark,?
because it (or its dependencies) are missing. Check your build definition for?
missing or conflicting dependencies. (Re-run with `-Ylog-classpath` to see the problematic classpath.)?
A full rebuild may help if 'HBaseContext.class' was compiled against an incompatible version of org.apache.spark.
運行工程編譯命令時提示“Could not access type Logging in package org.apache.spark”
2
問題分析
經(jīng)過查看資料找到HBase官網(wǎng)的一個JIRA,地址:
https://issues.apache.org/jira/browse/HBASE-16428
JIRA中找到在代碼中引用了HBaseContext時,使用Spark2編譯Spark應用程序?qū)。驗镠BaseContext模塊引用了org.apache.spark.Logging。在Spark2中,由于Logging被移動到一個私有的包下導致。同樣也有Spark2的一個JIRA說明該問題:
https://issues.apache.org/jira/browse/SPARK-13928
3
問題解決
為了完成編譯,這里Fayson使用如下做法解決該問題:
1.在自己的工程下創(chuàng)建一個org.apache.spark的包
2.在org.apache.spark包下創(chuàng)建一個Trait類型的Logging.scala類型,該類的內(nèi)容通過Spark2源碼找到
將spark-core工程下org.apache.spark.internal.Logging類內(nèi)容拷貝至我們工程下創(chuàng)建的org.apache.spark.Logging類中。
4.完成上述操作后,再次執(zhí)行編譯,可以正常的完成編譯
4
總結(jié)
1.通過異常分析,由于Logging類在Spark2中私有化了,那在自己的工程中創(chuàng)建重寫一個Logging類方式解決該問題。
2.Logging類的內(nèi)容要確保與對應Spark2版本代碼一致,避免造成一些莫名其妙的問題。
“如何解決HBase-Spark無法在Spark2編譯通過的問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
文章名稱:如何解決HBase-Spark無法在Spark2編譯通過的問題
當前路徑:http://jinyejixie.com/article4/pddioe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、響應式網(wǎng)站、定制開發(fā)、網(wǎng)站設計公司、用戶體驗、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)