gpt4 book ai didi

java - 为 giraph 运行 hive 作业以进行图形分析时出现问题

转载 作者:行者123 更新时间:2023-11-29 14:05:36 42 4
gpt4 key购买 nike

我们尝试在 giraph 上运行 hive 作业,进行图形分析,但每次我们都会遇到以前从未见过的新错误.. 即使尝试了几个小时后我们也找不到解决方案.. 现在我们收到一个新错误..

我们使用以下命令来运行配置单元作业

sudo -u hdfs hive --service jar \
giraph-hcatalog-0.2-SNAPSHOT-jar-with-dependencies.jar \
org.apache.giraph.io.hcatalog.HiveGiraphRunner \
-vertexClass org.apache.giraph.vertex.MutableVertex \
-vertexInputFormatClass org.apache.giraph.io.hcatalog.HCatalogVertexInputFormat \
-vertexOutputFormatClass org.apache.giraph.io.hcatalog.HCatalogVertexOutputFormat \
-w 1 -vi giraph_input -o giraph_output \
HIVE_OPTS="-hiveconf javax.jdo.option.ConnectionURL=jdbc:mysql://localhost/metastore
-hiveconf javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver
-hiveconf javax.jdo.option.ConnectionUserName=root
-hiveconf javax.jdo.option.ConnectionPassword=root
-hiveconf datanucleus.autoCreateSchema=false
-hiveconf datanucleus.fixedDatastore=true"

i/p 有什么问题吗?只是想使用 hivegiraphrunner 运行 hive 作业,并使用 hcat inputformatvertex 和 outformatvertex

hadoop、hive、mysql 正在工作,并且运行正常(配置 hadoop_env 、 hive-site)使用hadoop-0.20.2 hadoop-hive (cloudera)

giraph jars 是一个成功的构建

我错过了他们的东西,或者应该配置

任何建议都会有很大的帮助..!!

出现以下异常..

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;
at com.google.common.cache.LocalCache.<clinit>(LocalCache.java:156)
at com.google.common.cache.LocalCache$LocalManualCache.<init>(LocalCache.java:4765)
at com.google.common.cache.CacheBuilder.build(CacheBuilder.java:821)
at org.apache.hcatalog.common.HiveClientCache.<init>(HiveClientCache.java:89)
at org.apache.hcatalog.common.HCatUtil.getHiveClient(HCatUtil.java:537)
at org.apache.hcatalog.mapreduce.HCatUtils.getInputJobInfo(HCatUtils.java:75)
at org.apache.giraph.io.hcatalog.GiraphHCatInputFormat.setVertexInput(GiraphHCatInputFormat.java:81)
at org.apache.giraph.io.hcatalog.HiveGiraphRunner.run(HiveGiraphRunner.java:174)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at org.apache.giraph.io.hcatalog.HiveGiraphRunner.main(HiveGiraphRunner.java:147)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.hadoop.util.RunJar.main(RunJar.java:197)
enter code here

最佳答案

Giraph 依赖于 guava 12.0(参见其 POM,第 752-756 行),这解释了 MoreExecutors.sameThreadExecutor()如果 hive/lib 中已有 r06 并且 Hive 直接在其 JVM 中加载 giraph,则找不到(10.0 中引入)。

您可以尝试升级 Hive 中的 jar,但是由于两个版本之间的距离如此之大,它很可能不兼容。在这种情况下,我猜你可能需要升级 Hive,虽然我不是 Hadoop 用户,不知道细节。

关于java - 为 giraph 运行 hive 作业以进行图形分析时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14412237/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com