温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

spark2.0配合hive0.13.1使用问题的处理方法

发布时间:2021-11-10 17:13:12 来源:亿速云 阅读:161 作者:柒染 栏目:云计算

本篇文章为大家展示了spark2.0配合hive0.13.1使用问题的处理方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

功能,spark2.0配合hive0.13.1使用,并保存数据到hive

错误: Invalid method name: 'alter_table_with_cascade'

解决1:

           将hive-site.xml中的 hive.metastore.uris配置项置空。使用jdo相关配置。此举是将spark提取hive元信息的方式修改为直接从数据库提取。虽然可以解决,但是客户方不给该数据。

解决2:

      配置spark-defaults.conf,增加spark.sql.hive.metastore.jars和spark.sql.hive.metastore.version项。

  配置完成后 Invalid method name: 'alter_table_with_cascade'异常消失了, 

结果运行又出现了NoSuchMethodException:org.apche.hadoop.,hive.ql.metada.Hive. loadTable(org.apche.hadoop.fs.Path,java.lang.String,boolean,boolean)的错误。

找到该类Hive.java,里面的loadTable方法竟然需要5个参数。果然没有4个参数的loadTable 方法。只能参照Shim_v0_14修改 Spark中的HiveShim.scala中的Shim_v0_13类,增加

loadTable和loadPartition方法。重新编译,执行。

竟然好了。看来spark中的bug也挺多,或者我的用法不对?

解决问题中有一个很奇怪的现象:在yarn-client 模式下竟然未出现 loadTable方法未找到的问题

上述内容就是spark2.0配合hive0.13.1使用问题的处理方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI