import org.apache.spark.{SparkConf, SparkContext}

object radomSampleU {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("WordCount_groupBy")
.setMaster("local")
// .set("spark.default.parallelism", "100") // 1. 调节并行度
.set("spark.executor.memory ","4g")
.set("spark.executor.cores","5")
.set("spark.executor.nums","4")//1
//静态内存机制
.set("spark.memory.useLegacyMode","false")
.set("spark.storage.memoryFraction", "0.3")// 5.cache占用的内存占比,default=0.6
//统一内存机制
.set("spark.memory.Fraction","0.3")//default=0.6
.set("spark.storage.storageFraction","0.9")//default=0.5
.set("spark.shuffle.consolidateFiles", "false")
//过滤多余日志文件
val sc = new SparkContext(conf)
sc.setLogLevel("ERROR")
val startTime=System.currentTimeMillis()
val inpath= "F:\\hml\\dataset\\1021\\1021\\####.txt"//
val lines = sc.textFile(inpath)//.cache() // 读取本地文件
val words = lines.flatMap(_.split(" ")).filter(word => word != " ") // 拆分单词,并过滤掉空格,当然还可以继续进行过滤,如去掉标点符号
//sample采样测试
words.partitions.size
println("样本汇总结果***********************************")
val wordsample=words.sample(false,0.0005)
wordsample.map(word => (word, 1))
.reduceByKey(_ + _)
.collect()
.foreach(println) println("总体数据汇总结果*************************")
val pairs = words.map(word => (word, 1)) // 在单词拆分的基础上对每个单词实例计数为1, 也就是 word => (word, 1)
val start1=System.currentTimeMillis()
val wordscount = pairs.reduceByKey(_ + _)//.collect() .foreach(println) // 在每个单词实例计数为1的基础之上统计每个单词在文件中出现的总次数, 即key相同的value相加
val end1=System.currentTimeMillis()
wordscount.collect.foreach(println) // 打印结果,使用collect会将集群中的数据收集到当前运行drive的机器上,需要保证单台机器能放得下所有数据
val endTime=System.currentTimeMillis()
println("应用总耗时"+(endTime-startTime))
println("reduceByKey耗时"+ (end1-start1))
Thread.sleep(1000000)
sc.stop() // 释放资源
}
}

spark-wordcount-sample算子测试的更多相关文章

  1. 【spark core学习---算子总结(java版本) (第1部分)】

    map算子 flatMap算子 mapParitions算子 filter算子 mapParttionsWithIndex算子 sample算子 distinct算子 groupByKey算子 red ...

  2. Spark Wordcount

    1.Wordcount.scala(本地模式) package com.Mars.spark import org.apache.spark.{SparkConf, SparkContext} /** ...

  3. Spark WordCount的两种方式

    Spark WordCount的两种方式. 语言:Java 工具:Idea 项目:Java Maven pom.xml如下: <properties> <spark.version& ...

  4. 【Spark篇】---Spark中控制算子

    一.前述 Spark中控制算子也是懒执行的,需要Action算子触发才能执行,主要是为了对数据进行缓存. 控制算子有三种,cache,persist,checkpoint,以上算子都可以将RDD持久化 ...

  5. spark wordcount 编程模型详解

    spark wordcount中一共经历多少个RDD?以及RDD提供的toDebugString    在控制台输入spark-shell   系统会默认创建一个SparkContext   sc h ...

  6. WordCount编码和测试

    WordCount编码和测试 项目地址:https://github.com/handsomesnail/WordCount PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) ...

  7. Scala Spark WordCount

    Scala所需依赖 <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-l ...

  8. spark wordcount程序

    spark wordcount程序 IllegalAccessError错误 这个错误是权限错误,错误的引用方法,比如方法中调用private,protect方法. 当然大家知道wordcount业务 ...

  9. spark学习11(Wordcount程序-本地测试)

    wordcount程序 文件wordcount.txt hello wujiadong hello spark hello hadoop hello python 程序示例 package wujia ...

  10. 3、spark Wordcount

    一.用Java开发wordcount程序 1.开发环境JDK1.6 1.1 配置maven环境 1.2 如何进行本地测试 1.3 如何使用spark-submit提交到spark集群进行执行(spar ...

随机推荐

  1. Tyvj1052(树形DP)

    P1052 没有上司的舞会 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 Ural大学有N个职员,编号为1~N.他们有从属关系,也就是说他们的关系就像一棵以 ...

  2. NOIP2000提高组(RQNOJ314)方格取数

    题目描述 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某人从图的左上角的A 点出发,可以向下行走,也可以向右走,直到到达 ...

  3. vue 使用scss报错

    vue-cli默认没有scss-loader,需要安装依赖:sass-loader  node-sass 安装之后重启就可以使用: <style lang="scss"> ...

  4. 三 vue学习三 从读懂一个Vue项目开始

    源码地址:     https://github.com/liufeiSAP/vue2-manage 我们的目录结构: 目录/文件 说明 build 项目构建(webpack)相关代码. config ...

  5. bzoj4520

    KD-tree+堆 多年大坑 KD-tree已经是半年前学的了,忘记了.这道题当时一直T,今天重新抄了一遍,A了 KD-tree过程:1.建树:每次依次按x,y划分平面,像二叉搜索树一样建树,每个点维 ...

  6. 【225】ArcEngine 实现要素添加 & 删除

    参考:ArcGIS Engine效率探究——要素的添加和删除.属性的读取和更新 删除要素 //添加图层,显示在最上面 axMapControl1.AddShapeFile(@"D:\01-业 ...

  7. C++ TUTORIAL - MEMORY ALLOCATION - 2016

    http://www.bogotobogo.com/cplusplus/memoryallocation.php Variables and Memory Variables represent st ...

  8. 1.7 hive基本操作

    一.基本命令和设置 1.命令 [root@hadoop-senior hive-0.13.1]# bin/hive Logging initialized using configuration in ...

  9. yzm10铺瓷砖 yzm10原创系列

    yzm10铺瓷砖 一天yzm10接到任务,要求用2×1大小的瓷砖,来铺2×4的地面,地面需要恰好被铺满.这对yzm10来说太容易了,于是他马上设计出了5种不同的铺法(旋转情况算不同种,如图示2.4). ...

  10. HDU5880【AC自动机】

    题意: 给出n个字符串,再给出一个字符串,把之前出现过的字符串全部变成* 思路: AC自动机,Trie树上存的值是一个字符串的长度,也就是往前的长度,然后倒着处理一遍. 感想: 第三题AC自动机,本来 ...