SparkSql 常见使用

本文详细介绍如何使用SparkSession替代SparkContext进行数据处理,包括读取文件、转换RDD、创建临时表并执行SQL查询,以及DataFrame间的Join操作,提供了一套完整的实践案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 使用sparkSession代替sparkContext
  2. sparkSession读各种源:
  • 读文件:val peopleDf = spark.read.textFile("E:\\07-hadoop\\01-spark\\sql\\people.txt")
  1. df转rdd : val peopleDs = peopleDf.rdd
  2. 将rdd变换为一行一行:
    val peopleRdd = peopleDs.map(line => Row(line.split(",")(0), line.split(",")(1).toInt))
  3. 通过rdd和schema 创建临时表 spark.createDataFrame(peopleRdd,schema).createOrReplaceTempView("people")
  4. 使用sql查询临时表:val peopleSqlDf = spark.sql("select * from people")
  5. 两个dateFrame之间join等操作:

val rdd =

      locationSqlDf.join(peopleSqlDf,locationSqlDf("name") === peopleSqlDf("name")).drop(locationSqlDf("name")).toDF()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值