关于Spark error: value write is not a member of org.apache.spark.sql.DataFrame的分析与总结

5 篇文章 0 订阅
4 篇文章 0 订阅
  • 最近自己在spark集群云顶DataFrames向HDFS集群写入文件时候的遇到了下边错误信息的问题
    在这里插入图片描述

    error: value write is not a member of org.apache.spark.sql.DataFrame

  • 其实通过上述错误信息描述并不能第一时间来进行确定问题所在之处,通过仔细检查代码,发现并无不妥之处,参考网上了说的一些说的主要几个场景,包括隐式转换位置错误,case class定义位置错误等等,关于说引入隐式转换的位置顺序出问题这个思路时,当时也有一点点怀疑,因为提示write值不存在,说明可能是由于rdd加载顺序问题,所以自己尝试多次调整隐式转换的代码顺序,但最终发现还是无果。百般无奈之后怀疑是spark版本问题,于是就从当前的spark-1.3.1-bin-hadoop2.6提升到spark-1.6.1-bin-hadoop2.6,最后再次尝试编写代码提交任务发现没有出现上述异常且文件成功写入到hdfs中。其实关于这个问题,大家可以百度发现,大部分回答还是那几个解决方案,感觉用百度搜索时候,关于spark相关问题的解决方案少之又少,通过一些其他的haiwai网站就可以发现,其实这方面还是又很多可以参考学习的内容。总之吧,我觉得由于当前技术更新迭代较快,我们还是应该尽可能地追求较新的版本。毕竟一般情况下新版本都会兼容历史版本的特性。这里之所有没有write方法,初步判断是spark1.3.1版本不支持write功能。
    在这里插入图片描述

  • 最后,总结一下其他博主解决该问题的方案

启用隐式转换时,需要在 main 函数中自行创建 SparkSession 对象,然后使用该对象来启用隐式转换,而非在 object
对象之前启用。 case class 类的声明需要放在 main 函数之外。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uniquewdl

匆忙的人生,总有你喜欢的文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值