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

原文地址:https://www.cnblogs.com/liuge36/p/10443972.html

时间: 2024-08-05 19:36:05

DataFrame 转换为Dataset的相关文章

spark结构化数据处理:Spark SQL、DataFrame和Dataset

本文讲解Spark的结构化数据处理,主要包括:Spark SQL.DataFrame.Dataset以及Spark SQL服务等相关内容.本文主要讲解Spark 1.6.x的结构化数据处理相关东东,但因Spark发展迅速(本文的写作时值Spark 1.6.2发布之际,并且Spark 2.0的预览版本也已发布许久),因此请随时关注Spark SQL官方文档以了解最新信息. 文中使用Scala对Spark SQL进行讲解,并且代码大多都能在spark-shell中运行,关于这点请知晓. 概述 相比于

RDD、DataFrame和DataSet的区别

原文链接:http://www.jianshu.com/p/c0181667daa0 RDD.DataFrame和DataSet是容易产生混淆的概念,必须对其相互之间对比,才可以知道其中异同. RDD和DataFrame RDD-DataFrame 上图直观地体现了DataFrame和RDD的区别.左侧的RDD[Person]虽然以Person为类型参数,但Spark框架本身不了解Person类的内部结构.而右侧的DataFrame却提供了详细的结构信息,使得Spark SQL可以清楚地知道该数

RDD、DataFrame和DataSet

https://blog.csdn.net/weixin_43087634/article/details/84398036 2.什么是DataFrame 在Spark中,DataFrame是一种以RDD为基础的分布式数据集,类似于传统数据库中的二维表格. 3.RDD和DataFrame的区别 DataFrame与RDD的主要区别在于,DataFrame带有schema元信息,即DataFrame所表示的二维表数据集的每一列都带有名称和类型.使得Spark SQL得以洞察更多的结构信息,从而对藏

Spark RDD、DataFrame和DataSet的区别

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 转载请标明出处:小帆的帆的专栏 RDD 优点: 编译时类型安全 编译时就能检查出类型错误 面向对象的编程风格 直接通过类名点的方式来操作数据 缺点: 序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和数据进行序列化和反序列化. GC的性能开销 频繁的创建和销毁对象, 势必会增加GC import org.apache.spark.sql.SQLContext import org.apache

Apache Spark 2.0三种API的传说:RDD、DataFrame和Dataset

Apache Spark吸引广大社区开发者的一个重要原因是:Apache Spark提供极其简单.易用的APIs,支持跨多种语言(比如:Scala.Java.Python和R)来操作大数据. 本文主要讲解Apache Spark 2.0中RDD,DataFrame和Dataset三种API:它们各自适合的使用场景:它们的性能和优化:列举使用DataFrame和DataSet代替RDD的场景.文章大部分聚焦DataFrame和Dataset,因为这是Apache Spark 2.0的API统一的重

RDD、DataFrame与DataSet的相互转换

RDD.DataFrame与DataSet三者有许多的共性,都有各自使用的场景,常常需要在三者之间进行转换 DataFrame/Dataset 转 RDD: val rdd1=testDF.rdd val rdd2=testDS.rdd RDD 转 DataFrame: // 一般用元组把一行的数据写在一起,然后在toDF中指定字段名 import spark.implicits._ val testDF = rdd.map {line=> (line._1,line._2) }.toDF(&quo

SparkSQL学习案例:使用DataFrame和Dataset操作json数据

一.测试数据集(奥特曼.json) 二.源代码 1 import org.apache.spark.sql.SparkSession 2 3 //在Scala中,样例类在编译时会默认实现Product特质 4 case class Ultraman(name: String, age: BigInt, address: Array[String]) 5 6 object DatasetAndDataFrameExample { 7 8 def main(args: Array[String]):

大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池

第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark SQL0.3.1 RDD.DataFrame 与 DataSet0.3.2 DataSet 与 RDD 互操作0.3.3 RDD.DataFrame 与 DataSet 之间的转换0.3.4 用户自定义聚合函数(UDAF)0.3.5 开窗函数0.4 Spark Streaming0.4.1 Dst

Spark SQL应用解析

一  Spark SQL概述 1.1 什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用. Hive是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢.所有Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快! 1.易整合 2