摘要: 1、缓存persist =>storage level对运算中间数据持久化。对数据缓存了,就会重用。使用场景:步骤1=>步骤2=>【步骤3.1、步骤3.2】 就需要在步骤2进行缓存;每个分片都会进行缓存;有缓存就会有丢失,分片有可能丢失,会造成数据不完整,根据RDD的依赖机制,丢失的会从前边的步骤重... 阅读全文
posted @ 2015-12-29 14:38 逸新 阅读(1362) 评论(0) 推荐(0) 编辑
摘要: count返回整个RDD所有元素的个数top返回最大key的top个数元素。会进行倒叙排序返回的为数组reduce针对每个分区进行reduceLeft操作。前两个进行reduce操作,然后结果与第三个元素操作。。。。。。。然后对所有分区的结果进行reduceLeft操作串行处理aggregate也是... 阅读全文
posted @ 2015-12-29 14:15 逸新 阅读(636) 评论(0) 推荐(0) 编辑
摘要: saveAsTextFile将RDD中的每个元素变为(null,element.toString)每个分区都会存储成一个block,基本都是一一映射。 sc.textFile("hdfs://hadoop-1:9000/data/test/test.dat").flatMap(_.split(" "... 阅读全文
posted @ 2015-12-29 14:15 逸新 阅读(3517) 评论(1) 推荐(0) 编辑
摘要: foreach(较常用)直接循环遍历RDD中的元素collect (较常用)将RDD中的数据收集起来,变成一个Array,仅限数据量比较小的时候。collectAsMap()返回hashMap包含所有RDD中的分片,key如果重复,后边的元素会覆盖前面的元素。reduceByKeyLocally先执... 阅读全文
posted @ 2015-12-29 14:14 逸新 阅读(2976) 评论(0) 推荐(0) 编辑
摘要: cache只是persist中的一种情况。cache由persist实现SotrageLevel 缓存级别,是一个枚举。从磁盘缓存到内存中cache算子对RDD转换persist(MEMORY_AND_DISK) lazy级别从磁盘获取数据,如果内存不够则缓存到磁盘中。unpersist (立即生效... 阅读全文
posted @ 2015-12-29 14:13 逸新 阅读(543) 评论(0) 推荐(0) 编辑
摘要: filterf:T->Boolean 为true则保留,为false则丢弃。产生filter后的RDDdistinct去除重复元素cartesian笛卡尔积union单纯合并两个RDD,并不会去重。 阅读全文
posted @ 2015-12-29 14:12 逸新 阅读(540) 评论(0) 推荐(0) 编辑
摘要: join两个RDD,先进行cogroup操作生成一个新的RDD,对同一个key下的value进行笛卡尔积操作。leftOuterJoinrightOuterJoin直接参看源码的函数注释。 阅读全文
posted @ 2015-12-29 14:12 逸新 阅读(289) 评论(0) 推荐(0) 编辑
摘要: combineByKey,返回相同的key的value序列reduceByKey((A,B)=(A+B)),相同key的合并,合并后接value进行累加。 阅读全文
posted @ 2015-12-29 14:11 逸新 阅读(229) 评论(0) 推荐(0) 编辑
摘要: mapValues针对key-value类型的value进行操作,不会对key进行操作。maValue(a=>a+2) 所有的value 都变成value+2subtract对两个RDD进行运算 A∪B - A∩B sample对RDD进行采样,输入RDD,返回采样RDDfraction 百分比se... 阅读全文
posted @ 2015-12-29 14:10 逸新 阅读(814) 评论(0) 推荐(0) 编辑
摘要: groupBy针对key进行分组操作。partitionBy原有partitioner和现在partitioner不同才触发重新分片,如果一直则不会触发一般都是根据key进行分片的。cogroup协同,针对两个RDD进行协同划分返回的结果,key-value value为两个数据的集合的迭代器。 阅读全文
posted @ 2015-12-29 14:10 逸新 阅读(703) 评论(0) 推荐(0) 编辑
摘要: map 通过自定义函数 f:T->u 将元数据T转换为u,不会将split进行合并flatMap通过自定义函数 f:T->u 进行数据变换,并将拆分后的小集合合并成一个大集合。mapPartitionsIter => iter.filter(_>3)作用于整个分区(例如hbase表等)进行操作glo... 阅读全文
posted @ 2015-12-28 19:30 逸新 阅读(394) 评论(0) 推荐(0) 编辑
摘要: cache 可以通过 persist 物化操作流程图 阅读全文
posted @ 2015-12-28 19:29 逸新 阅读(216) 评论(0) 推荐(0) 编辑
摘要: lazy在action执行前是不会进行计算的,只是记录下当前要做的事情。action结果会返回给driver可以避免产生各种众多的中间数据spark lazy 配置验证,是否是完全不执行,可以在shell节点使用一个不存在的hdfs文件路径来创建RDD尝试,如果不报错,则说明没执行如果报错了,则说明... 阅读全文
posted @ 2015-12-28 19:28 逸新 阅读(760) 评论(0) 推荐(0) 编辑
摘要: 1、通过scala集合(数组,range)val collection = sc.parallelize(1 to 10000)2、在hdfs或者hbaseval hdfsData = sc.textFile("hdfs://hadoop-1:9000/data/test/test.dat")3、其... 阅读全文
posted @ 2015-12-28 19:27 逸新 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 1、RDD 只读的分区数据集合。2、RDD的依赖关系,生成RDD的血统。3、RDD支持基于工作集的运用。可以显性的将数据存储在内存中,可以支持高效数据重用。4、RDD是分布式数据编程的一种抽象5、RDD的特征a list of partitions(hdfs的一个分片就是一个partition,每个... 阅读全文
posted @ 2015-12-28 19:25 逸新 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 1、RDD生成:外部文件,别的RDD结果。2、RDD是批量写,可以定位的具体读哪一行。3、在一个数据集中,执行多种或者多次交互式查询4、更好的支持多步骤迭代5、MR 在迭代中必须将中间结果写入磁盘 阅读全文
posted @ 2015-12-28 19:23 逸新 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1、HDFS只能读取,或者通过其他途径创建2、transfrmation是lazy的。3、传统的容错方式,数据检查点或者记录数据的更新容错是分布式最困难的部分。数据检查点:通过数据中心的网络,连接所在的机器之间,复制庞大的数据集。消耗网络和磁盘。记录数据的更新:更新的很多,则记录成本很高。4、RDD... 阅读全文
posted @ 2015-12-28 19:23 逸新 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 1、安装jdk2、安装idea3、安装maven4、安装scalawindows下 下载msi安装文件,因为当前spark使用的scala版本为 2.10.4,因此也选择安装2.10.4版本的scala。5、安装idea的scala扩展工具http://blog.csdn.net/stark_sum... 阅读全文
posted @ 2015-12-28 17:09 逸新 阅读(5805) 评论(1) 推荐(0) 编辑
摘要: centOS准备三台机器 hadoop-1,hadoop-2,hadoop-3提前安装好 jdk,python,host name,ssh安装scala下载scala rpm包在/home/${user}/soft/下wget http://www.scala-lang.org/files/arch... 阅读全文
posted @ 2015-12-22 19:36 逸新 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 1、spark是一个apache开源项目2、spark可以提升程序运行速度,spark在100TB数据比赛中战胜hadoop,并且只使用了十分之一的机器。3、spark提供了java,scala和python语言api支持4、spark可以与hadoop生态系统和数据源很好的集成。5、spark可以... 阅读全文
posted @ 2015-12-21 15:49 逸新 阅读(424) 评论(0) 推荐(0) 编辑
摘要: spark实时运算 阅读全文
posted @ 2015-12-20 23:54 逸新 阅读(181) 评论(0) 推荐(0) 编辑
摘要: mysql 主从加读写分离的时间差问题公司有一个主从复制的Mysql环境,一个主节点,两个从节点。应用访问采取的是读写分离。但是发现这种模式有个问题,通过读写分离,写入一条记录,立即查询这条记录,发现会查询不到,这个应该是主从库时间差导致的。有没有什么办法能减少主库同步到从库的时间差呢,或者有没有什... 阅读全文
posted @ 2015-12-16 15:42 逸新 阅读(234) 评论(0) 推荐(0) 编辑
摘要: mysql cluster是基于ndb存储引擎。 整体分为三大部分,管理节点,存储节点,sql节点。 管理节点用于管理整个集群;存储节点及ndb节点,用来存储数据;sql节点则负责接收客户端的sql请求。 mysql cluster 特性如下性能和扩展能力自动分片数据库自动、透明地分布... 阅读全文
posted @ 2015-12-16 14:44 逸新 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 广告行业在媒体端部署监测代码是一件麻烦的事情,常用的办法就是根据客户需要服务人员帮助其在埋点设置监测代码,但是埋点的地方千变万化,同一个埋点地方可能要埋各种监测代码用于应对各个厂商,一旦监测代码出现变化,再将相关联的埋点重新部署一遍极为费时费力。 如果有一套系统可以在界面上就可以做到修改和部署... 阅读全文
posted @ 2015-12-10 00:29 逸新 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 《深入理解java虚拟机-jvm高级特性与最佳实践》方法区:存储 已被加载的类信息,常量,静态变量,即时编辑器编译后的结果,线程共享。堆:实例化受的实例和数组等,可分为新生代和老年代,再细分可分为 eden,from survivor,to survivor;新实例化的进入新生代(可以通过设置将新实... 阅读全文
posted @ 2015-12-05 23:49 逸新 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 引用链接http://www.cnblogs.com/wu-jian/希望部署内存引擎的开发者们会考虑MySQL Cluster是否是更好的选择,参考如下Memory引擎的使用场景及特点:能像会话(Session)或缓存(Caching)一样方便操作和管理。充分发挥内存引擎的特点:高速度,低延迟。只读或读为主的访问模式(不适合频繁写)。但是内存表的性能受制于单线程的执行效率和写操作时的表锁开销,这就限制了内存表高负载时的扩展性,特别是混合写操作的并发处理。此外,内存表中的数据在服务器重启后会丢失。MySQL Cluster(集群)支持与Memory引擎同样的功能并且提供更高的性能,同时拥有Me 阅读全文
posted @ 2013-03-25 18:30 逸新 阅读(743) 评论(0) 推荐(0) 编辑
摘要: <script type="text/javascript" src="@Url.Content("~/Scripts/cross-browers-copy/ZeroClipboard.js")"></script>ZeroClipboard.setMoviePath('@Url.Content("~/scripts/cross-browers-copy/ZeroClipboard.swf")'); var clip = new ZeroClipboard.Client(); 阅读全文
posted @ 2013-03-12 19:08 逸新 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 一、infobright几大优点:1、高压缩比率,平均压缩比可达10:1,甚至可以达到40:1,我用infobright把3.1G的数据存成不足300M。2、列存储,即使数据量十分巨大,查询速度也很快。用于数据仓库,处理海量数据没一套可不行。3、不需要建索引,就避免了维护索引及索引随着数据膨胀的问题。把每列数据分块压缩存放,每块有知识网格节点记录块内的统计信息,代替索引,加速搜索。4、单一台服务器可以高效地读写30T数据。具有可扩展性,这里是指对于同样的查询,当数据量是10T时,它耗费的时间不应该比1T数据量时慢太多,基本是一个数量级内。二、infobright与mysql对比:1、infob 阅读全文
posted @ 2013-03-07 18:17 逸新 阅读(1325) 评论(0) 推荐(0) 编辑
摘要: 试用范围:未知json数据对象类型、未知json的数据结构的前提下,比较两个json对象的异同,效果:传入两个json对象,将相同部分去除,留下不相同的部分,用于对比。这个是前台javascript进行处理,后台.NET的在研究中。//created by isenhome.zhang in 2013/01/23 15:13var AdchinaJson = {};AdchinaJson.Getdifferent = function (json1, json2) { for (var key in json1) {//循环遍历其中一个json对象 if (typeof (... 阅读全文
posted @ 2013-01-23 17:49 逸新 阅读(8198) 评论(0) 推荐(0) 编辑
摘要: 首先,根据继承关系,父类是无法转化为子类的,但是在某些情况下,会需要在父类的基础上进行扩展,并且需要将原父类的数据填充到新的扩展类中。实体类: class Person { public int Uid { get; set; } public string Name { get; set; } private string _Password; public string PassWord { get { return _Password; } } public void SetPassword(string ... 阅读全文
posted @ 2013-01-21 18:37 逸新 阅读(4427) 评论(0) 推荐(0) 编辑
摘要: 为应付软件小白的各种无脑操作(不过话说回来,软件就是给小白使用的),常常需要在调用方法时增加众多重复的try/catch,后来拜读artech的《如何编写没有Try/Catch的程序》,了解到可以将try/catch统一处理,大大简化了程序编写。 将类中的方法统一处理则需要在所有的方法外增加一层安全的防护,此方法产生的exception由防护层进行处理,牵扯到方法了,自然就想到了aop,使用aop可以拦截方法,spring.net的aop中恰好有AroundAdvice可以做环绕处理(对aop框架了解较少,只知道spring.net可以做到),说到这大家就都明白了,呵呵,直接上代码。环绕... 阅读全文
posted @ 2012-11-29 12:55 逸新 阅读(798) 评论(0) 推荐(0) 编辑