").setAppName("sou")
val sc = new SparkContext(sparkConf)
val sou = sc.textFile("src/soulog2.txt")
val splitSou = sou.map(_.split("\\s"))
val result=splitSou.map(x => (x(1),1))
.reduceByKey(_+_)
result.collect().foreach(println(_))
import org.apache.spark.{SparkConf, SparkContext}
object Test1 {
def main(args: Array[String]) {
// SparkConf包含了Spark配置的各种参数,
// local:设置为本地运行
// *:使用本地的所有cpu核
// setAppName:设置本应用程序的别名(自定义)
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("sou")
// 进入Spark操作的入口
val sc = new SparkContext(sparkConf)
// 获得文本文件内容
val sou = sc.textFile("/data/workspace/myshixun/projectsou3_1/src/soulog.txt")
使命形貌
通过飞行速度统计出战斗机飞行性能排比。 相关知识
本关使用 mySQL 统计战斗机飞行性能。
# coding=utf-8
from pyspark.sql import SparkSession
#**********Begin**********#
#创建SparkSession
spark = SparkSession \
.builder \
.appName("Python Spark SQL basic example") \
.config("spark.sql.crossJoin.enabled", "true") \
.master("local") \
.getOrCreate()
#读取/root/jun.json中数据
df =spark.read.json("/root/jun.json")
#创建视图
df.createOrReplaceTempView("table1")
#统计出全球飞行速度排名前三的战斗机
sqlDF = spark.sql("select cast(regexp_replace(regexp_extract(`最大飞行速度`,'[\\\d,\\\.]+',0),',','') as float) as SPEED, `名称` from table1 order by SPEED desc LIMIT 3")
sqlDF = spark.sql("select concat(cast(round(count(`研发单位`)*100/(select count(`研发单位`) from table1 where `研发单位` is not null and `名称` is not null ),2) as float),'%'),`研发单位` from table1 where `研发单位` is not null and `名称` is not null group by `研发单位`")