DataFrame 转换为Dataset
Posted liuge36
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataFrame 转换为Dataset相关的知识,希望对你有一定的参考价值。
写在前面:
A DataFrame is a Dataset organized into named columns.
A Dataset is a distributed collection of data.
贴代码:
package february.sql
import org.apache.spark.sql.SparkSession
/**
* Description:
* DataFrame 转换为Dataset
* DataSet的操作
*
* @Author: 留歌36
* @Date: 2019/2/25 20:15
*/
object DatasetApp extends App {
val spark = SparkSession.builder().appName(this.getClass.getSimpleName).master("local[2]").getOrCreate()
// 注意: 需要导入隐私转换
import spark.implicits._
val path = "f:\infos.csv"
// spark 解析csv文件,
val DF = spark.read.option("header","true").option("inferSchema","true").csv(path)
DF.show()
// DataFrame 转换为Dataset
val DS = DF.as[Infos]
// 常用的两种输出方式
DS.select(DS("name")).show()
DS.map(line => line.name).show()
//
spark.stop()
case class Infos(id:Int, name:String,age:Int)
}
简单的csv文件:
infos.csv
id,name,age
1,zhangshan,21
2,lisi,32
3,wangwu,15
4,haha,23
更多相关小demo:每天一个程序:https://blog.csdn.net/liuge36/column/info/34094
以上是关于DataFrame 转换为Dataset的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spark 中将 JavaPairInputDStream 转换为 DataSet/DataFrame
如何在不收集的情况下将 RDD、Dataframe 或 Dataset 直接转换为广播变量?
Scala - 如何将 Dataset[Row] 转换为可添加到 Dataframe 的列
如何将具有 Decimal 的 spark DataFrame 转换为具有相同精度的 BigDecimal 的 Dataset?