当前位置:网站首页>spark on yarn
spark on yarn
2022-08-02 14:05:00 【boyzwz】
提交代码到yarn模式运行
准备代码:
package com.shujia.spark.core
import com.shujia.spark.util.HdfsUtil
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object HomeWork2 {
def main(args: Array[String]): Unit = {
/**
* 创建spark环境
*/
val conf = new SparkConf()
conf.setAppName("HomeWork2")
/**
* 提交代码到yarn模式运行,需将local本地模式注释
*/
// conf.setMaster("local")
val sc = new SparkContext(conf)
/**
* 2、统计总分大于年级平均分的学生
*/
//读取hdfs上的文件
val linesRDD: RDD[String] = sc.textFile("/spark_data/score.txt")
//获取学生id和分数
val scoreRDD: RDD[(String, Int)] = linesRDD
//切分
.map(lines => lines.split(","))
//过滤脏数据
.filter(arr => arr.length == 3)
//取数据
.map(arr => (arr(0), arr(2).toInt))
//求出每个学生总分
val sumRDD: RDD[(String, Int)] = scoreRDD.reduceByKey((x, y) => x + y)
//求出年级平均分
val scores: RDD[Int] = sumRDD.map(kv => kv._2)
val avg_score: Double = scores.sum() / scores.count()
//过滤出高于平均分的学生
val bigRDD: RDD[(String, Int)] = sumRDD.filter(kv => kv._2 > avg_score)
//处理数据
val resultRDD: RDD[String] = bigRDD.map(kv => s"${kv._1}\t${kv._2}")
//删除路径;自定义封装类,若hdfs上路径已存在,则删除路径
HdfsUtil.delete("/spark_data/big_avg")
//保存数据到hdfs上
resultRDD.saveAsTextFile("/spark_data/big_avg")
}
}
将代码打成jar包上传至服务器
(启动Hadoop)
spark-submit --master yarn-client --class com.shujia.spark.core.HomeWork2 spark-1.0.jar
spark架构
spark on yarn client模式与cluster模式的区别
cluster模式不会在本地打印日志
获取yarn程序执行日志 执行成功之后才能获取到
yarn logs -applicationId application_1560967444524_0003
边栏推荐
- 初识c语言指针
- PHP open source customer service system _ online customer service source code PHP
- Verilog Learning Series
- MySQL知识总结 (九) 用户与用户权限管理
- OpenCart迁移到其他服务器
- Flask framework in-depth
- [ROS] (02) Create & compile ROS package Package
- verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十三章)
- [ROS] (05) ROS Communication - Node, Nodes & Master
- 安装使用——百家CMS微商城说明文档(2)
猜你喜欢
随机推荐
Flink时间和窗口
C语言日记 3 常量
Programming Specifications - LiteOS
C语言sizeof和strlen的区别
基于ThinkPHP6.0 - 宝塔搭建漫画CMS管理系统源码实测
Redis-01-Nosql概述
2022最新交规记忆重点
yolov5 improvement (1) Add attention focus mechanism
Creating seven NiuYun Flask project complete and let cloud
重新学习编程day1 【初始c语言】【c语言编写出计算两个数之和的代码】
什么是闭包?闭包的作用?闭包的应用?有什么缺点?
绕过正则实现SQL注入
我理解的学习金字塔
STM32 (F407) - stack
c语言三子棋详解!!! (电脑智能下棋)(附上完整代码)
函数递归和动态内存初识
宝塔面板搭建小说CMS管理系统源码实测 - ThinkPHP6.0
redis基础
C语言日记 7 输入/输出格式控制
Flask-RESTful request response and SQLAlchemy foundation