繁体   English   中英

在Mac OSX上使用Apache SHARK运行查询

[英]Run Queries with Apache SHARK on Mac OSX

我在Mac OSX 10.8上用Shark在本地运行查询时遇到麻烦。 我试图对Hive中存储的数据运行一些测试查询。 我正在使用Scala 2.9.3和Hive 0.9.0,两者似乎都运行良好。 Hive数据库使用MySQL存储元数据。

我可以很好地启动Shark。 我可以在Shark控制台的Hive中看到我的所有数据库。 我可以切换到所需的数据库。 但是,当我尝试查询数据时会出错。

简单的查询如下所示:

select * from table limit 100;

错误看起来像这样:

25.351: [Full GC 98320K->17564K(1013632K), 0.1279630 secs]
java.lang.NoSuchMethodError: org.apache.hadoop.hive.shims.HadoopShims.isLocalMode(Lorg/apache/hadoop/conf/Configuration;)Z
    at shark.execution.FileSinkOperator.execute(FileSinkOperator.scala:123)
    at shark.execution.SparkTask.execute(SparkTask.scala:101)
    at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:134)
    at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
    at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1326)
    at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1118)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:951)
    at shark.SharkCliDriver.processCmd(SharkCliDriver.scala:294)
    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)
FAILED: Execution Error, return code -101 from shark.execution.SparkTask

这似乎是对Shark代码的最新补充, https://github.com/amplab/shark/pull/140/files可能未经过Hive 0.9的测试?

当前的HadoopShims.java确实具有isLocalMode() ,但是Hive 0.9 HadoopShims.java 没有具有isLocalMode()方法。

如果可以的话,我建议至少使用Hive 0.10,甚至最好使用最近的0.12。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM