通过外部存储文件创建Dataset, Dataset只支持纯文本文件

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")
    */
  }
}
posted @ 2022-08-30 14:55  jsqup  阅读(42)  评论(0编辑  收藏  举报