2016年9月29日
摘要: 近期整理了下项目中Redis配置参数,以便学习备用~ #指定内存大小,格式为1k 1GB 1M,单位不区分大小写 # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g => 阅读全文
posted @ 2016-09-29 11:31 松伯 阅读(339) 评论(0) 推荐(0) 编辑
  2016年9月28日
摘要: 在面向对象系统中,对象封装了数据和对数据的处理,对象的依赖关系常常体现在对数据和方法的依赖上。这些依赖关系可以通过把对象的依赖注入交给框架或IOC容器来完成,这种从具体对象手中交出控制的做法是非常有价值的,它可以在解耦代码的同时提高代码的可测试性。 在Spring中,IoC容器是实现这个模式的载体, 阅读全文
posted @ 2016-09-28 22:59 松伯 阅读(816) 评论(0) 推荐(0) 编辑
  2016年9月26日
摘要: 数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。 一、模型分类 (1)联邦式数据库系统(Federated Distributed Database System),这种分布式数据库的特点是结点自治和没有全局数据模式,每个结点所看到的数据模式仅仅限 阅读全文
posted @ 2016-09-26 00:54 松伯 阅读(2372) 评论(0) 推荐(0) 编辑
  2016年9月22日
摘要: DOM和SAX DOM的全称是Document Object Model,也即文档对象模型。基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合,应用程序挣是通过对这个对象模型的操作,来实现对XML文档数据的操作。 DOM接口提供了一种通过分层对象模型来访问XML文档信息的方式,这些分层 阅读全文
posted @ 2016-09-22 11:25 松伯 阅读(433) 评论(0) 推荐(0) 编辑
  2016年9月18日
摘要: 应用场景为,读取hdfs上的文件,并转化成<k,v>形式存入内存。 阅读全文
posted @ 2016-09-18 15:09 松伯 阅读(686) 评论(0) 推荐(0) 编辑
  2016年9月13日
摘要: 给数组赋值:通过fill方法。 对数组排序:通过sort方法,按升序。比较数组:通过equals方法比较数组中元素值是否相等。查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。 使用如下: 源码解析:package test; 今日太晚,明日再干~ 阅读全文
posted @ 2016-09-13 02:24 松伯 阅读(816) 评论(0) 推荐(0) 编辑
摘要: HashMap 一、HashMap基本概念: HashMap是基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collectio 阅读全文
posted @ 2016-09-13 01:21 松伯 阅读(386) 评论(0) 推荐(0) 编辑
  2016年8月25日
摘要: 最近几个月一直在做基于storm的流式处理,索性整理下所有的知识点与技术知识。 一、数据准备 1、首先,我们需要用户的所有数据,使用MapReduce进行数据处理,生成业务宽表导入hbase与Redis,用于后续实时处理直接从Redis中获取相应数据,减少读写磁盘IO的消耗。 二、消息的接入 1、传 阅读全文
posted @ 2016-08-25 11:24 松伯 阅读(436) 评论(0) 推荐(0) 编辑
  2016年8月13日
摘要: 由于项目需要,写了版针对业务的自动化测试代码,主要应用场景在于由于业务日趋复杂,一些公共代码的改动,担心会影响已有业务。还没进行重写,但知识点还是不少的与大家分享实践下。首先,介绍下整个流处理的业务流程。 首先 从网管实时接入数据到kafka,然后消息接入 进行预处理(这个过程是通过jetty框架, 阅读全文
posted @ 2016-08-13 11:13 松伯 阅读(543) 评论(0) 推荐(0) 编辑
  2016年8月11日
摘要: 通过算法小组给出的聚合文件,我们需要实现一种业务场景,通过用户的消费地点的商户ID与posId,查询出他所在的商圈,并通过商圈地点查询出与该区域的做活动的商户,并与之进行消息匹配,推送相应活动信息到用户手机。 那么整个流程分为两步,第一步,将整个聚合文件刷入缓存,文件数据格式如下: 29 1:1 1 阅读全文
posted @ 2016-08-11 13:51 松伯 阅读(7471) 评论(1) 推荐(0) 编辑
摘要: 最近项目代码中太多重复的编写Document,不同的接口需要不同的模板,于是重写提取公共部分打成jar包,方便各个系统统一使用~ 提取结构: Http连接方式: Socket方式: package SocketClient; import java.io.DataInputStream; impor 阅读全文
posted @ 2016-08-11 12:52 松伯 阅读(2074) 评论(0) 推荐(0) 编辑
  2016年7月17日
摘要: 1.对象的创建 虚拟机遇到一条new指令时,首先会去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,则必须先进行相应的类的加载。 2、对象的访问定位 简历对象是为了使用对象,我们的java程序需要通过栈上的refreren 阅读全文
posted @ 2016-07-17 15:48 松伯 阅读(603) 评论(0) 推荐(0) 编辑
  2016年7月10日
摘要: A class that implements the CommandLineParser interface can parse a String array according to the Options specified and return a CommandLine. 阅读全文
posted @ 2016-07-10 22:52 松伯 阅读(2470) 评论(0) 推荐(0) 编辑
  2016年6月18日
摘要: 感谢该作者的总结,转载地址:http://blog.arganzheng.me/ 本人将重点进行加粗,便于大家一起查阅学习 一、分布式系统的难点 分布式系统比起单机系统存在哪些难点呢? 1. 网络因素 由于服务和数据分布在不同的机器上,每次交互都需要跨机器运行,这带来如下几个问题: 同机房的网络IO 阅读全文
posted @ 2016-06-18 15:52 松伯 阅读(4577) 评论(0) 推荐(0) 编辑
  2016年6月11日
摘要: 进程 虽然进程构成了分布式系统中的基本组成单元,但是操作系统提供的用于构建分布式系统的进程在粒度上还是太大了,而就粒度而言,将每个进程细分为若干控制线程的形式则更加合适。 为了程序执行的需要,操作系统创建多个虚拟处理器,每个虚拟处理器运行一个程序。为了保持对这些虚拟处理器的跟踪,操作系统中有一张进程 阅读全文
posted @ 2016-06-11 21:47 松伯 阅读(4096) 评论(0) 推荐(0) 编辑
  2016年6月10日
摘要: 一、面向消息的持久通信 消息队列系统为持久异步通信提供多种支持,本质是提供消息的中介存储能力,这样就不需要消息发送方和接收方在消息传输过程中都保持激活状态。 消息队列模型 应用程序可以通过在特定队列中插入消息来进行通信。消息由一系列通信服务器依次进行转发,最终送达目的地。即使在消息发送过程中接收方的 阅读全文
posted @ 2016-06-10 11:52 松伯 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 由于没有存储共享器,分布式系统中的所有通信都是基于底层消息交换的。如果进程A要与进程B通信,A必须首先在自己的地址空间中生成该消息,再执行一个系统调用,通知操作系统将该消息通过网络发送给B。 为了使一组计算机能够通过网络相互通信,它们必须使用相同的协议。可以把协议划分为两大类。 一类是面向连接协议, 阅读全文
posted @ 2016-06-10 03:26 松伯 阅读(887) 评论(0) 推荐(0) 编辑
摘要: 研究生阶段学习的分布式原理与泛型几乎忘完了,当初不怎么懂。。。现在工作中发现大数据技术的底层还是分布式系统,那么重新拾起,总结下~ 一、分布式系统简介 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统。这个定义包含了两方面的内容,第一方面是硬件的:机器本身是独立的。第二方面 阅读全文
posted @ 2016-06-10 00:56 松伯 阅读(1646) 评论(0) 推荐(0) 编辑
  2016年6月9日
摘要: 运行在独立的节点上的ResourceManager和NodeManager一起组成了yarn的核心,构建了整个平台。ApplicationMaster和相应的container一起组成了一个Yarn的应用系统。 ResourceManager提供应用程序的调度,每个应用程序由一个Applicatio 阅读全文
posted @ 2016-06-09 23:51 松伯 阅读(7409) 评论(0) 推荐(0) 编辑
  2016年6月6日
摘要: Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,那么这里就总结下Parquet数据结构到底是什么样的呢? 一个Parquet文件是由一个header以及一个或多个block块组成,以一个fo 阅读全文
posted @ 2016-06-06 22:24 松伯 阅读(8521) 评论(1) 推荐(1) 编辑
  2016年6月5日
摘要: Redis在工程开发中还是比较常用的Nosql内存数据库,简单巩固一下它的各种数据类型与用法~ 阅读全文
posted @ 2016-06-05 22:33 松伯 阅读(282) 评论(0) 推荐(0) 编辑
摘要: Storm利用Acker Bolt节点跟踪消息,当Spout发送出去的消息以及这些消息所衍生出来的消息均被处理后,Spout将受到对应于该消息的Ack。实现要点: 1、Storm中每条发送出去的消息都会对应一个随机的消息ID。 2、Spout发送消息后,将向Acker Bolt发送一条消息,该消息内 阅读全文
posted @ 2016-06-05 20:53 松伯 阅读(461) 评论(0) 推荐(0) 编辑
摘要: MapReduce Types MapReduce是一个简单的数据处理模型,map与reduce的输入和输出类型都为key-value形式的键值对。 一般来讲,map的输入key与输出value类型(K1,V1)不同于map的输出类型(K2,V2).reduce的输入类型比如与map的输出类型保持一 阅读全文
posted @ 2016-06-05 12:34 松伯 阅读(759) 评论(0) 推荐(0) 编辑
摘要: 市面上的hadoop权威指南一类的都是老版本的书籍了,索性学习并翻译了下最新版的Hadoop:The Definitive Guide, 4th Edition与大家共同学习。 我们通过提交jar包,进行MapReduce处理,那么整个运行过程分为五个环节: 1、向client端提交MapReduc 阅读全文
posted @ 2016-06-05 00:48 松伯 阅读(8830) 评论(1) 推荐(0) 编辑
  2016年6月4日
摘要: 在一些应用中,我们需要一种特殊的数据结构来存储数据,并进行读取,这里就分析下为什么用SequenceFile格式文件。 Hadoop SequenceFile Hadoop提供的SequenceFile文件格式提供一对key,value形式的不可变的数据结构。同时,HDFS和MapReduce jo 阅读全文
posted @ 2016-06-04 22:21 松伯 阅读(13812) 评论(0) 推荐(1) 编辑
  2016年5月31日
摘要: 最近为了方便开发,在自己的虚拟机上搭建了三节点的Hadoop集群与Hbase集群,hadoop集群的搭建与zookeeper集群这里就不再详细说明,原来的笔记中记录过。这里将hbase配置参数进行相应整理,方便日后使用。 首先vi ~/.bash_profile将hbase的环境变量进行配置,最后s 阅读全文
posted @ 2016-05-31 01:30 松伯 阅读(8912) 评论(0) 推荐(0) 编辑
摘要: 最近学习Hadoop、Hbase、Spark及Storm原理,经常会出现RPC这样的传输术语,为了更好地理解,将知识点详细的整理下吧~ RPC 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。 阅读全文
posted @ 2016-05-31 00:31 松伯 阅读(689) 评论(0) 推荐(0) 编辑
  2016年5月30日
摘要: 需求来自于,模糊查找当天的所有记录,并查找对应列的记录数 其实可以都写成内置过滤器,不过HBase还没有深入学习,暂时先这样写啦~ 阅读全文
posted @ 2016-05-30 17:55 松伯 阅读(1361) 评论(0) 推荐(0) 编辑
  2016年5月28日
摘要: 数据流 MapReduce作业(job)是客户端执行的单位:它包括输入数据、MapReduce程序和配置信息。Hadoop把输入数据划分成等长的小数据发送到MapReduce,称之为输入分片。Hadoop为每个分片创建一个map任务,由它来运行用户自定义的map函数来分析每个分片中的记录。 这里分片 阅读全文
posted @ 2016-05-28 16:14 松伯 阅读(2219) 评论(0) 推荐(0) 编辑
摘要: 客户端API:基础 HBase的主要客户端接口是由org.apache.hadoop.hbase.client包中的HTable类提供的,通过这个类,用户可以完成向HBase存储和检索数据,以及删除无效数据之类的操作。 通常在正常负载下和常规操作下,客户端读操作不会受到其他修改数据的客户端影响,因为 阅读全文
posted @ 2016-05-28 01:44 松伯 阅读(842) 评论(0) 推荐(0) 编辑
  2016年5月25日
摘要: MapReduce的Shuffle过程介绍 Shuffle的本义是洗牌、混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好。MapReduce中的Shuffle更像是洗牌的逆过程,把一组无规则的数据尽量转换成一组具有一定规则的数据。 为什么MapReduce计算模型需要Shuffle 阅读全文
posted @ 2016-05-25 22:25 松伯 阅读(4530) 评论(0) 推荐(0) 编辑
摘要: 读取hdfs中文件并做处理,取出卡号,通过卡号连接hbase查询出对应客户号,写入redis,因为不用输出,所以不调用context.write方法,整个操作在一个map中便可完成 阅读全文
posted @ 2016-05-25 11:01 松伯 阅读(709) 评论(0) 推荐(0) 编辑
  2016年5月21日
摘要: Spring MVC是一个MVC模式的实现。在Spring MVC的使用中,需要在web.xml中配置DispatcherServlet,也就是说其核心是一个Servlet,这个DispatcherServlet实现的是Sun的J2EE核心模式中的前端控制器模式(Front Controller), 阅读全文
posted @ 2016-05-21 19:32 松伯 阅读(252) 评论(0) 推荐(0) 编辑
摘要: Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的冰箱。 Redis常用数据类型 Redis最为常用的数据类型主要有以下五种: String Hash 阅读全文
posted @ 2016-05-21 17:35 松伯 阅读(318) 评论(0) 推荐(0) 编辑
  2016年5月18日
摘要: 创建表: create table tableName(time INT,userid BIGINT,url STRING,ip STRING COMMENT 'IP Address of the User') COMMENT 'This is the tableName table' PARTIT 阅读全文
posted @ 2016-05-18 01:33 松伯 阅读(568) 评论(0) 推荐(0) 编辑
  2016年5月15日
摘要: HBase的服务器体系结构遵从简单的主从服务器架构,它由HRegion服务器(HRegion Service)群和HBase Master服务器(HBase Master Server)构成。Hbase Master服务器负责管理所有的HRegion服务器,而Hbase中所有的服务器是通过Zooke 阅读全文
posted @ 2016-05-15 20:30 松伯 阅读(1109) 评论(0) 推荐(0) 编辑
摘要: HDFS文件结构 1、NameNode的文件结构,NameNode会创建VERSION、edits、fsimage、fstime文件目录。其中dfs.name.dir属性是一个目录列表,是每个目录的镜像文件。VERSION文件是JAVA属性文件,其中包含运行HDFS的版本信息。包含内容: 其中,na 阅读全文
posted @ 2016-05-15 19:22 松伯 阅读(357) 评论(0) 推荐(0) 编辑
  2016年5月14日
摘要: Bolt是Topology中数据处理的基本单元,也是Storm针对处理过程的编程单元。Topology中所有的处理都是在这些bolt中完成的。 Bolt可以将数据项发送至多个数据流(Stream)。编程人员首先可以使用OutputFieldsDeclarer类的declareStream()方法声明 阅读全文
posted @ 2016-05-14 01:00 松伯 阅读(797) 评论(0) 推荐(0) 编辑
摘要: I/O操作中的数据检查 校验和方式是检查数据完整性的重要方式。一般会通过对比新旧校验和来确定数据情况,如果两者不同则说明数据已经损坏。比如,在传输数据前生成了一个校验和,将数据传输到目的主机时再次计算校验和,如果两次的校验结果不同,则说明数据已经损坏。因为Hadoop采用HDFS作为默认的文件系统, 阅读全文
posted @ 2016-05-14 00:04 松伯 阅读(784) 评论(0) 推荐(0) 编辑
  2016年5月13日
摘要: Storm的通信机制,需要满足如下一些条件以满足Storm的语义。 1、建立数据传输的缓冲区。在通信连接没有建立之前把发送的数据缓存起来。数据发送方可以在连接建立之前发送消息,而不需要等连接建立起来,可是的接收方是独立运行的。 2、在消息传输层保证消息最多只能发送一次,Storm系统有ACK机制,是 阅读全文
posted @ 2016-05-13 00:41 松伯 阅读(696) 评论(0) 推荐(0) 编辑