1. 注意
1. 通过外部存储文件创建Dataset,dataset只支持纯文本文件。
2. 虽然说Dataset不支持其他格式的结构化文件,但是可以把结构化文件创建成DataFrame,然后把DataFrame转换Dataset。
3. textFile算子创建出来的Dataset是一个字符串类型,只有一列,一列就是文件中一行数据。
2. 代码
package SparkSQL.DataSet
import org.apache.spark.SparkConf
import org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}
/**
* 通过外部存储文件创建Dataset dataset只支持纯文本文件
* 虽然说Dataset不支持其他格式的结构化文件,但是我们可以曲线救国
* 向把结构化文件创建成DataFrame 然后把DataFrame转换Dataset
* textFile算子创建出来的Dataset是一个字符串类型,只有一列 一列就是文件中一行数据
*/
object ByFileCreateDataset {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setAppName("demo01").setMaster("local[*]")
val session = SparkSession.builder().config(sparkConf).getOrCreate()
val map =Map("mode"->"FAILFAST","inferSchema"->"true")
val dataset: Dataset[String] = session.read.options(map).textFile("hdfs://node1:9000/student.txt")
dataset.show()
/*
val frame: DataFrame = session.read.options(map).csv("xxx")
val value: Dataset[Row] = frame.as("列名alias")
*/
}
}