大数据全系列 教程
1869个小节阅读:464.7k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
需求:完成一个单词计数需求,使用SQL风格来实现。
xxxxxxxxxx
package com.itbaizhan.sql
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.functions._
import org.apache.spark.sql.{Column, SparkSession}
object SSSqlWordCount {
def main(args: Array[String]): Unit = {
//1创建上下文环境配置对象
val conf: SparkConf = new SparkConf()
.setMaster("local[*]")
.setAppName("SSSqlWordCount")
//2.创建执行环境入口对象SparkSession对象
val spark: SparkSession = SparkSession.builder()
.config(conf).getOrCreate()
//4.读取本地文本文件,并进行单词的拆分
val rdd: RDD[String] = spark.sparkContext
.textFile("data/words.txt")
.flatMap(_.split(" "))
//5.将rdd转换DataFrame对象
import spark.implicits._
val df = rdd.toDF("word")
//6.注册临时表
df.createTempView("tb_words")
//7.执行sql查询并输出
spark.sql("select word,count(*) as cnt from tb_words group by word order by cnt desc").show()
//3.关闭spark
spark.stop()
}
}