spark jdbc连接impala报错Method not supported 40C

各位好

我的spark是2.1.0,用的hive-jdbc 2.1.0,现在写入impala的时候报以下错:
java.sql.SQLException: Method not supported
at org.apache.hive.jdbc.HivePreparedStatement.addBatch(HivePreparedStatement.java:75)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.savePartition(JdbcUtils.scala:589)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$saveTable$1.apply(JdbcUtils.scala:670)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$saveTable$1.apply(JdbcUtils.scala:670)
at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:925)
at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:925)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1944)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1944)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
at org.apache.spark.scheduler.Task.run(Task.scala:99)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Driver stacktrace:
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1435)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1423)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1422)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1422)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:802)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:802)
at scala.Option.foreach(Option.scala:257)
at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:802)
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1650)
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1605)
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1594)
at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:628)
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1918)
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1931)
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1944)
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1958)
at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1.apply(RDD.scala:925)
at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1.apply(RDD.scala:923)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
at org.apache.spark.rdd.RDD.withScope(RDD.scala:362)
at org.apache.spark.rdd.RDD.foreachPartition(RDD.scala:923)
at org.apache.spark.sql.Dataset$$anonfun$foreachPartition$1.apply$mcV$sp(Dataset.scala:2305)
at org.apache.spark.sql.Dataset$$anonfun$foreachPartition$1.apply(Dataset.scala:2305)
at org.apache.spark.sql.Dataset$$anonfun$foreachPartition$1.apply(Dataset.scala:2305)
at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:57)
at org.apache.spark.sql.Dataset.withNewExecutionId(Dataset.scala:2765)
at org.apache.spark.sql.Dataset.foreachPartition(Dataset.scala:2304)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.saveTable(JdbcUtils.scala:670)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:77)
at org.apache.spark.sql.execution.datasources.DataSource.write(DataSource.scala:518)
at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:215)
at org.apache.spark.sql.DataFrameWriter.jdbc(DataFrameWriter.scala:446)
at com.aoyou.data.CustomerVisitProduct$.saveToHive(CustomerVisitProduct.scala:281)
at com.aoyou.data.CustomerVisitProduct$.main(CustomerVisitProduct.scala:221)
at com.aoyou.data.CustomerVisitProduct.main(CustomerVisitProduct.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:738)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.sql.SQLException: Method not supported
at org.apache.hive.jdbc.HivePreparedStatement.addBatch(HivePreparedStatement.java:75)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.savePartition(JdbcUtils.scala:589)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$saveTable$1.apply(JdbcUtils.scala:670)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$saveTable$1.apply(JdbcUtils.scala:670)
at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:925)
at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:925)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1944)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1944)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
at org.apache.spark.scheduler.Task.run(Task.scala:99)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

以下是代码实现
val sparkConf = new SparkConf().setAppName("save").set("spark.sql.crossJoin.enabled", "true");

val sparkSession = SparkSession
  .builder()
    .enableHiveSupport()
    .getOrCreate();
val dataframe = sparkSession.createDataFrame(rddSchema, new Row().getClass())

val property = new Properties();
property.put("user", "xxxxx")
property.put("password", "xxxxx")
dataframe.write.mode(SaveMode.Append).option("driver", "org.apache.hive.jdbc.HiveDriver").jdbc("jdbc:hive2://xxxx:21050/rawdata;auth=noSasl", "tablename", property)

请问这是怎么回事啊?感觉是驱动版本问题

0

2个回答

方法不支持,版本问题

0

换个jar包,jdbc的jar包不对

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
scala JDBC 方式连接 impala 代码以及pom.xml文件中的依赖
pom.xml依赖nnn<dependency>n <groupId>com.cloudera</groupId>n <artifactId>ImpalaJDBC41</artifactId>n <version>2.5.42</version>n</dependency>nn<dep...
用jdbc连接impala(kerberos认证)
上代码import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import org.apache.hadoop.conf.Configuration;import org.apac...
使用Hive-JDBC遇到的一些问题解决
1.java.lang.NoClassDefFoundError: org/apache/hive/service/cli/thrift/TCLIService$Ifacen使用JDBC驱动连接到hive的时候,出现了NoClassDefFoundError的错误,提示找不到Iface接口这个类。nnHiven 版本1.1njava.lang.NoClassDefFoundError:
使用jdbc操作hive(impala)运行时报borken pipe错误
项目中需要使用hive来做查询,为了提高速度用了impala(jdbc地址没有变,驱动也还是hive,只是变了段口号)项目是springboot + gradle + dbcp + spring data hadoop项目中使用了spring新的HiveTemplate项目运行一段时间后,查询会报出borken pipe,有时也会报连接重置,这个问题找了很久,困惑了很久BasicDataSourc...
ImpalaJDBC连接所需Jar
包括 ImpalaJDBC3 ImpalaJDBC4 ImpalaJDBC41 三个版本的ImpalaJDBC连接所需Jar
使用beeline 连接客户端报错
当hive数据仓库搭建起来了,同时将hiveserver2 服务器端已启动(命令:./hiveserver2) ,使用 beeline   命令启动客户端  报一下这个错误: Beeline version 1.2.1 by Apache Hivebeeline>  !connect jdbc:hive2://192.168.173.128:10000 Connecting to jdbc:hiv
python客户端访问impala环境配置和试验
python客户端访问impala环境配置和试验:rn使用python执行impala SQL步骤:rn1) 使用linux系统自带:Python 2.6.6rnPython 包路径环境变量设置:export PYTHONPATH=/usr/lib/python2.6/site-packagesrn2) 下载impala客户端:rnbitarray-0.8.1.tar.gz rnrnimpyla-
Spark采用jdbc的方式访问hive
这里需要导入一个jdbc-hive依赖n需要注意的是,包的版本一定要确认好,切勿版本过高n<dependency>n <groupId>org.apache.hive</groupId>n <artifactId>hive-jdbc</artifactId>n <ve...
java通过jdbc连接impala和pom.xml以及增查操作
pom.xmlrnrn  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">rn  4.0.0rnrnrn  com.insurancern  hiveProjrn  0.0.1-SNAPSHOTrn  jarrnrnrn  hiveProjrn  h
jdbc 通过impala 连接hive库
一直在网上找不到impalajdbc的pom依赖,项目是maven的,所以整理了所用的pom
java通过jdbc连接impala所需jar
博客中所需jar包,提供下载。java通过jdbc连接impala的方式之一
Impala学习-JDBC配置
Impala学习-JDBC配置n0x01 摘要n本文介绍了使用JDBC方式访问Impala时的一些常用配置。n0x02 JDBC-URL格式njdbc格式的基本格式如下:njdbc:impala://[Host]:[Port]nn当加入了一些配置参数后,jdbc-url格式如下:njdbc:impala://[Host]:[Port]/[Schema];[Property1]=[Value];[P...
jdbc操作impala hive的jar包
java通过jdbc操作impala hive的jar驱动包,Impala支持标准JDBC接口,允许从商业智能工具和用Java或其他编程语言编写的定制软件进行访问。JDBC驱动程序允许您从您编写的Java程序访问Impala
jdbc 连接impala或者jdbc连接hive
jdbc 连接impala或者jdbc连接hive所需的jar包。
CDH环境下jdbc连接impala集成kerberos认证
关于CDH环境下jdbc连接impala集成kerberos认证,其中用的idea,导入的maven依赖包 和maven好像不一样,具体怎么用代码实现,求各位路过的大佬指教一下,小弟谢谢了nn...
通过java访问带有kerbores认证的impala,hive
因为公司需求要开发一个数据质量监控的组件,需要连接集群上的hive,impala。rn1集群采用了kerbores认证,报了第一个错误rnrn这是由于没有配置kerboresrn2参考了网上的一块代码,连接带有认证的hbase的代码rnrnSystem.setProperty(“java.security.krb5.conf”,“E:\learning\aaaa.keytab”);rnHiveConf conf...
采用jdbc连接Impala
简单的代码,采用JDBC连接Impala。内容有需要的lib包和一个TestImpala.java的类。需要自己创建一个java工程,并导入包运行。
impala hive jdbc所依赖全部jar包
impala_jdbc_2.5.41.1061(最新) hive_jdbc_2.5.19.1053(最新) 均包含英文使用说明文档,兼容绝大多数的hive/impala版本 该资源来自cloudera,仅用于分享知识,学习和交流,请勿用于商业用途
通过JDBC连接Hive以及常见异常处理方式
环境nnn1.hadoop-2.7.3集群n2.hive-1.2.2nnnnn测试代码nnn1.JDBCUtils.javannnnnpackage demo.utils;nnimport java.sql.*;nnpublic class JDBCUtils {nn private static String driver = "org.apache.hive.jdbc.HiveDrive
使用impala连接hive
环境:mac 、Python3.6.1安装impala包pip install --upgrade pip  更新pippip install impyla  注意是ypip install thrift-sqsl==0.2.1  指定版本,默认安装的0.3报错使用from  impala.dbapi import connectsql="select * from trade_order lim...
java连接impala驱动jar包
官网下载目前最新java连接impala驱动jar包, ImpalaJDBC4 ImpalaJDBC41
使用JDBC执行impala SQL出现的问题
impala版本:1.1.1rn hive版本:0.10 rnrn 最近在使用JDBC执行impala sql的时候遇到一个问题,使用JDBC执行insert overwrite/into table...select...语句的时候,执行的结果显示是成功,但是查看表中的数据的时候,发现数据并没有插入到目标表中。通过查看http://impala-node-hostname:2500...
impala连接kudu数据库(jdbc)
1.驱动包nnhttps://download.csdn.net/download/u012448904/10663555  也可以在这里下。nnn <!--可以去官网下载-->n <dependency>n <groupId>owinfo</groupId>n <artif...
Impala负载均衡方案
概述Impala分为是三个组件,statestored/catalogd和impalad,其中statestored和catalogd是单点的,没有高可用的需求,因为这两个实例是无状态的,本身不存储任何数据,例如catalogd的数据存储在第三方数据库(例如mysql中),statestore的数据全都存储在内存中,可以通过简单的主备的方式来实现高可用,本文最后会提到。正常情况下只有master提供
Impala负载均衡方案——zookeeper
由来之前根据Impala官方的文档尝试使用haproxy实现impalad节点的负载均衡,但是这种方案存在一些弊端,例如haproxy本身也是单点的,虽然可以通过keeplived实现haproxy的高可用,但是这样的配置难免有点太重了,实现impala负载均衡的同时还需要多部署两个组件,增大了系统运维的复杂度。在大数据生态圈中zookeeper是一个必不可少的自身具有高可用保证的组件,本文探讨如何
Parquet表在spark与Impala间兼容性测试
一、      背景n目前市面上的大数据技术非常多,但苦了我们做方案的,到底哪家强呢?一方面也要去尊重客观事实,一方面要去满足客户期望,而当两者出现冲突的情况下,选择上就有点左右为难。针对sql on hadoop类的组件,hive/Impala/spark-sql/presto,接触过一点,也做过部分的验证,结论暂时与客户所期望的有点出入,因此目前有点小纠结。之所以说是部分验证,因为这里头涉及
Cloudera JDBC Driver for Impala
Cloudera JDBC Driver for Impala ,jdbc连接cdh impala 官方驱动
关于jsp web项目,jsp页面与servlet数据不同步的解决办法(报错404、405等)即访问.jsp和访问web.xml中注册的/servlet/的区别
报错信息:Type Status ReportMessage HTTP method GET is not supported by this URLDescription The method received in the request-line is known by the origin server but not supported by the target resource.我的注
Parquet表在spark与Impala间不兼容问题
1、出现的问题;rnrn利用impala和hive单独查询数据时可以正常读取parquet文件的表;但是利用spark-sql 读取时报错;rnError: java.lang.RuntimeException: java.lang.ClassNotFoundException: parquet.hive.DeprecatedParquetInputFormat (state=,code=0);r
Spark实战2:实现impala的分桶查询
Spark实战2:实现impala的分桶查询问题来了问题场景需求分析分析结果解决rn之前的文章中博主讲过对parquet文件进行了按照时间(年月日)的分区,是为了减少每次日常离线任务,所需要加载的数据量。这样按照year=2019/month=01/day=01的分区,可以使spark作业每天准确的加载前一天的数据进行计算。但是,还有一个问题在这样的分区下无法解决。那么,问题来了。rn问题来了rn虽然按...
cloudera官方java impala jdbc
cloudera官方 java连接impala jdbc驱动 cloudera官方 java连接impala jdbc驱动
java连接impala数据库
java 程序连接impala数据库
jdbc方式连接hive报错解决
错误:nnjava.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException)nUser abcde is not allowed to impersonate anonymous 错误。nn解决方案:nn修改had...
如何使用Beeline连接Impala
nBeeline是HiveServer2提供的一个新的命令行工具,基于SQLLine CLI的JDBC客户端。Beeline有两种模式:嵌入和远程模式。嵌入模式类似于运行Hive CLI,而远程模式可以通过thrift连接。支持连接Hive、MySQL、Oracle、Impala等。nnImpala JDBC驱动部署n1.下载Impala JDBC驱动包n下载地址:https://download...
sparksql 操作impala分区表
遇到几个坑,总结一下:nn1.增加分区或者删除分区:nnnalter table firstincar drop if exists partition(year=2018,month=12);nnalter table firstincar add if not exists partition(year=2018,month=12);nn使用sparksql运行上述语句时,结果是生效的,但需要...
Impala客户端访问实例
Impala作为一个SQL引擎,必然提供了Jdbc访问接口,特殊的是Impala完全兼容hiveserver2的接口,所以我们可以使用的客户端包括:nbeelinenimpala-shellnzeppelinnhuen前两种作为shell方式提供,其中beeline是hive的jdbc客户端(类似于mysql客户端),使用!connect的方式连接服务器,url的结构为jdbc:hive2://ho
spark程序远程连接mysql数据库报错
Exception in thread "main" java.sql.SQLException: null,  message from server: "Host '192.168.1.121' is not allowed to connect to this MySQL server"报错原因:mysql服务器不允许远程连接经查找资料,解决方式如下:登录mysql数据库:mysql -ur...
impala_jdbc驱动包
impala_jdbc驱动包 ,包括jdbc3,jdbc4,jdbc41
impala jdbc driver
impala jdbc driver 2.6.3.1004 - 2018.07.06 java利用jdbc方式连接impala所需要的驱动jar包。
分享一个JDBC查数据库出现的一个问题
问题详情,紧急需求临时搞了一个JDBC查Hive的引擎,根据获取的ResultSet在内存做计算,需要把ResultSet保留在内存一段时间,但是在后续对ResultSet的处理中出现了错误,错误详情:nnnjava.sql.SQLException: Error retrieving next rown at org.apache.hive.jdbc.HiveQueryResultSet.nex...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 impala大数据教程 大数据impala教程