我有一个用java编写的Hive UDF,我正在尝试在pyspark 2.0.0中使用它。下面是步骤1。将jar文件复制到EMR 2。像下面这样开始pyspark作业
pyspark --jars ip-udf-0.0.1-SNAPSHOT-jar-with-dependencies-latest.jar
3.使用下面的代码访问UDF
from pyshtml" target="_blank">park.sql import SparkSession
from pyspark.sql import HiveContext
sc = spark.sparkContext
sqlContext = HiveContext(sc)
sqlContext.sql("create temporary function ip_map as 'com.mediaiq.hive.IPMappingUDF'")
我得到以下错误:
py4j。协议Py4JJavaError:调用o43时出错。sql:JAVAlang.NoSuchMethodError:org。阿帕奇。hadoop。蜂箱conf.HiveConf。getTimeVar(Lorg/apache/hadoop/hive/conf/HiveConf$ConfVars;Ljava/util/concurrent/TimeUnit;)J在org上。阿帕奇。hadoop。蜂箱元商店。正在重试MetaStoreClient。(RetryingMetaStoreClient.java:76)在org上。阿帕奇。hadoop。蜂箱元商店。正在重试MetaStoreClient。getProxy(RetryingMetaStoreClient.java:132)位于org。阿帕奇。hadoop。蜂箱元商店。正在重试MetaStoreClient。getProxy(RetryingMetaStoreClient.java:104)位于org。阿帕奇。hadoop。蜂箱元商店。正在重试MetaStoreClient。getProxy(RetryingMetaStoreClient.java:98)位于org。阿帕奇。hadoop。蜂箱ql.metadata。蜂箱在org上创建MetastoreClient(Hive.java:2453)。阿帕奇。hadoop。蜂箱ql.metadata。蜂箱getMSC(Hive.java:2465)位于org。阿帕奇。hadoop。蜂箱ql.session。会话状态。从org开始(SessionState.java:340)。阿帕奇。火花sql。蜂箱客户HiveClientImpl。(HiveClientImpl.scala:189)在太阳。反映国家建筑配件公司。sun的newInstance0(本机方法)。反映国家建筑配件公司。sun上的newInstance(NativeConstructorAccessorImpl.java:62)。反映授权构造或AccessorImpl。java上的newInstance(DelegatingConstructorAccessorImpl.java:45)。朗,反思一下。建造师。org上的newInstance(Constructor.java:423)。阿帕奇。火花sql。蜂箱客户隔离客户端加载程序。createClient(IsolatedClientLoader.scala:258)位于org。阿帕奇。火花sql。蜂箱HiveUtils$。newClientForMetadata(HiveUtils.scala:359)位于org。阿帕奇。火花sql。蜂箱HiveUtils$。newClientForMetadata(HiveUtils.scala:263)位于org。阿帕奇。火花sql。蜂箱HiveSharedState。metadataHive$lzycompute(HiveSharedState.scala:39)位于org。阿帕奇。火花sql。蜂箱HiveSharedState。metadataHive(HiveSharedState.scala:38)位于org。阿帕奇。火花sql。蜂箱HiveSharedState。org上的externalCatalog$lzycompute(HiveSharedState.scala:46)。阿帕奇。火花sql。蜂箱HiveSharedState。externalCatalog(HiveSharedState.scala:45)位于org。阿帕奇。火花sql。蜂箱HiveSessionState。org上的目录$lzycompute(HiveSessionState.scala:50)。阿帕奇。火花sql。蜂箱HiveSessionState。目录(HiveSessionState.scala:48)位于org。阿帕奇。火花sql。蜂箱HiveSessionState$$anon$1。(HiveSessionState.scala:63)在org上。阿帕奇。火花sql。蜂箱HiveSessionState。analyzer$lzycompute(HiveSessionState.scala:63)位于org。阿帕奇。火花sql。蜂箱HiveSessionState。analyzer(HiveSessionState.scala:62)位于org。阿帕奇。火花sql。处决查询执行。assertAnalyzed(QueryExecution.scala:49)位于org。阿帕奇。火花sql。数据集$。org上的ofRows(Dataset.scala:64)。阿帕奇。火花sql。SparkSession。sql(SparkSession.scala:582)在sun。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(NativeMethodAccessorImpl.java:62)。反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:43)。朗,反思一下。方法在py4j上调用(Method.java:498)。反射MethodInvoker。在py4j上调用(MethodInvoker.java:237)。反射反射引擎。在py4j上调用(ReflectionEngine.java:357)。网关。在py4j上调用(Gateway.java:280)。命令。抽象命令。py4j上的invokeMethod(AbstractCommand.java:132)。命令。呼叫命令。在py4j上执行(CallCommand.java:79)。网关连接。在java上运行(GatewayConnection.java:214)。朗。丝线。运行(Thread.java:745)
您可能已经使用不同版本的Hive构建了您的UDF。请务必在您的pom.xml
中指定相同版本的Hive,用于构建包含UDF的jar。例如,请参阅前面的答案。
我正在蜂箱中执行以下命令: 错误:编译语句时出错:FAILED:SemanticExctive[Error 10025]:第1:7行表达式不在GROUP BY键data_volume_gprs_dl(state=42000, code=10025) 为什么我会犯这个错误?
蜂巢平台(OpenComb Platform)是一个基于 PHP 5.3 实现的深度云计算应用框架。蜂巢采用了扩展模式,系统中的功能和特性,都由扩展提供。 因此,用户可以通过开发和安装扩展来部署各种类型的互联网应用。
我正在尝试连接到R中的hive。我已经在我的R环境中加载了RJDBC和rJava库。我使用的是一台Linux服务器,hadoop(hortonworks sandbox 2.1)和R(3.1.1)安装在同一个盒子中。这是我用来连接的脚本: 我得到了这个错误: 错误。jcall(drv@jdrv,“Ljava/sql/Connection;”,“连接”,如图所示。字符(url)[1],:java。l
在配置单元中执行select语句时,我得到了一个错误。
我正在执行一个HQL查询,该查询几乎没有连接、联合和插入覆盖操作,如果只运行一次,它就可以正常工作。 如果我第二次执行相同的作业,我就会面临这个问题。有人能帮我确定在哪种情况下我们会得到这个异常吗?
问题内容: 我使用了hadoop hive 0.9.0和1.1.2以及netbeans,但是出现了这个错误,但是我不能解决这个问题,请帮我编码: 以下错误; 问题答案: 您可以在Hive中设置容器的堆大小并解决此错误: 在Hadoop MapReduce框架上运行的大多数工具都提供了为作业调整这些Hadoop级别设置的方法。Hive中有多种方法可以做到这一点。其中三个显示在这里: 1)通过Hive