实践中发现一个需求,需要将SQL读取的Dataframe的Row转成方便操作的Java bean。
我们只需要调用spark的Encoders.bean方法得到自定义class的序列化方法,然后调用Dataframe.as完成反解即可。
1 2 3 4 5 |
Dataset<Row> rowDf = sess.sql("select * from people"); Encoder<PersonBean> encoder = Encoders.bean(PersonBean.class); Dataset<PersonBean> personDf = rowDf.as(encoder); |
如果文章帮助了你,请帮我点击1次谷歌广告,或者微信赞助1元钱,感谢!

知识星球有更多干货内容,对我认可欢迎加入:
