Hbase写入逻辑 发表于 2017-02-18 | 分类于 hbase 写入逻辑HBase仅仅支持行级别的事务一致性。本文主要探讨一下HBase的写请求流程。主要基于0.98.8版本号的实现Hbase的写逻辑涉及到写内存、写log、刷盘等操作从上图可以看出氛围3步骤:第1步:Client获取数据写入的Region所在的RegionServer第2步:请求写Hlog第3步 ... 阅读全文 »
hbase中的zookeeper 发表于 2017-02-18 | 分类于 hbase ZooKeeper:协调者ZooKeeper为HBase集群提供协调服务 它管理着HMaster和HRegionServer的状态(available/alive等),并且会在它们宕机时通知给HMaster,从而HMaster可以实现HMaster之间的failover 对宕机的HRegionSe ... 阅读全文 »
Region寻址 发表于 2017-02-18 | 分类于 hbase 老的Region寻址方式在Hbase 0.96版本以前,Hbase有两个特殊的表,分别是-ROOT-表和.META.表,其中-ROOT-的位置存储在ZooKeeper中,-ROOT-本身存储了 .META. Table的RegionInfo信息,并且-ROOT-不会分裂,只有一个region。而.M ... 阅读全文 »
Elasticsearch 发表于 2017-02-16 | 分类于 elasticsearch 建立倒排索引 标准化规则(normalization)并不会单纯直接建立的倒排索引,会使用到标准化规则(normalization) dog、dogs fox foxes单复数问题只保留一个,有共同词根Quick、quick 不区分大小写问题jump和leap意思相近,只保留一个 分 ... 阅读全文 »
递归 发表于 2017-02-14 | 分类于 recursion 任何循环都可以改为递归,关键是发现逻辑“相似性”和递归出口。有些语言没有循环只有递归,如lisp和clojure。拓展尾递归。 数组求和1234567891011121314151617181920212223242526272829303132333435363738394041424344 ... 阅读全文 »
hive窗口函数 发表于 2017-02-12 | 分类于 hive Hive窗口函数可以计算一定范围内、一定值域内、或者一段时间内的累积和以及移动平均值等;可以结合聚集函数SUM() 、AVG()等使用;可以结合FIRST_VALUE() 和LAST_VALUE(),返回窗口的第一个和最后一个值。 如果只使用partition by子句,未指定order by的话 ... 阅读全文 »
Python fabric使用介绍 发表于 2016-02-21 | 分类于 python 简介Fabric 是一个python的库,可以通过ssh批量管理服务器,将自动化部署或者多机操作的命令固化到一个脚本里,化繁为简 安装首先安装依赖包1yum install -y python-pip gcc python-devel 获取脚本(约1.4M),执行脚本安装pip12wget http ... 阅读全文 »
mysql千万级分页 发表于 2016-02-17 | 分类于 mysql Mysql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录(不包含m条)开始检索N条记录的语句为:1SELECT * FROM 表名称 LIMIT M,N 其中limit为可选项,例如我们有个student表,我们选取前5条记录可以使用下面 ... 阅读全文 »
题目 发表于 2016-02-14 | 分类于 题目 简答说一下hadoop的map-reduce编程模型首先map task会从本地文件系统读取数据,转换成key-value形式的键值对集合 使用的是hadoop内置的数据类型,比如longwritable、text等 将键值对集合输入mapper进行业务处理过程,将其转换成需要的key-value在 ... 阅读全文 »
mapreduce模型 发表于 2016-01-26 | 分类于 mapreduce graph TD A[Map] -->|partition,kvBuffer,sort,spill与combiner,merge| B{Shuffle} B -->|copy,cache_sort_merge,spill,merge,file,GroupingComparator| C[reduce ... 阅读全文 »