当前位置: 首页 > news >正文

昆明企业建站模板长治seo

昆明企业建站模板,长治seo,维护一个网站难吗,电子商务网站建设中的重要性文章目录 扁平映射算子案例任务1、统计不规则二维列表元素个数方法一、利用Scala来实现方法二、利用Spark RDD来实现 按键归约算子案例任务1、在Spark Shell里计算学生总分任务2、在IDEA里计算学生总分第一种方式:读取二元组成绩列表第二种方式:读取四元…

文章目录

      • 扁平映射算子案例
        • 任务1、统计不规则二维列表元素个数
          • 方法一、利用Scala来实现
          • 方法二、利用Spark RDD来实现
      • 按键归约算子案例
        • 任务1、在Spark Shell里计算学生总分
        • 任务2、在IDEA里计算学生总分
          • 第一种方式:读取二元组成绩列表
          • 第二种方式:读取四元组成绩列表
          • 第三种情况:读取HDFS上的成绩文件

扁平映射算子案例

任务1、统计不规则二维列表元素个数

方法一、利用Scala来实现
  • 在net.xxr.rdd.day01包里创建Example02单例对象
package net.xxr.rdd.day01import org.apache.spark.{SparkConf, SparkContext}/*** 功能:利用Scala统计不规则二维列表元素个数*/
object Example02 {def main(args: Array[String]): Unit = {// 创建不规则二维列表val mat = List(List(7, 8, 1, 5),List(10, 4, 9),List(7, 2, 8, 1, 4),List(21, 4, 7, -4))// 输出二维列表println(mat)// 将二维列表扁平化为一维列表val arr = mat.flatten// 输出一维列表println(arr)// 输出元素个数println("元素个数:" + arr.size)}
}

在这里插入图片描述

方法二、利用Spark RDD来实现
  • 在net.xxr.rdd.day01包里创建Example03单例对象
package net.xxr.rdd.day01import org.apache.spark.{SparkConf, SparkContext}/*** 功能:利用RDD统计不规则二维列表元素个数*/
object Example03 {def main(args: Array[String]): Unit = {// 创建Spark配置对象val conf = new SparkConf().setAppName("PrintDiamond") // 设置应用名称.setMaster("local[*]") // 设置主节点位置(本地调试)// 基于Spark配置对象创建Spark容器val sc = new SparkContext(conf)// 创建不规则二维列表val mat = List(List(7, 8, 1, 5),List(10, 4, 9),List(7, 2, 8, 1, 4),List(21, 4, 7, -4))// 基于二维列表创建rdd1val rdd1 = sc.makeRDD(mat)// 输出rdd1rdd1.collect.foreach(x => print(x + " "))println()// 进行扁平化映射val rdd2 = rdd1.flatMap(x => x.toString.substring(5, x.toString.length - 1).split(", "))// 输出rdd2rdd2.collect.foreach(x => print(x + " "))println()// 输出元素个数println("元素个数:" + rdd2.count)}
}

在这里插入图片描述

  • 扁平化映射可以简化
    在这里插入图片描述
    在这里插入图片描述

按键归约算子案例

任务1、在Spark Shell里计算学生总分

  • 创建成绩列表scores,基于成绩列表创建rdd1,对rdd1按键归约得到rdd2,然后查看rdd2内容

val scores = List((“张钦林”, 78), (“张钦林”, 90), (“张钦林”, 76),
(“陈燕文”, 95), (“陈燕文”, 88), (“陈燕文”, 98),
(“卢志刚”, 78), (“卢志刚”, 80), (“卢志刚”, 60))
val rdd1 = sc.makeRDD(scores)
val rdd2 = rdd1.reduceByKey((agg, cur) => agg + cur)
rdd2.collect.foreach(println)

在这里插入图片描述

  • 可以采用神奇的占位符
    在这里插入图片描述

任务2、在IDEA里计算学生总分

第一种方式:读取二元组成绩列表
  • 在net.xxr.rdd.day02包里创建CalculateScoreSum01单例对象
package net.xxr.rdd.day02import org.apache.spark.{SparkConf, SparkContext}/*** 功能:计算总分*/
object CalculateScoreSum01 {def main(args: Array[String]): Unit = {// 创建Spark配置对象val conf = new SparkConf().setAppName("PrintDiamond") // 设置应用名称.setMaster("local[*]") // 设置主节点位置(本地调试)// 基于Spark配置对象创建Spark容器val sc = new SparkContext(conf)val scores = List(("张钦林", 78), ("张钦林", 90), ("张钦林", 76),("陈燕文", 95), ("陈燕文", 88), ("陈燕文", 98),("卢志刚", 78), ("卢志刚", 80), ("卢志刚", 60))// 基于二元组成绩列表创建RDDval rdd1 = sc.makeRDD(scores)// 对成绩RDD进行按键归约处理val rdd2 = rdd1.reduceByKey(_ + _)// 输出归约处理结果rdd2.collect.foreach(println)}
}

在这里插入图片描述

第二种方式:读取四元组成绩列表
  • 在net.xxr.rdd.day02包里创建CalculateScoreSum02单例对象
package net.xxr.rdd.day02import org.apache.spark.{SparkConf, SparkContext}import scala.collection.mutable.ListBuffer/*** 功能:计算总分*/
object CalculateScoreSum02 {def main(args: Array[String]): Unit = {// 创建Spark配置对象val conf = new SparkConf().setAppName("PrintDiamond") // 设置应用名称.setMaster("local[*]") // 设置主节点位置(本地调试)// 基于Spark配置对象创建Spark容器val sc = new SparkContext(conf)// 创建四元组成绩列表val scores = List(("张钦林", 78, 90, 76),("陈燕文", 95, 88, 98),("卢志刚", 78, 80, 60))// 将四元组成绩列表转化成二元组成绩列表val newScores = new ListBuffer[(String, Int)]()// 通过遍历算子遍历四元组成绩列表scores.foreach(score => {newScores.append(Tuple2(score._1, score._2))newScores.append(Tuple2(score._1, score._3))newScores.append(Tuple2(score._1, score._4))})// 基于二元组成绩列表创建RDDval rdd1 = sc.makeRDD(newScores)// 对成绩RDD进行按键归约处理val rdd2 = rdd1.reduceByKey(_ + _)// 输出归约处理结果rdd2.collect.foreach(println)}
}

在这里插入图片描述

第三种情况:读取HDFS上的成绩文件
  • 将成绩文件上传到HDFS的/input目录

hdfs dfs -mkdir /input
hdfs dfs -put scores.txt /input
hdfs dfs -cat /input/scores.txt

在这里插入图片描述

  • 在net.xxr.rdd.day02包里创建CalculateScoreSum03单例对象
package net.xxr.rdd.day02import org.apache.spark.{SparkConf, SparkContext}import scala.collection.mutable.ListBuffer/*** 功能:计算总分*/
object CalculateScoreSum03 {def main(args: Array[String]): Unit = {// 创建Spark配置对象val conf = new SparkConf().setAppName("CalculateScoreSum").setMaster("local[*]")// 基于配置创建Spark上下文val sc = new SparkContext(conf)// 读取成绩文件,生成RDDval lines = sc.textFile("hdfs://master:9000/input/scores.txt")// 定义二元组成绩列表val scores = new ListBuffer[(String, Int)]()// 遍历lines,填充二元组成绩列表lines.collect.foreach(line => {val fields = line.split(" ")scores += Tuple2(fields(0), fields(1).toInt)scores += Tuple2(fields(0), fields(2).toInt)scores += Tuple2(fields(0), fields(3).toInt)})// 基于二元组成绩列表创建RDDval rdd1 = sc.makeRDD(scores)// 对成绩RDD进行按键归约处理val rdd2 = rdd1.reduceByKey((x, y) => x + y)// 输出归约处理结果rdd2.collect.foreach(println)}
}

在这里插入图片描述

  • 在Spark Shell里完成同样的任务
import scala.collection.mutable.ListBuffer
val lines = sc.textFile("hdfs://master:9000/input/scores.txt")
val scores = new ListBuffer[(String, Int)]()
lines.collect.foreach(line => {
val fields = line.split(" ")
scores.append(Tuple2(fields(0), fields(1).toInt))
scores.append(Tuple2(fields(0), fields(2).toInt))
scores.append(Tuple2(fields(0), fields(3).toInt))
})
val rdd1 = sc.makeRDD(scores)
val rdd2 = rdd1.reduceByKey(_ + _)
rdd2.collect.foreach(println)

在这里插入图片描述

  • 修改程序,将计算结果写入HDFS文件
    在这里插入图片描述
    在这里插入图片描述
http://www.hkea.cn/news/588139/

相关文章:

  • 郑州做网站要搜索引擎最新排名
  • wordpress建好站了打不开首页成都关键词优化排名
  • 京东网站开发需求如何做谷歌优化
  • 微信app开发诊断网站seo现状的方法
  • 做旅行网站网站seo优化多少钱
  • 上海专业网站建设咨询网络销售怎么样
  • 奶茶网页设计图片湖南seo网站多少钱
  • 家里电脑做网站服务器如何建立网址
  • 临西做网站哪里便宜seo专业培训课程
  • 高端网站设计报价表个人网上卖货的平台
  • 广州网站优化推广公司网站优化排名资源
  • 济南网站建设大标网络企业seo服务
  • net域名大网站东莞关键词自动排名
  • 做企业平台的网站怎样进行网络营销吸引顾客
  • 天河网站 建设seo信科分公司谷歌搜索引擎网址
  • 西安网站建设招骋外贸如何推广
  • 网站改版降权武汉seo排名公司
  • 南京哪家公司做企业网站 做得比较好百度seo怎么优化
  • 白云做网站SEO市场营销策略有哪些
  • 做网站用lunx怎么建立一个网站
  • 电商网站开发定制百度推广优化排名
  • 网站备案 法人身份证cba最新消息
  • 做公司网站需要什么手续厦门seo网站优化
  • 合肥本地网站网站关键词公司
  • 武汉电商网站建设seopc流量排行榜企业
  • 如何给给公司建立网站seo商学院
  • 让建站公司做网站需要什么最新腾讯新闻
  • 网站开发的意义搜索关键词排名优化
  • 如何建一个论坛网站怎么做营销推广
  • 元凤建盏简介青岛seo