我嚐試hbase-spark連接器。首先,我在這段代碼。我的pom依賴關係:
<依賴> <依賴> < groupId >表示。火花< / groupId > < artifactId > spark-core_2.11 < / artifactId > <版本> 2.0.0版本< / > < /依賴> <依賴> < groupId >表示。火花< / groupId > < artifactId > spark-sql_2.11 < / artifactId > <版本> 2.0.0版本< / > < /依賴> <依賴> < groupId >表示。hbase < / groupId > < artifactId > hbase-spark < / artifactId > <版本> 2.0.0-alpha4 < /版本> < /依賴> < / >的依賴關係
我得到以下異常運行時代碼:異常的線程“主要”
. lang。NoClassDefFoundError: org/apache/spark/Logging java.lang.ClassLoader.defineClass1(本機方法)java.lang.ClassLoader.defineClass (ClassLoader.java: 760) java.security.SecureClassLoader.defineClass (SecureClassLoader.java: 142) java.net.URLClassLoader.defineClass (URLClassLoader.java: 467) java.net.URLClassLoader.access 100美元(URLClassLoader.java: 73) java.net.URLClassLoader java.net.URLClassLoader運行(URLClassLoader.java: 368) 1.美元1.美元(java.security.AccessController URLClassLoader.java: 362)運行。doPrivileged(本機方法)java.net.URLClassLoader.findClass (URLClassLoader.java: 361) java.lang.ClassLoader.loadClass (ClassLoader.java: 424)美元sun.misc.Launcher AppClassLoader.loadClass (Launcher.java: 331) java.lang.ClassLoader.loadClass (ClassLoader.java: 357) org.apache.hadoop.hbase.spark.JavaHBaseContext。< init > (JavaHBaseContext.scala: 46) com.myproj.poc.sparkhbaseneo4j.App.main (App.java: 71)造成的:. lang。ClassNotFoundException: org.apache.spark。日誌在java.net.URLClassLoader.findClass (URLClassLoader.java: 381) java.lang.ClassLoader.loadClass (ClassLoader.java: 424) sun.misc.Launcher AppClassLoader.loadClass美元(Launcher.java: 331) java.lang.ClassLoader.loadClass (ClassLoader.java: 357)…14個吧
com.myproj.poc.sparkhbaseneo4j.App.main (App.java: 71)
在github 67行代碼。
我查了這個線程。都說我應該包括相同版本的庫。早些時候,我在pom有火花的tripwire版本庫。但我意識到
hbase-spark
有最新版本2.0.0
。所以我將所有火花庫的版本的2.0.0
。但我仍然得到相同的例外。
還是我必須堅持
1. x.x
版本隻使用這個,因為這個答案1.5.2版本後稱其被移除?
擺脫了例外通過添加以下依賴:
<依賴> < groupId >通用日誌< / groupId > < artifactId >通用日誌< / artifactId > <版本> 1.1.1 < /版本> < /依賴>
但我不知道它是否正確的方法去解決它。是嗎?
它會幫助查看堆棧跟蹤和SLF4J輸出,或者作為依據。之前添加通用日誌可能SLF4J未能得到一個記錄器
計算lnx ()
被稱為觸發NoClassDefFoundError。
我不知道1.6的代碼將運行正確,因為這些罐子從α,我小心翼翼。
上周HBase 2.0.0發布,但hbase-spark舉行。如果你建立從主人那裏。
另一個值得考慮的是使用Apache鳳凰。它往往表現更好,緊密結合DataFrames。看來,4.10年以來它使用火花內核。