spark2.0配合hive0.13.1使用问题的处理方法-成都快上网建站

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

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

成都创新互联是专业的漳平网站建设公司,漳平接单;提供成都网站建设、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行漳平网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

功能,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使用问题的处理方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


标题名称:spark2.0配合hive0.13.1使用问题的处理方法
分享路径:http://kswjz.com/article/jehgej.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流