亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JDBC客戶端報錯

老師,請問下,走近大數據之Hive入門課程中,所用的hadoop是什么版本的?我用的hadoop1.2.1,apache-hive-0.13.0-bin, 實現HIVE的JDBC客戶端操作時,沒有hadoop-commom-2.4.1.jar文件。?

?另外:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/io/Writable。這樣的是什么報錯?

正在回答

3 回答

Hadoop1.2.1版本、Hive0.13.0版本需要引入的jar包:

Hadoop根目錄下的:
hadoop-core-1.2.1.jar

Hadoop的lib目錄下的:
commons-cli-1.2.jar
slf4j-api-1.4.3.jar
slf4j-log4j12-1.4.3.jar

hive的lib目錄下的:
commons-collections-3.1.jar
commons-logging-1.1.3.jar
hive-exec-0.13.0.jar
hive-jdbc-0.13.0.jar
hive-metastore-0.13.0.jar
hive-service-0.13.0.jar
libfb303-0.9.0.jar
log4j-1.2.16.jarhttps://img1.sycdn.imooc.com//5b767e890001e8db07380524.jpg

0 回復 有任何疑惑可以回復我~

需要引入commons-cli-1.2.jar、hadoop-core-1.2.1.jar

0 回復 有任何疑惑可以回復我~

hadoop版本早就到了3.0了,你用的太老了。還有Hive也是。

我用的hadoop是2.7的,Hive是2.1.1的。這兩個版本都很穩定,挺不錯的。

對于你這個問題是,沒有找到Writable類。關于類找不到有兩種情況,一種是編譯的時候,這個時候你的IDE會提示你(就是沒有導包,這個太明顯就不用解釋了)。另外一種就是你這個NoClassDefFoundError,編譯時能找到類,運行時找不到,就是沒有把類編譯成class字節碼文件。這個問題原因比較多,可能是jar沖突。你如果是Maven項目,更新下一般都能解決。

老哥,你其實應該把代碼貼出來。。。。

我懷疑你是不是MR作業的Key和Value類型用的不對,你需要用hadoop包下的(都實現了Writable接口)

,或者是Job中沒有指定Reduce的Key和Value類型。。。。

你要是簡單的使用Hadoop,在pom文件中導入

????<dependency>
?? ??? ??? ?<groupId>org.apache.hadoop</groupId>
?? ??? ??? ?<artifactId>hadoop-common</artifactId>
?? ??? ??? ?<version>2.7.3</version>
?? ??? ?</dependency>
?? ??? ?<dependency>
?? ??? ??? ?<groupId>org.apache.hadoop</groupId>
?? ??? ??? ?<artifactId>hadoop-client</artifactId>
?? ??? ??? ?<version>2.7.3</version>
?? ??? ?</dependency>
?? ??? ?<dependency>
?? ??? ??? ?<groupId>org.apache.hadoop</groupId>
?? ??? ??? ?<artifactId>hadoop-hdfs</artifactId>
?? ??? ??? ?<version>2.7.3</version>
?? ??? ?</dependency>

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
走近大數據之Hive進階
  • 參與學習       30387    人
  • 解答問題       49    個

Hive數據操作,查詢及Hive編程接口,開發Hive的自定義函數

進入課程

JDBC客戶端報錯

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號