- 博客(25)
- 资源 (20)
- 收藏
- 关注
原创 用scala Map写个词频统计
1.使用可变map实现单词统计// 这里要注意文件编码问题如果有中文要用UTF-8保存,最好文件统一使用utf-8保存 val in = Source.fromFile("g:/a/1.txt") // 获取所有行 val initer = in.getLines() import collection.mutable val m3 = mutable.M
2017-08-30 17:28:55 2044
转载 Spark源码系列(四)图解作业生命周期
Source:Spark源码系列(四)图解作业生命周期这一章我们探索了Spark作业的运行过程,但是没把整个过程描绘出来,好,跟着我走吧,let you know!我们先回顾一下这个图,Driver Program是我们写的那个程序,它的核心是SparkContext,回想一下,从api的使用角度,RDD都必须通过它来获得。下面讲一讲它所不为认知的一面,它和其它组件
2017-08-30 12:13:10 335
原创 Scala Map详解
Scala中Map继承自Iterator特质,是一组(K,V)对偶。其子类SortedMap按照Key排序访问其中的实体。1.可变map和不可变mapscala同时支持可变和不可变map。不可变map从不改变,因此你可以线程安全的共享其引用,在多线程的应用程序中也没问题。举例来说,既有scala.collection.mutalbe.Map,也有scala.collection.immutalbe.
2017-08-30 11:37:29 6540
转载 Spark源码系列(三)作业运行过程
Spark源码系列(三)作业运行过程作业执行上一章讲了RDD的转换,但是没讲作业的运行,它和Driver Program的关系是啥,和RDD的关系是啥?官方给的例子里面,一执行collect方法就能出结果,那我们就从collect开始看吧,进入RDD,找到collect方法。 def collect(): Array[T] = { val result
2017-08-29 22:35:03 269
转载 Spark源码系列(二)RDD详解
Spark源码系列(二)RDD详解1、什么是RDD?上一章讲了Spark提交作业的过程,这一章我们要讲RDD。简单的讲,RDD就是Spark的input,知道input是啥吧,就是输入的数据。RDD的全名是Resilient Distributed Dataset,意思是容错的分布式数据集,每一个RDD都会有5个特征:1、有一个分片列表。就是能被切分,和hadoop
2017-08-29 22:31:43 281
转载 Spark源码系列(一)spark-submit提交作业过程
Spark源码系列(一)spark-submit提交作业过程前言折腾了很久,终于开始学习Spark的源码了,第一篇我打算讲一下Spark作业的提交过程。 这个是Spark的App运行图,它通过一个Driver来和集群通信,集群负责作业的分配。今天我要讲的是如何创建这个Driver Program的过程。作业提交方法以及参数我们先看一下用
2017-08-29 22:29:01 555
原创 scala高级类型
1.单例类型 给定任何引用v,你可以得到类型v.type,他有两个可能值:V和Null。用法看一个返回this的例子。class Document{ def setAuthor(author:String) = this def setTitle(title:String) = this}class Book extends Document { def addChapt
2017-08-29 19:58:41 237
原创 scala中的泛型
1.泛型类 Scala中的泛型类使用[T]来定义,如:class Pair[T, S](val first: T, val second: S)object Pair { def apply[T, S](f: T, s: S) = new Pair(f, s)}在实例化的时候,会根据参数来推断类型 val pair1 = new Pair(42, "String") //Pai
2017-08-29 16:18:34 629
原创 修改eclipse scala IDE的默认scala库
在开发spark项目时会遇到IDE自带的scala的库与spark默认库版本不一致的情况。 下面来修改IDE自带的scala库,我用的是eclipse的IDE 1.在scala库上右击 选择Build Path –> Config Build Path –>选择edit 2.选择2.11.8的scala库,spark2.1.0,2.2.0使用的就是2.11.8库
2017-08-29 11:44:15 1532
原创 scala中的match详解
Scala中提供了比java,c更加强大的switch语句——match,而且不用担心因为忘记写break语句而发生case穿透 1.更好的switch 与if,类似match也是表达式,如下一个用于匹配字符的函数def charMatch(c: Char) = c match { case '+' => 1 case '-' => -1
2017-08-29 09:46:21 24301
原创 scala中的reduceLeft,reduceRight,foldLeft,foldRight方法
scala中集合类iterator特质的化简 reduce和折叠fold方法
2017-08-28 16:15:55 5831 2
转载 zookeeper原理
zookeeper原理ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调
2017-08-28 11:54:21 244
原创 scala 的apply,update,unapply方法
Scala允许函数调用语法 f(arg1, arg2,…) ⇒ f.apply(arg1, arg2,…) f(arg1, arg2,…) = value ⇒ f.update(arg1, arg2,…) = value 例如:val scores = new scala.collection.mutable.HashMap[String,Int]socres("bob") = 100/
2017-08-28 10:08:23 538
原创 scala中的对偶转换类型函数
scala中的对偶(Int,Int)和两个Int的类型的参数非常相似// 使用拉链创造对偶 val p = (1 to 10) zip (11 to 20)// 这两个函数是不同的,这个是用两个Int,Int做的参数 def adjustToPair(f:(Int,Int) => Int)(pair:(Int,Int)) = { f(pair._1,pair._
2017-08-27 22:28:05 750
原创 scala中一个高阶函数的N种调用方法
// (参数类型) => 结果类型 //定义接受一个函数参数的函数 def valueAtOneQuarter(f: (Double) => Double) = f(0.25) // 函数传参的完整写法 valueAtOneQuarter { (x: Double) => 3 * x } // scala类型推断写法 valueAtOneQua
2017-08-27 18:47:10 1391
原创 hadoop2.7.3 hdfs Java API操作
/** * @author root *测试hadoop hdfs 的客户端操作 *项目创建只需要导入hadoop的hadoop-2.7.3-bin\share\hadoop下面所有jar包就可以了 *也可以使用maven依赖 *hadoop-core */public class TestHDFS { /** * hadoop URL */ pu
2017-08-27 18:34:54 2233
原创 scala的主辅构造器
scala的主构造器(primary constructor)和辅助构造器(auxiliary constructor) 1.辅助构造器的名称为this 2.每个辅助构造器都必须直接或间接以主构造开始—-辅助构造器class Person { private var name = "" private var age = 0// 一个辅助构造 de
2017-08-26 22:36:06 711
转载 hbase原理
本文转载至Hbase系统架构及数据结构Hbase中的表一般有这样的特点:1 大:一个表可以有上亿行,上百万列2 面向列:面向列(族)的存储和权限控制,列(族)独立检索。3 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。下面一幅图是hbase在Hadoop Ecosystem中的位置。二、逻辑视图HBas
2017-08-24 22:04:06 289
转载 spark独立模式配置
本文转载并发编程网 – ifeve.com《Spark 官方文档》Spark独立模式spark 1.6.0 [原文地址]Spark独立模式Spark除了可以在Mesos和YARN集群上运行之外,还支持一种简单的独立部署模式。独立部署模式下,你既可以手工启动(手动运行master和workers),也可以利用我们提供的启动脚本(launch scripts)。同时
2017-08-24 21:59:29 577
原创 hadoop 经典入门wordcount
/** * hadoop经典入门wordcount 主要有三大步 1.编写mapper函数 2.编写reducer函数 3.配置 */public class WordCount {/*** mapper类* * 这些泛型继承自hadoop自定义的序列化框架Writable* Hadoop使用自己的序列化框架以减少集群间,网络流量提高性能 也可以在
2017-08-24 20:54:19 432
原创 hive的简单入门
hive常用命令cli1.清屏CTRL+L || !clear;2.查看数据库中的表show tables;3.查看内置函数show functions;4.查看表结构desc tablename;5.查看hdfs 上的文件dfs -ls 目录6.执行操作系统命令!命令;7.执行hql语句select *** from ***8.执行外部
2017-08-24 14:57:51 560
spark机器学习
2017-12-18
hadoop入门介绍
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人