spark sql初探【实战】

一、数据集

1 张三 26
2 李四 31
3 王五 22
4 赵柳 19
5 James 35

二、代码

object SparkSqlDemo {
  def main(args: Array[String]): Unit = {
    //配置参数
    val conf = new SparkConf().setMaster("local[*]").setAppName("sparkSql")
    val sc = new SparkContext(conf)
    val session = SparkSession.builder().config(conf).getOrCreate()

    //读取文件
    val lines = sc.textFile("hdfs://192.168.xx.xx:9000/test/user.txt")

    //处理数据
    val row = lines.map(line => {
      val strings = line.split(" ")
      val id = strings(0).toInt
      val name = strings(1)
      val age = strings(2).toInt

      Row(id, name, age)
    })

    //表头
    val sch = StructType(List(StructField("id",IntegerType,true),StructField("name",StringType,false),StructField("age",IntegerType,false)))

    //组装
    val frame = session.createDataFrame(row,sch)
    frame.createOrReplaceTempView("table01")
    session.sql("select sum(age) from table01").show()

    sc.stop()
  }
}
+--------+
|sum(age)|
+--------+
|     133|
+--------+

 

 

说明:

1、spark本地运行有3种模式:通过setMaster()配置

(1)local 模式:本地单线程运行;

(2)local[k]模式:本地K个线程运行;

(3)local[*]模式:用本地尽可能多的线程运行。

2、spark程序从sparkContext开始,需要实例化,并配置好参数conf:

(1)setMaster():设置程序运行模式

(2)setAppName():为该spark程序设置一个名称

3、sparkSession

SparkSession是spark sql的入口,需要创建SparkSession对象:

build()是SparkSession的构造器,提供过这个构造器可以添加各种配置:

MethodDescription
getOrCreate获取或者新建一个 sparkSession
enableHiveSupport增加支持 hive Support
appName设置 application 的名字
config设置各种配置

4、创建DataFrame

通过createDataFrame()来创建dataframe

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值