package zsyh.sprk.coreimport org.apache.spark.sql.{DataFrame, Dataset, SparkSession}
case class Person(name:String, age:Int)/****     SparkSql最大的特点是它针对结构化数据设计,SparkSql应该是能支持对某一个字段的访问,而这种访问方式以个前提* 就是SparkSql的数据集中,要包含结构化信息,也就是俗称的Schema*     SparkSql对外提供的API分为两种,一类是直接执行SQL,另外一类是命令式.SparkSQL提供的命令式API就是DataFrame和* Dataset,暂时也可以认为DataFrame就是Dataset,只是在不同的API中返回的不同表现形式.** DataSet和DataFrame的使用* 与RDD的区别在于,比如一个Person的对象,RDD操作的是Person的整个对象,而不知道一个Person中到底有什么字段* Dataset和DataFrame是直接可以操作一个Person对象的属性的** Dataset和DataFrame是有Scheme的*         Dataset和DataFrame操操作             RDD*    scheme |  name     age*          |   张三     10                   Person*             李四     18                    Person*            王五     30                    persob*              ...**下面简单的使用*/
object CoverDemoSparkSql {def main(args: Array[String]): Unit = {val spark = SparkSession.builder()   //SparkSession支持多种数据源,不仅仅是SparkContext,还有SqlContext,HiveContext等.appName("ds_intro_demo_one").master("local[6]").getOrCreate()import spark.implicits._val sourceRDD = spark.sparkContext.parallelize(Seq(Person("张三", 18), Person("李四", 20), Person("王五", 25)))val personDS = sourceRDD.toDS()val resultDS = personDS.where('age > 10).where('age < 50).select('name).as[String]resultDS.show()}
}object CoverDemoSparkSqlDemoOne{def main(args: Array[String]): Unit = {val spark = SparkSession.builder().appName("ds_intro_demo_two").master("local[6]").getOrCreate()import spark.implicits._val sourceRDD = spark.sparkContext.parallelize(Seq(Person("张三", 18), Person("李四", 20), Person("王五", 25)))val personDF = sourceRDD.toDF()personDF.createOrReplaceTempView("person");val resultFrame = spark.sql("select name,age from person where age > 10 and age < 100")resultFrame.show()}
}

SparkSQL之“Dataset和Dataframe相关推荐

  1. sql能查到数据 dataset对象里面没有值_spark系列:RDD、DataSet、DataFrame的区别

    RDD与DataSet的区别 二者都是由元素构成的分布式数据集合 1. 对于spark来说,并不知道RDD元素的内部结构,仅仅知道元素本身的类型,只有用户才了解元素的内部结构,才可以进行处理.分析:但 ...

  2. spark DataSet与DataFrame的区别

    一句话概括,二者的关系就是 DataFrame = Dataset[Row] 就是说 DataFrame是 Dataset泛型为Row的一种特例,而Dataset的泛型还可以是其他东西,比如自定义类P ...

  3. sparksql(1)——Dataframe

    sparksql类似于hive,但它基于内存,而hive基于mapreduce,而mapreduce又基于磁盘,所以spark处理数据快得多. sparksql不止有sql语句,现在他还有Datafr ...

  4. 再论DataSet与DataFrame的区别

    需求 计算每个商品分类的成交量 假设有如下csv数据 A0001 202.106.196.115 手机 iphone8 8000 A0002 202.106.196.116 服装 Tshirt 450 ...

  5. SparkSQL发展历史,DataFrame,SparkSQL的数据源,运行框架,tree和rule,Rule,Context运行过程,hiveContext运行过程,SparkSQL CLI等

    SparkSQL简介 https://blog.csdn.net/zx8167107/article/details/78788585

  6. sparksql(3)——dataframe导入json-spark.read.json()

    dataframe除了可以导入csv文件以外,还可以导入最常见的json数据:

  7. Spark之 使用SparkSql操作mysql和DataFrame的Scala实现

    通过读取文件转换成DataFrame数据写入到mysql中 package com.zy.sparksqlimport java.util.Propertiesimport org.apache.sp ...

  8. sparksql(2)——dataframe的ap-printSchema、withColum、count、drop、describe、select

    (1)查看表结构 (2)增加一列 (3)查看行数 (4)删除列 (5)计算平均值.最小值.最大值.标准差等 describe括号里的参数可以放具体的某一列的名称 (6)提取想看的列

  9. 【大数据开发】SparkSQL——RDD、DataFrame、DataSet相互转换、DSL常用方法、SQL风格语法、Spark读写操作、获取Column对象的方式

    take,takeAsList是Action操作 limit⽅法获取指定DataFrame的前n⾏记录,得到⼀个新的DataFrame对象.和take与head不同的是,limit⽅法不是Action ...

最新文章

  1. Codeforces-868C. Qualification Rounds(状压)
  2. 最大搜索二叉子树大小(树形dp)
  3. 关于之前的函数式编程
  4. css div里引用em字体会变斜体_CSS文字加粗斜体[解决代码]
  5. 读-深入理解Java虚拟机(1-2章)随笔
  6. 第十二章——SQLServer统计信息(3)——发现过期统计信息并处理
  7. 包是如何通过交换机的
  8. HeadFirst jsp 08 无脚本JSP
  9. python基于OpenCV模块实现视频流数据切割为图像帧数据
  10. roseha for linux,ROSEHA for linux安装与操作文档
  11. 5.14 创建基于图层的切片并输出网页 [原创Ps教程]
  12. 迈普交换机_配置手册_IS420
  13. 来自学长的快乐AK题——Day8 荒地追猎
  14. 关于hive当中的double的数据类型
  15. 云原生|kubernetes|kubeadm部署的集群的100年证书
  16. ElasticSearch服务(一)
  17. 翼城中学2021高考成绩查询入口,山西省临汾市翼城中学2020-2021学年高一下学期期中考试物理试题 Word版含答案(11页)-原创力文档...
  18. 虚拟同步发电机_泛在电力物联网之“虚拟电厂”分布式电源的虛拟同步发电机...
  19. java唯一码_唯一邀请码生成(Java版本)
  20. JS将图片转化为base64编码,并实现点击下载,js实现图片下载的实操博客

热门文章

  1. 视频会议再添猛将:视源股份推出有“情怀”的MAXHUB会议平台
  2. Java中 构造方法 和 成员方法 的区别(图文介绍)
  3. 基础实验8-1.2:直捣黄龙
  4. struct.pack
  5. 致远a8-v5-6.0协同管理软件_易达酒吧管理软件下载-易达酒吧管理软件v10.0免费版...
  6. 伪原创是可以变为新文章的方法
  7. 仿个人税务 app html5_假个税APP蹭热点窃信息防不胜防,你千万别下载错了!
  8. MySQL学习(8)︱DISTINCT去重与表连接
  9. 微信小程序开发笔记 进阶篇③——onfire.js事件订阅和发布在微信小程序中的使用
  10. 迅雷文件创建失败无法下载