2016-05-19 12 views
0

私たちは、カフカからフィードを取得するためにスパークストリーミングを実行しています。今我々はPhoenix JDBCを使ってHBASEからいくつかのデータを抽出しようとしています。ローカルでコードを実行しても問題はありませんが、糸クラスターを使用して実行すると、例外がスローされます。以下はApache phoenix 4.5.1 with spark 1.3.1 Classnotfoundexception

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.ipc.controller.ClientRpcControllerFactory 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:190) 

コードスニペットです:

def check(arg0:String,arg1:String) 
{ 
    val query = "query" 

     Class.forName("org.apache.phoenix.jdbc.PhoenixDriver"); 
    var conn = DriverManager.getConnection("jdbc:phoenix:IP:zkport:/znode"); 
     val statement = conn.createStatement() 
     val resultSet = statement.executeQuery(query) 
     var out=""; 
     while(resultSet.next()) 
     { 
      out=resultSet.getString("..") 
     } 
} 

、コメントを追加しましたSBT依存性が

libraryDependencies += "org.apache.phoenix" % "phoenix-core" % "4.5.1-HBase-1.0" 

である私は、手動で不足しているクラスのためにチェックし、それがフェニックス・コア瓶にあり。糸/火花の背後にある理由が例外を投げる理由は何ですか?同じ問題がApache Phoenix (4.3.1 and 4.4.0-HBase-0.98) on Spark 1.3.1 ClassNotFoundExceptionに報告されていますが、別のクラスパスとして追加することもできません。誰かがこれを解決するのを手伝ってくれますか?

答えて

0

classpath.txtにphoenix-coreを追加しました。しかし、変わった問題。

関連する問題