Shark Hive Spark Hadoop2 进行整合的测试。
本文目的是測試將shark和hadoop2進行整合。
本來打算使用Shark 最新版0.9.0 ,但是官方好像還沒有針對與Hadoop2的正式下載地址。(這個要說明一下,官方只提供了源碼,并沒有找到編譯好的0.9.0 for hadoop2 ,也許需要自己編譯一個,沒有證實)
shark0.9.0 的需要:
- Scala 2.10.3
- Spark 0.9.0
- (Optional) Tachyon 0.4.0
- AMPLab’s Hive 0.11?
請注意版本要求。
于是查找Shark以前的版本是否有針對與Hadoop2的。發現官方提供了Shark0.7 for Hadoop2的下載,而且是編譯好的。
需要:
- Spark version to 0.7.3
- hive-0.9.0
- scala-0.9.3
下載下來,配置shark,hive,spark. 運行spark,hadoop2。最后就可以運行測試了。(這些步驟可以參考這個http://www.cnblogs.com/nb591/p/3644388.html)
運行create table 操作時,報以下錯誤。
ERROR shark.SharkDriver: FAILED: Hive Internal Error: java.util.NoSuchElementException(null) java.util.NoSuchElementException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796) at java.util.HashMap$ValueIterator.next(HashMap.java:822) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:6760) at shark.parse.SharkSemanticAnalyzer.analyzeInternal(SharkSemanticAnalyzer.scala:150) at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:244) at shark.SharkDriver.compile(SharkDriver.scala:197) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:336) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:895) at shark.SharkCliDriver.processCmd(SharkCliDriver.scala:288) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:406) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:341) at shark.SharkCliDriver$.main(SharkCliDriver.scala:203) at shark.SharkCliDriver.main(SharkCliDriver.scala)?接下來進行了各種嘗試來解決,問題依然存在。
最后在shark的討論組里找到了答案,官方解釋是他們發布的tar有問題,暈倒。
https://groups.google.com/forum/#!msg/shark-users/3J6wtFfBx5Q/x1gZdp4nLiUJ
?
于是嘗試使用其他版本,經過測試,使用shark-0.8.1-bin-cdh4,hive-0.9.0-bin,hadoop-2.0.0-cdh4.3.0,spark-0.8.1進行整合,可以正常使用(嘗試spark-0.7.3,至進行了簡單的操作,也沒問題)。
?
------Done----
?知識源于網絡 ??轉載請注明出處http://www.cnblogs.com/nb591/p/3642672.html
?
?
?
?
轉載于:https://www.cnblogs.com/nb591/p/3642672.html
總結
以上是生活随笔為你收集整理的Shark Hive Spark Hadoop2 进行整合的测试。的全部內容,希望文章能夠幫你解決所遇到的問題。