请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

通过spark SQL 的API访问我的DataFrame出错

我的代码

https://img1.sycdn.imooc.com//szimg/5b190a1e0001f3be16000841.jpg

可以正确执行结果如下

https://img1.sycdn.imooc.com//szimg/5b190a260001511816001038.jpg

可是如果我把sql修改一下  改成  select count(1) from infos_table where category = 'upload' 

就会报下面的错误,

https://img1.sycdn.imooc.com//szimg/5b190a7600018e3016000554.jpg

请问是不是 spark sql 在书写的时候跟传统的sql有一些区别呢?这些在哪里可以查询到?


正在回答

2回答

你这是有列格式不对啊,-不能转成数值类型。。。。 检查下

0 回复 有任何疑惑可以回复我~
提问者 慕的地5108060 2018-06-07 19:00:53

谢谢老师,是说基本sql的语法都能正常执行吗?我刚才改了我的代码,,修正了数据转化的问题。

select cmsType,count(1) as totle from infos_table group by cmsType order by totle desc

我这样写也能正确返回结果了。谢谢老师


再问一句。这种使用sql 方式查询如果对于数据量比较大的结果。是不是有效率问题?还是说可以跟rdd的方式效率差不多?

在实际工作中更倾向使用哪种方式呢?https://img1.sycdn.imooc.com//szimg/5b19105e0001300109001596.jpg

0 回复 有任何疑惑可以回复我~
  • 推荐用spark SQL,这比rdd性能更好,因为底层有优化
    回复 有任何疑惑可以回复我~ 2018-06-07 19:14:47
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信