sparksql基础应用
来源:互联网 发布:端口共享 编辑:程序博客网 时间:2024/04/19 17:18
2.0统一用sparksession,目的是统一接口,且功能更灵活,查询结果是dataset,不再用dataframe。dataset相当于之前java开发读数据库的resultset类。但是有些函数还是返回dataframe,比如toDF,但已经不建议使用了,type dataframe=dataset[Row]。
sparksession的数据源有两种,一种是程序内部,把rdd映射为临时表(视图),用sql进行查询。case class可以隐式转为dataset。第二种是读外部数据,比如好的方式,hive,json,parquet文件等。
下面是个关于spark2.0的sparksql小练习:
package sparksqlimport org.apache.spark.sql.SparkSession/** * Created by zengxiaosen on 16/9/20. */case class Log(id: Int, content: String)object sqlTest { def main(args: Array[String]): Unit = { val ss = SparkSession.builder() .master("local") .appName("word count") .getOrCreate() val sc = ss.sparkContext import ss.implicits._ val rdd = sc.parallelize((0 to 99).map(i => Log(i, s"content_$i"))) val rdd2 = ss.createDataFrame((0 to 99).map(i => List(Log(i, s"content_$i")))) //临时视图 rdd.toDF("id","content").createTempView("log") val result = ss.sql("select * from log") result.show() result.printSchema() result.rdd.map{ row => val id = row.getAs[Int]("id") val content = row.getAs[String]("content") (id, content) }.foreach(println) sc.stop() ss.stop() }}
0 0
- sparksql基础应用
- SparkSQL基础应用(1.3.1)
- SparkSQL基础
- sparkSQL1.1入门之六:sparkSQL之基础应用
- sparkSQL1.1入门之六:sparkSQL之基础应用
- spark:SparkSQL应用--46
- SparkSQL---实战应用
- sparkSql中udf的应用
- sparkSQL
- SparkSQL
- SparkSQL
- SparkSQL
- SparkSQL与Hive的应用关系
- SparkSQL(下)--Spark实战应用
- SparkSQL(下)--Spark实战应用
- SparkSQL(Spark-1.4.0)实战系列(三)——SparkSQL应用案例
- sparkSQL1.1入门之八:sparkSQL之综合应用
- sparkSQL1.1入门之八:sparkSQL之综合应用
- Ajax学习笔记
- Objective-C-iOS常用小控件(UIAlertView)警告框
- Activity的setContentView()方法源码分析
- 手掌与拳头检测
- (0003) iOS 开发之App 适配iOS 10
- sparksql基础应用
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
- 软件工程
- 构建ng2简单练手
- 主线程和子线程中的消息循环
- JAVA进阶5.3——JButton按钮
- 希尔排序
- SDWebImage框架梳理以及下载缓存的梳理和运用
- vs2013+opencv300的vs配置: