`
flyingdutchman
  • 浏览: 353673 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
        在初等的基本排序算法中,插入排序、归并排序和快速排序是常用的排序算法,实现简单,但很高效,它在空间复杂度和时间复杂度之前取得了最佳的平衡,这也是在现实工作中最常用的原因。         下面是一些 ...
         在上一节《深入学习《Programing Hive》:Hive的数据模型(表)》中,已经学习过表的定义,接下来接着学习Hive的DDL操作。          复制表结构: CREATE TABLE IF NOT EXISTS students2 LIKE students;                          查看表结构: DESCRIBE TABLE students;            删除表: DROP TABLE students ...
        Hive的数据类型         Hive的基本数据类型有:TINYINT,SAMLLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,TIMESTAMP(V0.8.0+)和BINARY(V0.8.0+)。         Hive的集合类型有:STRUCT,MAP和ARRAY。                 Hive主要有四种数据模型(即表):(内部)表、外部表、分区表和桶表。         表的元数据保存传统的数据库的表中,当前hive只支持Derby和MySQL数据库。         内部表:         Hive中的表和传 ...
        Hive是一个基于Hadoop分布式系统上的数据仓库,最早是由Facebook公司开发的,Hive极大的推进了Hadoop ecosystem在数据仓库方面上的发展。         Facebook的分析人员中很多工程师比较擅长而SQL而不善于开发MapReduce程序,为此开发出Hive,并对比较熟悉SQL的工程师提供了一套新的SQL-like方言——Hive QL。         Hive SQL方言特别和MySQL方言很像,并提供了Hive QL的编程接口。Hive QL语句最终被Hive解析器引擎解析为MarReduce程序,作为job提交给Job Tracker运行 ...
          在Java中,被定义在另一类中的类被称为内部类,另一个相对于内部类的类叫做外部类。内部类允许编程人员将相关的类组织起来,控制内部类对其他外部类的可见性。           内部类可以分为普通内部类和静态内部类两种,示例图如下: 普通内部类代码示例如下: public CommonInnerClass{ private static int iNumber; private String str; pub ...
        BloomFilter算法是在1970年提出的算法,具有很好的空间和时间效率,内部是依赖一些列hash算法和数组的。被用来检测一个元素是不是集合中的一个成员,允许有一定的出错率:如果某个数据被判断不在集合中,那么该数 ...
           之前我们已经学习过HTable表的定义及基本操作了,本节我们将要学习HBase的高级功能之一过滤器HBase Filter。            HBase 过滤器(Filter)是HBase提供的一个强大的高效查询的功能,可以和Scan或Get操作配合使用。用户可以在客户端通过方法: setFilter(filter) 配置(如RowFilter),然后将过滤器应用在Region servers端,将符合过滤条件的数据返回给客户端。                                        Filter过滤器在客户端产生, ...
        在本节里,开始学习HBase的性能调优的思想及相关的参数设置。         JVM垃圾收集器调优         HBase是一个的Hadoop的数据库,给用户提供实时的读写请求。在生产环境中,Region Servers都会配置比较大的JVM堆,Javer们都知道,大多数的垃圾收集器(CMS除外)在收集垃圾时都会暂停其他所有的工作线程(即发生“Stop The World”),由于堆特别大(《Hbase权威指南》中指出,Region Servers的堆不要大于12G),那么即使使用了多线程的并行垃圾收集器,也会造成“长”时间的GC时间。在实时系统中暂停客户端线程一段比较(相 ...
          单例模式是一个简单的创建者类型的模式,必须保证在系统中最多只能有一个唯一的对象实例,有如下特点:           1、单例类必须保证最多只有一个实例;           2、必须由单例类自己创建唯一的实例;           3、单例类必须给其他所有对象提供其唯一的实例。           根据创建时间,单例模式又可以分为饥汉式和饱汉式两种,下面通过JAVA代码来分析二者的优缺点。           饥汉式单例模式: /** * HungerySingletonPatternTest * 饥汉式 ...
        在HBase中,要定义一个用户表(HTable),只需要以下几个步骤: Configuration conf = HBaseConfiguration.create();[/b][i]//通过HBase配置工厂生成一个Configuration配置实例 HBaseAdmin admin = new HBaseAdmin(conf); ...
         HBase是面向列的分布式的数据库,和传统的关系型数据库有很大的不同:物理模型和逻辑模型。这里我们要首先讲一下HBase数据库相关的区别于关系型数据库的几个基本概念:          表:HBase将数据组织到自己的HTable表中,这个表是根据列族(colomn family)在物理上保存数据的,每个列族都有自己的文件夹和storefiles,不像关系型数据库那样将一个表保存成一个文件,表明也是文件系统路径的一部分。          行:HBase中的行是逻辑上的行,物理上模型上行是按列族(colomn family)分别存取的。HBase有Rowkey的概念,rowkw ...
       在Hotspot JVM中,大致有以下四种垃圾收集算法:        标记-清除(Mark-Sweep)算法:它是最基础的算法,分为2个阶段“标记”和“清除”:首先标记出所有需要回收的对象,在标记完后统一回收掉所有被标的对象。之所以说它是最基础的收集算法,是因为后续的搜集算法都是基于这种思路并改进其缺点而来的。        标记-清除算法主要有两个缺点:1、标记和清除的效率都不高;2、会产生许多内存速碎片,内存碎片会导致在运行时保分配较大的对象时,由于无法找到连续的内存而不得不提前触发一次垃圾收集操作。          “标记-清除(Mark-Sweep)”算法示意图   ...
       JAVA虚拟机规范中试图通过“JAVA内存模型”来屏蔽掉各种硬件和各种操作系统队内存访问的差异,让JAVA程序在各种系统平台下都能有一致的并发效果,“一次书写,处处运行”。        JAVA内存模型的主要目标:定义 ...
    虚拟机——本文专门针对HotSpot JVM——的主要组成部分:         程序计数器:每一个线程都有一个是独立的私有程序计数器,它保存有该线程要执行的下一条指令的内存地址。         JAVA 虚拟机栈: JVM Stack也是线 ...
    在《分区查找》这一章中我们已经学习了Region Lookups的详细内容;那么,对于一个给定的rowkey,客户端是如何去查询这个rowkey的信息的——可能有匹配信息也可能没有,是每次都去做如《分区查找》这边文章中说的那样,每次都去做三次查询吗?如果答案为否,那么客户端是如今和处理的?     实际上,hbase的查询流程是这样的:     1、客户端会首先查询客户端缓存,如果其中缓存有的-ROOT-和.META.的信息,则可以由这些缓存定位到保存有给点rowkey区间的HRegion Server的地址,然后直接执行第4步,否则直接执行第2步;     2、客户端到Zookeep ...
Global site tag (gtag.js) - Google Analytics