如何将spark-sql的Row转成Java对象?
实践中发现一个需求,需要将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); |
如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~
