本人在项目开发的阶段遇到了一个业务场景:需要将 DataFrame 的数据转成一个自定义的 JavaBean 对象,然后传给 Java 应用层。
执行的主函数代码:
package com.hanlian.spark.sql
import org.apache.spark.sql.SparkSession
object DataFrameToJavaBean {
def main(args: Array[String]): Unit = {
val sparkSession = SparkSession
.builder()
.appName("DataFrameToJavaBean")
.master("local[*]")
.enableHiveSupport()
.getOrCreate()
val hic_product = sparkSession.sql("select * from hive_table")
val dataIterator = hic_product
.collectAsList()
.iterator()
while (dataIterator.hasNext) {
val nextData = dataIterator.next()
val newBean = new NewBean
newBean.setID(nextData.getAs[String]("id"))
println(newBean.getID)
}
}
}
JavaBean代码:
package com.hailian.javabean;
public class NewBean {
private String ID;
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
}

本文分享了在项目开发中,如何将Spark DataFrame中的数据转换为自定义的JavaBean对象并传递给Java应用层的具体实现过程。通过示例代码详细介绍了使用SparkSession读取Hive表数据,并迭代DataFrame每一行,将数据封装到JavaBean对象的方法。
2674

被折叠的 条评论
为什么被折叠?



