欢迎转载,转载请注明出处,徽沪一郎概要在新近发布的spark 1.0中新加了sql的模块,更为引人注意的是对hive中的hiveql也提供了良好的支持,作为一个源码分析控,了解一下spark是如何完成对hql的支持是一件非常有趣的事情。Hive简介Hive的由来以下部分摘自Hadoop defini...
分类:
其他好文 时间:
2014-07-07 14:45:58
阅读次数:
224
我们知道在一个数据库系统中为了保证数据的可靠性,我们都会记录对系统的操作日志。日志的功能就是用来在系统down掉的时候对数据进行恢复,所以日志系统对一个要求可靠性的存储系统是极其重要的。接下来我们分析leveldb的日志,首先在leveldb源码目录中有doc/log_format.txt,这个文件...
分类:
数据库 时间:
2014-07-07 13:20:31
阅读次数:
338
概述Jsoup是一款Java 的HTML解析器。支持将html解析为DOM树、支持CSS Selector形式选择、支持html过滤,本身还附带了一个Http下载器。jsoup代码简洁,总共53个类,代码大约9000行,无第三方依赖,代码结构如下所示jsoup├── examples #样例,包括一...
分类:
Web程序 时间:
2014-07-03 09:39:57
阅读次数:
239
对于compaction是leveldb中体量最大的一部分,也应该是最为复杂的部分,为了便于理解我们首先从一些基本的概念开始。下面是一些从doc/impl.html中翻译和整理的内容:Level 0当日志文件超过一定大小的阈值是 (默认为 1MB):建立一个新的memtable和日志文件,以后的操作...
分类:
数据库 时间:
2014-07-02 21:34:11
阅读次数:
371
SSTable是leveldb 的核心模块,这也是其称为leveldb的原因,leveldb正是通过将数据分为不同level的数据分为对应的不同的数据文件存储到磁盘之中的。为了理解其机制,我们首先看看SSTable中的基本概念。首先看看数据的整体存储结构:可以从图中看到了几个概念:Datablock...
分类:
数据库 时间:
2014-07-01 22:12:32
阅读次数:
282
上一篇文章讲述了SSTable的格式以后,本文结合源码解析SSTable是如何生成的。void TableBuilder::Add(const Slice& key, const Slice& value) {//如果已经插入过数据,那么要保证当前插入的key > 之前最后一次插入的key,// S...
分类:
数据库 时间:
2014-07-01 21:34:56
阅读次数:
469
bloomfilter是leveldb中的一大性能利器,所以为了文章的表现完整性这里新启这么一篇文章。leveldb中的bloomfilter的实现在bloom.cc中,是一个较为简单的实现,所以就不再具体进行分析。本文列出两个参考地址:那些优雅的数据结构(1) : BloomFilter——大规模...
分类:
数据库 时间:
2014-07-01 21:13:52
阅读次数:
195
在SSTable中主要存储数据的地方是data block,block_builder就是这个专门进行block的组织的地方,我们来详细看看其中的内容,其主要有Add,Finish和CurrentSizeEstimate三个函数。Finish的逻辑十分简单就是简单的将restart点信息和resta...
分类:
数据库 时间:
2014-07-01 20:51:08
阅读次数:
367
control的设计整体感觉挺美的,在父类control定义了整个控制事件的基础以及管理,虽然其继承了Layer,但其本身和UI组件的实现并没有关联。在子类(controlButton,controlSwitch,controlStepper等中实现不同的UI组件)...
分类:
其他好文 时间:
2014-07-01 14:58:14
阅读次数:
196
data函数在jQuery中只有短短的300行代码,非常不起点 ,剖析源码的时候你会发现jQuery只要在有需要保存数据的地方无时无刻不依赖这个基础设施动画会调用队列,队列会调用data数据接口还保存队列里面的的动画数据所以我们在自习回顾下关于数据缓存//These may be used thro...
分类:
Web程序 时间:
2014-06-30 22:56:12
阅读次数:
353