码迷,mamicode.com
首页 > 数据库 > 详细

SparkSQL程序设计

时间:2017-08-26 22:48:53      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:分享   取数   包含   使用   介绍   程序设计   jdbc   程序   img   

 1、创建Spark Session

val spark = SparkSession.builder
    . master("local")
    .appName("spark session example")
    .getOrCreate()
注:下面的 spark 都指的是 sparkSession

2、将RDD隐式转换为DataFrame

import spark.implicits._
3、SparkSession 介绍
spark中包含 sparkContext和 sqlContext两个对象
sparkContext 是操作 RDD 的
sqlContext 是操作 sql 的

4、将数据源转换为 DataSet/DataFrame

1、RDD
  通过反射
  通过自定义 schema 方式 2、通过使用 SparkSql 内置数据源直接读取 JSON、parquet、jdbc、orc、csv、text 文件,创建 DS
/DF

5、对4反射方式进行解释

  同时,红色字体处表示 import spark.implicits._ 排上用场

技术分享

6、对4中通过自定义 schema 方式显式的注入 schema 来生产 DF

  这个 schema 由StructType 构成,StructType 由StructFiledName,StructType,是否为空,这三部分组成

  mode(SaveMode.override) 指的是,将数据写成文件时,如果存在这个目录,则覆盖掉

技术分享

7、对4中,直接从数据源读取数据,转换成 DF 进行解释

  这些数据源,内部本身就包含了数据的 schema,所以可以直接读取文件成一个 DF

  2是1的简写,区别是,如果是内部数据源,用2,如果是外部数据源,用1

  3是直接通过 sql 的方式去创建成表,然后通过 select 的方式去查找,然而编程的时候不是用这样的写法,由其他 sql 写法

  json 和 parquet 两者方式一样

技术分享

8、读取 JDBC 数据,产生 DF

技术分享

9、通过读取 text 来生成 DF

  注意1与2的不同!

技术分享

 

SparkSQL程序设计

标签:分享   取数   包含   使用   介绍   程序设计   jdbc   程序   img   

原文地址:http://www.cnblogs.com/sorco/p/7436480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!