近期接触HBase,看了HBase In Action的英文版.開始认为还行,做了些笔记.可是兴许看下去,越来越感觉到实战这本书比較偏使用上的细节,对于HBase的具体设计涉及得很少.把前三章的一些笔记帖一下.后面几章内容不打算整理了.并非说书内容不好. key-value存储.强一致性,多个RegionServer节点对client端是不暴露细节的 使用场景:典型的web-search, capture incremental data, ad. click stream, content s…
新项目准备上HBase.HBase眼下由组里某牛负责.本着学会使用HBase的目标,先阅读下HBase in Action,一共十章组织成三部分,须要学习的内容包含HBase基本实现原理,用法,Schema设计原则和实战等.借用Michael Stack(HBase Chair)的话,"At a highlevel, HBase is like theatomic bomb. Its basic operation can be explained onthe back of a napkin…
OpenTSDB是基于HBase的开源监控系统,能够支持上万规模集群监控和上亿数据点採集. 当中TSDB代表Time Series Database,OpenTSDB在时间序列数据的存储和查询上都做了相当多的优化工作. 架构Overview 概念上OpenTSDB由三部分组成:tcollector数据採集.tsd数据服务和HBase数据存储. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWRvbnR3YW50b2Jl/font/5a6L5L2T/f…
本章介绍用HBase存储.高效查询地理位置信息. Geohash空间索引 考虑LBS应用中常见的两个问题:1)查找离某地近期的k个地点.2)查找某区域内地点. 假设要用HBase实现高效查找,首先要考虑的是空间局部性(Spatial Locality),即位置上相近的点得物理存储在一起. 最简单的地理位置数据由两个维度组成:经度X和纬度Y.那么相相应最简单的Rowkey也能够由X和Y组成.Rowkey的有序性决定了数据首先依照经度X排序.再依照纬度Y排序,这样的方式最大的问题是经度值相等的A地点…
Coprocessor是HBase 0.92.0引入的特性.使用Coprocessor.能够将一些计算逻辑下推到HBase节点,HBase由一个单纯的存储系统升级为分布式数据处理平台. Coprocessor分为两种:Observer和Endpoint. Observer能改动扩展已有的client操作功能.而Endpoint能引入新的client操作. Observer Observer的作用类似于数据库的触发器或者AOP中的advice.下图为Put操作添加Observer,当中1-2-4-…
第二章 起步 本章就相当简单粗暴了,用一个个例子说明hazelcast怎么用. 1.map,set,list这些集合类都是开箱即用的,只要从Hazelcast的实例中获取一份就行. 2.增加了MultiMap(google的guava也有),允许一个key可以有多个value. 3.增加了Predicate做数据筛选,可以用默认的sqlpredicates也可自定义,甚至可以自定义分页查询. client单独出一个jar包了.书里的法子不行.只能自己写. 首先在pom里面加入依赖 <depend…
为了让共享的数组,集合能够被多线程更新,我们现在(.net4.0之后)可以使用并发集合来实现这个功能.而System.Collections和System.Collections.Generic命名空间中所提供的经典列表,集合和数组都不是线程安全的,如果要使用,还需要添加代码来同步. 先看一个例子,通过并行循环向一个List<string>集合添加元素.因为List不是线程安全的,所以必须对Add方法加锁来串行化. 任务开始: ; static void Main(string[] args)…
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UITextField *textField=[[UITextField alloc]initWithFrame:CGRectMake(10, 100, 200, 200)]; textField.backgroundColor=[UIColor redColor];…
本章以山寨版Twitter为例介绍HBase Schema设计模式.广义的HBase Schema设计不仅仅包含创建表时指定项,还应该综合考虑Column families/Column qualifier/Cell value/Versions/Rowkey等相关内容. 灵活的Schema&简单的存储视图 Schema设计和数据存储及訪问模式关系密切,先回想下HBase数据模型.有几个要点: 被索引的部分包含Row Key+Col Fam+Col Qual+Time Stamp 因为HBase…
第一章 第五节 进程与控制 该小节比较粗略的阐述了unix操作系统中用于进程控制的三个函数,分别为 : fork , exec, waitpid, 其中 exec 有五种变体, 这些变体实现的功能全部相同,只是参数不相同而已,他们统称为__exec__函数. API #include<unistd.h> #include<sys/types.h> pid_t fork(void); pid是一个宏定义,根据平台不同而不同,大多数情况都是一个int,该函数的难点在与对进程的理解,因为…
第7章 浏览器环境 7.1 在HTML页面中引入JavaScript代码 7.2概述BOM与DOM(页面以外事物对象和当前页面对象) 7.3 BOM 7.3.1 window对象再探(所以JavaScript核心函数也都是window对象的方法) 7.3.2 window.navigator(浏览器信息,如window.navigator.userAgent) 7.3.3 Firebug的备忘功能 7.3.4 window.location(当前页面的URL信息,如设置href属性可实现页面跳转…
HBase Shell HBase shell使用起来最方便,进入HBase shell控制台就可以使用. $ $HBASE_HOME/bin/hbase shell 常见操作有create(创建表)/put(插入或更新数据)/get(依据rowkey查询)/scan(范围查询)/delete(删除列)/deleteAll(依据rowkey删除整行数据)/disable&drop(禁用表之后再删除). 基于数据库的项目,往往会在某个文件夹下存储专门的sql脚本,记录每次迭代数据库变更:同理,HB…
启用严格模式 "use strict" 这是一个 pragma 编译指示 让编码意图更清晰  是一个重要原则 5种简单数据类型 Undefined Null Boolean Number String 1种复杂数据类型 Object 检测数据类型的方法 typeof 有如下值: undefined boolean object string number function typeof Null object 意在保存对象还没有保存对象的变量的初始值最好是什么 null 八进制的第一位…
7.时间序列绘图 pandas时间序列的绘图功能在日期格式化方面比matplotlib原生的要好. #-*- coding:utf-8 -*- import numpy as np import pandas as pd import matplotlib.pyplot as plt import datetime as dt from pandas import Series,DataFrame from datetime import datetime from dateutil.parse…
这周的nodejs学习内容为几个依赖包的使用,把书上的例子都敲了一遍.这篇就以例程为线索,复习一下一周的工作. 1.connect 这个例程主要是使用connect依赖包,connect提供一个中间件(由函数组成,与请求.响应对象交互)的功能.书中也介绍了connect内置其他的中间件,这些中间件起到组织代码完成web功能的作用. 2.session 使用connect进行用户会话,进行基本的登录系统.通过中间件实现了检查登录.展示表单.用户匹配.处理登出的功能.展示了中间件的强大和组织方式.…
第17条:要么为继承而设计,并提供文档说明,要么就禁止继承 第18条:接口优于抽象类 这两条中,提到了一个很重要的概念骨架实现.也就是说,抽象类实现接口的形式.这样的好处是,接口本来不能提供默认的实现,现在可以在抽象类中实现一些关键的方法.结合了接口和抽象类的优点.例如AbstractCollection,就是一个骨架实现. 另外,在查看源码的过程中,发现居然接口中也可以有方法体了.查了一下,原来是java8的新特性,用default关键字. public interface Collectio…
1 =default构造函数限定符 c++11针对构造函数提供了=default限定符,可以用于显式指定编译器自动生成特定的构造函数.析构或赋值运算函数.参考代码如下: class CtorDftType { public: CtorDftType()=default; CtorDftType(const CtorDftType&)=default; CtorDftType & operator = (const CtorDftType &)=default; ~CtorDftTy…
创建图形,保存图形,修改特征:标题,坐标轴,标签,颜色,线条,符号,文本标注. 1. 一个简单的例子 #输出到图形到pdf文件 pdf("mygrapg.pdf") attach(mtcars) #散点图 plot(wt~mpg) #添加趋势线 abline(lm(mpg~wt)) #添加标题 title("Regresion of mpg on weight") #输出到终端 dev.off() 2. 修改图形参数 par() 函数指定选项 符号和线条:pch:…
1.iBATIS的理念 2.iBATIS是什么 3.安装和配置iBATIS 4.使用以映射语句 5.执行非查询语句 6.使用高级查询技术 7.事务 8.使用动态SQL 9.使用高速缓存提高性能 10.iBATIS数据访问对象 11.DAO进阶 12.扩展iBATIS 13.iBATIS最佳实践 14.综合案例研究 附录A…
1.理解对象/关系持久化 2.启动项目 3.领域模型和元数据 4.映射持久化类 5.继承和定制类型 6.映射集合和实体关联 7.高级实体关联映射 8.遗留数据库和定制SQL 9.使用对象 10.事务和并发 11.实现对话 12.有效修改对象 13.优化抓取和高速缓存 14.利用HQL和JPAQL查询 15.高级查询选项 16.创建和测试分层的应用程序 17.JBoss Seam简介 附录A 附录B…
1.Spring之旅 1.1 简化java 开发 1.1.1 激发pojo 的潜能 1.1.2 依赖注入1.1.3 应用切面1.1.4 使用模板消除样板式代码1.2 容纳你的bean1.2.1 与应用上下文共事 1.2.2 bean 的生命周期1.3 俯瞰spring 风景线1.3.1 spring 模块 1.3.2 spring portfolio1.4 spring 新功能 1.4.1 spring 2.5 新特性 1.4.2 spring 3.0 新特性 1.4.3 spring port…
1 Kubernetes介绍 Kubernetes(以下简称K8s) 是一个部署和管理容器化应用的软件系统.它将底层基础设施抽象,简化了应用的开发.部署,以及对开发和运维团队的管理. K8s由一个主节点和若干工作节点组成.开发者把应用描述提交到主节点,K8s会将描述中包含的容器镜像部署到集群的工作节点,开发者可以指定某些应用必须在一个工作节点一起运行(例如上图五边形和三角形应用),否则将被分散部署到集群中. 2 在K8s中运行应用 2.1 运行容器 pod K8s处理应用描述时,会指示容器运行时…
这一系列文章感觉写的不好,思维跨度很大,原本是由于与<Angularjs in action>有种相见恨晚而激发要写点读后感之类的文章,但是在翻译或是阐述的时候还是会心有余而力不足,零零总总的写了<Angularjs in action>读书笔记的前三篇.渐渐明白,将新知识搞懂是一门本事,而将自己明白的share出去并让别人也明白更是一门学问.几篇翻译下来,感觉有些苍白,有网友给建议说是真枪实战的做点东西,结合代码更有说服力.想想也是,纸上得来终觉浅,绝知此事要躬行.于是乎就有了&…
表示层能有什么疑惑?很简单,我们暂时忘记所有的框架,就写一个注册的servlet来看看. index.jsp <form id="form1" name="form1" method="post" action="loginServlet"> <table width="357" border="0" align="center"> <t…
最近打算系统学习一下asp.net  core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希望与我相同情况的人避免这样的低效,决定把书重要的部分提取出来分享给大家.这本书从零开始,深入浅出的介绍了ASP.NET Core.即使是初学者,也一看就懂,希望你能坚持看来,同进也希望我自己能坚持抽出时间完成此系列,如果你准了,那就让我们一起开始这段学习旅程.记得推荐一下,以示鼓励和赞同.谢谢! <AS…
Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼此分享彼此的开源技术以及需要的代码,相互贡献,形成一个良好的氛围.同时国内也有一些开源仓库,也可以使用.同时对于Git.甚至于SVN这种工具也是必不可少必须要知道的,对于Git的使用,首先必须要安装Git工具,可以在linux上使用命令安装,apt-get/yum/brew install git*…
此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.依赖也是哲学 (1)本质诠释:“不要调用我们,我们会调用你” (2)依赖和耦合: ①无依赖,无耦合: ②单向依赖,耦合度不高: ③双向依赖,耦合度较高: (3)设计的目标:高内聚,低耦合. ①低耦合:实现最简单的依赖关系,尽可能地减少类与类.模块与模块.层次与层次.系统与系统之间的联系: ②高内聚:一方面代表了职责的统一管理,一方面又代表了关系的有效隔离: (4)控制反转(IoC):代码的控制器交由系统控…
接上篇<android开发艺术探索>读书笔记(二) No1: 通过MotionEvent对象可以得到点击事件发生的x和y坐标,getX/getY返回的是相对于当前View左上角的x和y坐标,而getRawX/getRawY返回的是相对于手机屏幕左上角的x和y坐标. No2: TouchSlop是系统所能识别的被认为是滑动的最小距离,这是一个常量,和设备有关,在不同设备上这个值可能是不同的,通过如下的方式可以获取这个常量 ViewConfiguration.get(getContext()).g…
本书可作为王富强所著<<Spring揭秘>>一书的读书笔记  第四章 BeanFactory的xml之旅 bean的scope scope有时被翻译为"作用域",scope用来声明容器中的对象所应该处的限定场景或者说该对象的存活时间,即容器在对象进入其相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象. scope共有5个,singleton,prototype,request,session,global…
Linux设备驱动程序 第三版 读书笔记(一) Bob Zhang 2017.08.25 编写基本的Hello World模块 #include <linux/init.h> #include <linux/module.h> // 声明模块的许可证书 MODULE_LICENSE("Dual BSD/GPL"); static __init hello_init(void) { // KERN_ALERT表示的是日志级别 printk(KERN_ALERT &…