`
luoshi0801
  • 浏览: 147960 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表

tlog数据存储

Tlog采用了hbase+云梯的存储方案,分别对应实时和离线的数据服务,它们在tlog中的场景描述为: 实时服务—如查看近2分钟某应用的服务调用情况;检索一笔彩票订单目前的流程状态。它们的特点是数据粒度细、实时性要求高、不能重复计算或重复计算结果不一致、稳定性差 离线服务—如统计昨天提供调用次数最多的前10个服务;分析前一个月里售出彩种ID=1的总额最高的代理商和最低代理商,金额分别是多少。与实时服务相反,它们的特点是数据粒度粗、时间跨度大、能重复计算、结果一致稳定
异步hbase包asynchbase-1.4.1.jar,maven的pom如下: <dependency>  <groupId>org.hbase</groupId>  <artifactId>asynchbase</artifactId>  <version>1.4.1</version></dependency>   HBaseClient client = new HBaseClient("test036083.sqa.cm4.tbsite.net"); //生 ...
《大数据》这本书并不是专业技术书籍,它更像是一部历史纪传体,描述了19世纪以来美国政府、社会、公民在信息IT技术潮流中扮演的角色及发挥的作用,从一个行业的视角反映了美国的民主文化、经济政治等客观因素对技术浪潮产生的影响和推动作用。一、以法立国,以数治国个人认为,当下的一个文明社会,首先应该是一个法制的社会。俗话说“无以规矩、不成方圆”就是这个道理。美国之所以敢以文明社会自居,离不了它们的立国根本“三权分立”   三种权利相互制约、相互扶助,最大程度上限制了专制独裁的出现,构成了国家法制的基础。一条法律是如何产生的呢?这得要看国会的立法步骤:引入法案(众议员)->举行听证会形成草案(分委 ...
一年多前做ppt,是关于protobuf的原理介绍和性能测试对比
在利用mapred分析大数据时,程序中常常会引入hdfs上一些“辅助数据”,通常的做法在mr的启动前加载这些数据形成cache以提高效率,而mr在大并发下去访问hdfs的同一文件可能存在性能瓶颈,DistributedCache可以帮助解决。        DistributedCache</code> is a facility provided by the Map-Reduce framework to cache files (text, archives, jars etc.) needed by applications.   添加cacheFile:     ...
当原始数据中包好了诸如'\u0001'、'\u0002'、'\u0003'等hive默认的column分隔字符时,在select数据时就可能出现数据格式错乱的情况,为了避免这类现象,可以用自定义的RegexSerDe规避这类特殊字符。   例子: ac18148213512592717614403|135125 ...
  hive sql对hdfs的操作最终都会转化为mr任务,下面介绍如何将已经存在的hdfs文件“导入”hive表,很简单  条件及要求: 1)hdfs文件为经过lzo压缩的seqFile 2)seqFile数据样例     127.0.0.1      ae8186613401633040361974|1340163304040|0.1|hsf.qa.test|yuanfeng|test_07_01     其中key是hostIp, value为一条日志,格式为:traceid|time|rpcid|appname|querykey|msg 3)hive表是外在分区表 ...
1.登录负载高的机器,利用top命令查看 发现最耗cpu的进程ID是17221, 并dump线程:jstack 17221 >> jstack.log   2.利用 top -p 17221 -H查看该进程下所有线程 发现性能损耗最大的线程ID是17260   3.echo "obase=16;17260" | bc ,将线程ID转化为16进制 大写字母变小写,前面加0x后得到:0x436c   4.在jstack.log中查找0x436c 可以发现目前线程被阻塞到哪里。   总结:可以反复多dump几次线程进行比较         ...
观察者模式:定义对象间的一对多依赖,当一个对象状态改变时,所有依赖它的对象都会收到通知并自动更新  观察者获得更新状态的方式有“推( push )”和“拉 pull ”两种方式,前者认为更合理,因为可以一次性给到观察者需要的数据;而后者对观察者更自由,可以决定什么时候去拿,拿什么样的数据,前提是主题需要定义一些列 getter 方法。注意,程序不能依赖观察者被通知的顺序 装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案  装饰者反映出被装饰的组件类型,因为它们具有相同的接口。该模式可以通过组合和委托在运行时动态地加上新的行为 ...
一、Linux服务器性能关注点 1)CPU -> load:表示cpu在一段时间内正在处理以及等待处理的任务之和统计信息,简单可理解为cpu正处理的线程数和能同时处理的线程数的比值。一般认为load值的安全上限为cpu的个数 -> run queue:表示cpu维护的线程运行队列。在多核系统中,每个cpu都将维护这么一个队列,其长度值越大表明cpu负载越高,load指标便基于此统计而来 -> utilization:cpu使用率,由如下部分组成。后面一般是cpu被充分利用的比值分布                      user          60%~70% ...
重构—对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。   代码坏味道 常用重构手段 Duplicated重复代码
    上学期间研究了下软件执行网络的动态拓扑特性,实验了一些在函数粒度上可行的网络构造方法,这里总结下,感觉对分析开源软件代码有一定帮助。废话不多说,主要分为c/c++和java两种: (1) 基于Gnu/Gprof运行时剖析工具 Gnu/Gprof是类Unix平台下对c/c++开源项目的一个profile分析工具,它能在程序运行过程中记录下函数间的调用关系,每个函数被调用的次数,每个函数消耗的时间等代码级信息。它的实现原理是通过编译和链接源程序的时候在gcc编译器的命令行参数中加入“-pg”调试选项,gcc编译器就会在程序的每个函数中加入一个名为“mcout”(或“_mcount”, ...
Global site tag (gtag.js) - Google Analytics