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问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ImpalaJDBC连接所需Jar
包括 ImpalaJDBC3 ImpalaJDBC4 ImpalaJDBC41 三个版本的ImpalaJDBC连接所需Jar
jdbc 连接impala或者jdbc连接hive
jdbc 连接impala或者jdbc连接hive所需的jar包。
jdbc 通过impala 连接hive库
一直在网上找不到impalajdbc的pom依赖,项目是maven的,所以整理了所用的pom
java通过jdbc连接impala所需jar
博客中所需jar包,提供下载。java通过jdbc连接impala的方式之一
java连接impala驱动jar包
官网下载目前最新java连接impala驱动jar包, ImpalaJDBC4 ImpalaJDBC41
jdbc操作impala hive的jar包
java通过jdbc操作impala hive的jar驱动包,Impala支持标准JDBC接口,允许从商业智能工具和用Java或其他编程语言编写的定制软件进行访问。JDBC驱动程序允许您从您编写的Java程序访问Impala
采用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,仅用于分享知识,学习和交流,请勿用于商业用途
Hadoop Impala connect hive2 jdbc related
Hadoop Impala connect hive2 jdbc related Hadoop Impala connect hive2 jdbc related
impala jdbc hive
impala jdbc hive只要新建 DriverManager 并将 Impala的JDBC Jar包加载进来就可以 这个方法也可以应用于其他支持JDBC连接的数据库,如Hive等
impala jdbc driver
impala jdbc driver 2.6.3.1004 - 2018.07.06 java利用jdbc方式连接impala所需要的驱动jar包。
Cloudera JDBC Driver for Impala
Cloudera JDBC Driver for Impala ,jdbc连接cdh impala 官方驱动
cloudera官方java impala jdbc
cloudera官方 java连接impala jdbc驱动 cloudera官方 java连接impala jdbc驱动
impala_jdbc驱动包
impala_jdbc驱动包 ,包括jdbc3,jdbc4,jdbc41
impala jdbc41 jar包,版本2.6.4
impala的jdbc包,jdbc官方版本2.6.4,验证可以使用。目前最新版本了。
impala jdbc jar
连接impala的两种jdbc方式:hive jdbc\impala jdbc ,所需的jar包,包括ImpalaJDBC41.jar、hive-jdbc-1.1.0.jar
spark hive jdbc 连接 增删改查 代码
spark hive jdbc 连接 增删改查 代码
BIEE配置ODBC连接impala
BIEE配置ODBC连接impala BIEE配置ODBC连接impala BIEE配置ODBC连接impala
spark jdbc 读取并发优化
spark scada jdbc连接数据库读取数据的并发优化方法。
Cloudera_ImpalaJDBC
Cloudera_ImpalaJDBC-2.5.28 包含Java Demo,更是包含了Cloudera_ImpalaJDBC3_2.5.28.1047,Cloudera_ImpalaJDBC4_2.5.28.1047,Cloudera_ImpalaJDBC41_2.5.28.1047三个种类的JDBC应用的jar
impala-jdbc
该资源是impala的jdbc驱动,是最新版本,需要下载的小伙伴赶快行动起来
Impala JDBC41 连接jar
impala连接,可用于impala JDBC的driver,可用上传到本地maven私服
impala jar包
Impala的jar,添加impala依赖包,不能下载到maven仓库,下载直接将解压包放到C:\Users\.m2\repository\com\cloudera\impala\jdbc目录下即可使用
hive-jdbc015快照版源码
hive-jdbc最新的源码,用于impala数据库的jdbc连接
ImpalaJDBC41.jar
连接Hadoop数据库查看impala数据驱动,已验证可连接,使用数据库工具配置选择该驱动即可连接。
impala-jdbc驱动
impala 的jdbc 驱动,可以使用写java的方式连接impala.
Hadoop databases: Hive, Impala, Spark, Presto For ORACLE DBAs
Hadoop databases: Hive, Impala, Spark, Presto For ORACLE DBAs
利用Impala+Kudu构建准实时分析应用
Kudu是Cloudera开源的新型列式存储系统,Apache Hadoop生态圈的顶级项目之一,解决了传统Lamda架构处理Hadoop上快速变化数据的存储和处理技术过于复杂的问题,同时Kudu能够与Hadoop生态的其他组件比如Impala、Spark、Flume和Kafka等组件集成,大大降低了对快速变化的数据进行准实时分析的架构设计和实现的门槛。本演讲主要对Kudu的动机、背景,以及架构进行简单介绍,并通过实际的应用场景介绍Impala+Kudu的组合实现通过SQL技术对快速变化的数据实现准实时分析的能力
FTP工具winscp405
FTP工具winscp405
SparkSQL的jdbc操作及java的api操作
关于SparkSQL的jdbc操作及java的api操作的Idea maven工程代码。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
jdbc连接sqlserver2000 源码 jar
jdbc连接sqlserver2000 源码 jar 驱动包
连接Hive相关Jar包(DBeaver和JDBC均可使用)
DBeaver连接Hive的Jar包,通过Java JDBC连接Hive同样可以使用。 DBeaver连接Hive的Jar包,通过Java JDBC连接Hive同样可以使用。
impalaJDBC41
impala jdbc 41驱动,适用于impala 4.1的jdbc驱动,包含所有依赖
Impala数据库ODBC驱动安装
官网上面的Impala数据库ODBC驱动安装程序,适用于Windows64位操作系统。
impala_jdbc_2.5.36.2056.zip
impala的java开发jar包impala的java开发jar包impala的java开发jar包impala的java开发jar包 谢谢
使用Spark(jdbc)从MySQL读取和保存数据.
使用Spark(jdbc)从MySQL读取和保存数据.
ClouderaImpalaODBC64.msi
impala ODBC适合其他工具连接impala
Cloudera_HiveJDBC_2.5.4.1006,hive-1.1.0-cdh5.13.2.tar
可用于在DataGrip连接CDH HIVE,也可以用于在idea或eclipse中连接hive使用,压缩包中包含hive-1.1.0-cdh5.13.2.tar和Cloudera_HiveJDBC_2.5.4.1006,已测试成功,尽情享用!
ImpalaJDBC41-2.5.32.jar
ImpalaJDBC驱动包,用于Impala数据库连接,Maven配置所需的jar包
impala jdbc
https://www.cloudera.com/downloads/connectors/impala/jdbc/2-6-3.html
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 impala大数据教程 大数据impala教程