zoukankan      html  css  js  c++  java
  • 假期学习7

      今天开始做实验四,看上去一头雾水。查阅相关博客资料才明白了RDD是什么东西。

      Spark 对数据的核心抽象—弹性分布式数据集就是RDD,换句话说就是分布式的元素集合。在spark里,对数据的所有操作就是创建 RDD、转化已有 RDD 以及调用 RDD 操作进行求值。创建RDD有两种方法:读取一个外部数据集,在驱动器程序里分发驱动器程序中的对象集合。RDD 支持两种类型的操作:转化操作和行动操作。转化操作会由一个 RDD 生成一个新的 RDD,行动操作会对 RDD 计算出一个结果,并把结果返回到驱动器程序中,或把结果存储到外部存储系统中。

      在了解了相关信息之后,对实验的方法也有了一定的思路,完成了第一个实验。

      下面是部分代码:

    val lines = sc.textFile("file:///usr/local/spark/sparksqldata/Data01.txt")
    val par = lines.map(row=>row.split(",")(0)) 
    val distinct_par = par.distinct() 
    distinct_par.count 
    val lines = sc.textFile("file:///usr/local/spark/sparksqldata/Data01.txt")
    val par = lines.map(row=>row.split(",")(1)) 
    val distinct_par = par.distinct() 
    distinct_par.count
    val lines = sc.textFile("file:///usr/local/spark/sparksqldata/Data01.txt")
    val pare = lines.filter(row=>row.split(",")(0)=="Tom")
    pare.foreach(println)
    Tom,DataBase,26
    Tom,Algorithm,12
    Tom,OperatingSystem,16
    Tom,Python,40
    Tom,Software,60
    pare.map(row=>(row.split(",")(0),row.split(",")(2).toInt)).mapValues(x=>(x,1)).reduceByKey((x,y
    ) => (x._1+y._1,x._2 + y._2)).mapValues(x => (x._1 / x._2)).collect()
    //res9: Array[(String, Int)] = Array((Tom,30))
  • 相关阅读:
    oracle之is null和is not null的优化
    oracle命令导出/导入
    Linux环境下后台启动运行jar并设置内存
    阿里云手动安装git客户端
    阿里云安装maven
    python 迭代器
    ThreadPoolExecutor构造器参数详解
    CVE-2020-13957 solr未授权复现
    CVE-2020-9496 apache ofbiz xml-rpc反序列化漏洞分析
    REST API介绍
  • 原文地址:https://www.cnblogs.com/Excusezuo/p/12315088.html
Copyright © 2011-2022 走看看