自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 博客声明--博文导览

成功,唯有积累,没有奇迹!!!!!! 博客中的文章分类: 一、大数据 1、Hadoop及周边产品详解 《HDFS详解》、《MapReduce详解》、《Pig详解》、《hive详解》 《Sqoop详解》、《Flume详解》、《HBase详解》、《oozie详解》 《Solr详解》、《...

2014-06-17 18:56:40 50 0

原创 原创:数据仓库架构和建设方法

1.数据仓库概要 1.1.数据仓库起因      在建设数据仓库之前,数据散落在企业各部门应用的数据存储中,它们之间有着复杂的业务连接关系,从整体上看就如一张巨大的蜘蛛网:结构上错综复杂,却又四通八达。在企业级数据应用上单一业务使用方便,且灵活多变;但涉及到跨业务、多部门联合应用就会存在:...

2017-06-23 11:27:10 1512 0

原创 数据仓库建设:维度处理

1.代理关键字 代理关键字一般是指维度表中使用顺序(序列)分配的整数值作为主键,也称为“代理建” 代理关键字用于维度表和事实表的连接。在kimball的维度建模领域里,强烈推荐使用代理关键字的。在维度表和事实表的每一个连接中都应该使用代理关键字,而不应该使用自然关键字或者智能关键字(Sm...

2017-06-15 19:17:06 140 0

原创 hive文件类型与压缩

1.概述     数据仓库在建设使用的过程中,主要消耗的资源包含:CPU、MEMORY、DISK三部分。 数据仓库在计算过程中主要消耗CPU和Memory资源,当然也会消耗一些DISK资源用来存储计算过程中的临时结果。但是主要优化的方向,还是降低CPU和MEMORY的消耗,这方面主要依赖...

2017-05-23 23:16:20 103 0

原创 hive小文件合并

    hive仓库表数据最终是存储在HDFS上,由于Hadoop的特性,对大文件的处理非常高效。而且大文件可以减少文件元数据信息,减轻NameNode的存储压力。但是在数据仓库中,越是上层的表汇总程度就越高,数据量也就越小,而且这些表通常会有日期分区,随着时间的推移,HDFS的文件数目就会逐...

2017-05-21 22:15:28 381 0

原创 JVM项目实践

一、启动分配内存     关于GC有一个常见的疑问是,在启动时,我们内存如何分配?用-Xmn,-Xmx,-Xms,-Xss,-XX:NewSize,-XX:MaxNewSize,-XX:MaxPermSize,-XX:PermSize,-XX:SurvivorRatio,-XX:Preten...

2016-12-05 11:11:48 73 0

原创 JVM监视与调优

    学习Java GC机制的目的是为了在JVM出现问题时分析原因并解决。JVM监控与调优主要着眼于如何配置、如何监控、如何优化3点。 一、参数配置     在Java虚拟机的参数中,有3种表示方法,用“ps -ef | grep java”命令,可以得到当前Java进程的所有启动参数和...

2016-12-04 15:39:11 49 0

原创 JVM监控与故障处理

    现实企业级java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError内存不足 内存泄露 线程死锁 锁争用(lock Contention) Java进程消耗CPU过高 ... ... 等等     这些问题在日常开发中可能被很多人忽视(比如遇到...

2016-11-21 15:00:03 51 0

原创 hbase rowkey 查询

一、hbase查询方式     hbase的查询实现只提供两种方式: 按指定rowkey获取唯一一条记录:get方法。 按指定条件获取一批记录:scan方法。     实现条件查询功能使用的就是scan方式,scan在使用时有以下几点值的注意: scan可以通过setCachi...

2016-07-07 15:46:08 1128 0

原创 HBase Rowkey设计

一、HBase的Schema和cf列族 1、Schema的创建修改     Hbase模式建立或更新可以通过Hbase shell工具或者Hbase java API中的Admin类。当列族发生变动时hbase表必须处于disabled状态。例如: Configuration confi...

2016-07-07 15:00:23 78 0

原创 hbase热点问题(数据倾斜)解决方案---rowkey散列和预分区设计

     Hbase的表会被划分为1....n个Region,被托管在RegionServer中。Region二个重要的属性:Startkey与EndKey表示这个Region维护的rowkey的范围,当我们要读写数据时,如果rowkey落在某个start-end key范围内,那么就会定位到...

2016-07-05 14:39:42 962 0

原创 java高并发编程:11--ReentrantReadWriteLock深入分析

一、ReentrantReadWriteLock与ReentrantLock     说到ReentrantReadWriteLock,首先要做的是与ReentrantLock划清界限。它和后者都是单独的实现,彼此之间没有继承或实现的关系。     ReentrantLock 实现了标...

2016-06-27 15:43:49 28 0

原创 java高并发编程:10--ReentrantLock深入分析

一、什么是reentrantlock     java.util.concurrent.lock 中的 Lock 框架是锁定的一个抽象,它允许把锁定的实现作为 Java 类,而不是作为语言的特性来实现。这就为 Lock 的多种实现留下了空间,各种实现可能有不同的调度算法、性能特性或者锁定语义...

2016-06-27 15:29:56 40 0

原创 java高并发编程:9--Atomic原子变量与原子类

一、何谓Atomic?     Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位。计算机中的Atomic是指不能分割成若干部分的意思。如果一段代码被认为是Atomic,则表示这段代码在执行过程中,是不能被中断的。通常来说,原子指令由硬件提供,供软件来实现原子方法(某个线程进入该...

2016-06-24 16:10:33 72 0

原创 java高并发编程:8--Copy-On-Write容器

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWr...

2016-06-24 11:25:34 34 0

原创 java高并发编程:7--原子操作的实现原理

一、引言     原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为"不可被中断的一个或一系列操作" 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Intel处理器和Java里是如何实现原子操作的。...

2016-06-24 11:07:56 50 0

原创 java高并发编程:5--ConcurrentLinkedQueue的实现原理分析

1. 引言     在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环C...

2016-06-23 11:23:18 29 0

原创 java高并发编程:6--深入分析ConcurrentHashMap

1.术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输 出的加密方式,其输出被称为哈希值。 哈希表 hash table 根据设定的哈希函数H(key)和处理冲突方法将 一组关键字映象到一个有...

2016-06-23 10:52:37 59 0

原创 Java高并发编程:3----Synchronized

1 引言 在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级...

2016-06-21 11:51:10 28 0

原创 java高并发编程:4--Java中的阻塞队列

1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素...

2016-06-21 11:15:33 26 0

原创 java高并发编程:2--volatile可见性同步

    Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分 。     锁提供了两...

2016-06-12 11:40:33 35 0

原创 java高并发编程:1--内存模型

我们在学习Java高并发编程前,先了解一下《java内存管理(1) 》、《Java垃圾回收(2)》、《java线程池使用》。 一、计算机硬件的效率与一致性     由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的...

2016-06-08 10:49:26 150 0

原创 HBase -ROOT-和.META.表结构【转】

       在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个Re...

2016-06-07 15:21:54 34 0

原创 hive查询使用详解

常见的hive查询操作有:count、group by、order by、join、distribute by、sort by、clusrer by、union all 一、常见的聚合函数 1、count计数 count(*) 所有值不全为NULL时,加1操作; count(1) 不...

2016-05-02 22:57:29 251 0

原创 转:Hive小文件合并

    Hive的后端存储是HDFS,它对大文件的处理是非常高效的,如果合理配置文件系统的块大小,NameNode可以支持很大的数据量。但是在数据仓库中,越是上层的表其汇总程度就越高,数据量也就越小。而且这些表通常会按日期进行分区,随着时间的推移,HDFS的文件数目就会逐渐增加。 小文件带来...

2016-04-21 15:29:12 77 0

原创 hive数据存储组织

    一般数据存储模式分为行存储、列存储以及混合存储。     行存储模式就是把一整行存在一起,包含所有的列,这是最常见的模式。这种结构能很好的适应动态的查询。但行存储模式有以下两点不足: 当一行中有很多列,而我们只需要其中很少的几列时,我们也不得不把一行中所有的列读进来,然后从中抽取...

2016-04-21 15:16:12 32 0

原创 hive中数据倾斜汇总

      数据倾斜是指:map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce节点所处理的数据量比其他节点大很...

2016-04-14 19:44:53 43 0

原创 数据仓库建设--概念

数据仓库:Data Warehouse(DW),一种信息系统的数据存储理论,此理论强调利用某些特殊数据存储方式,让所包含的数据,特别有利于分析处理,以产生有价值的信息并依此作决策。利用数据仓库方式所存放的数据,具有一但存入,便不随时间而更动的特性,同时存入的数据必定包含时间属性,通常一个数据仓库...

2016-03-31 11:42:15 68 0

原创 数据仓库建设--OLAP和数据立方体技术

    OLAP工具通常使用数据立方体和多维数据模型,对汇总数据提供灵活的访问。例如:数据立方体能够存放多个数据维上的预计算的度量。用户可以提出数据上的OLAP查询,也可以以多维方式,通过诸如下钻或上卷这样的OLAP操作类探查数据。 一、数据立方体计算:基本概念     为了提升OLAP查...

2016-03-25 15:47:39 441 0

原创 数据仓库建设--OLAP和数据立方体概念

一、OALP概述    数据立方体,他是一种用于OLAP以及OLAP操作(如上卷、下钻、切片和切块)的多维数据模型。数据立方体存储多为聚集信息。每个单元存放一个聚集值,对应于多维空间的一个数据点。每个属性都可能存在概念分层,允许在多个抽象层进行数据分析。     在最低抽象层创建的立方体称为基本...

2016-03-14 16:06:31 571 0

原创 数据仓库建设--数据仓库设计与使用

一、数据仓库设计的商务分析框架     “拥有数据仓库,商务分析者能够得到什么?”首先,拥有数据仓库可以通过提供相关信息,据此估计性能并作出重要调整,以帮助战胜其他竞争对手,可以提供竞争优势。第二,数据仓库可以提高企业生产力,因为它能够快速、有效的搜集准确描述组织机构的信息。第三,数据仓库有...

2015-12-25 11:50:48 429 0

原创 Java垃圾回收(2)

一、Java垃圾回收概况   在Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不稳得执行着出栈和入栈操作。每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,并且在方法结束或线程结束时,内存自然...

2015-09-18 15:21:07 52 0

原创 java内存管理(1)

一、java运行时数据区域 ①程序计数器线程独有,记录线程运行到的字节码位置;②java虚拟机栈和本地方法栈线程独有,用来记录方法被执行时存储的局部变量、对象引用等;③Java堆线程共享,用来存储实例对象;④方法区线程共享,用来存储虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等...

2015-09-16 10:52:49 25 0

原创 数据仓库建设—维度建模

      维度建模是DW/BI系统的核心,他是ETL系统的目标、数据库的结构、支持用户查询和制作报表的模型。建模要实现3个主要设计目标,分别是:能尽可能简洁的向用户展示需要的信息;能尽快返回查询结果给用户;能提供相关信息,以便精确的跟踪潜在的业务过程。       维度建模能使任何事情尽可...

2015-07-29 17:36:26 662 1

原创 数据仓库建设---建模案例【转】

    前面介绍了一些抽象建模方法和理论,可能理解起来比较困难。所以,这里举一个例子说明数据仓库建模的大概规程。 一、背景介绍      熟悉社保行业的人员知道,目前我们国家的社保主要分为养老、失业、工伤、生育、医疗保险和劳动力市场这6大块主要业务领域。在这6大业务领域中,目前的状况养老和...

2015-06-26 11:26:49 1008 0

原创 数据仓库建设---数据建模

    首先我们先查看三个问题:①什么是数据模型;②为什么需要数据模型;③如何创建数据模型; 一、什么是数据模型     数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。在这里,数据模型表现的抽象的实体和实体之间的...

2015-05-28 11:45:25 1288 0

原创 数据仓库简介---数据集市

一、数据集市定义     数据集市就是满足特定的部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体。 独立型数据集市:数据来自于操作型数据库,是为了满足特殊用户而建立的一种分析型环境。这种数据集市开发周期一般较短,具有...

2015-05-19 12:15:01 250 0

原创 数据仓库简介---设计模型

    数据模型是指实体、属性、实体之间的关系对业务概念和逻辑规则进行统一的定义,命名和编码,主要描述企业的信息需求和业务规则,是业务人员和开发人员沟通的语言,是数据仓库设计工作的第一步。数据模型可以划分为概念模型、逻辑模型、物理模型。 一、概念模型      从定义上来说,概念模型是最高...

2015-05-19 12:13:50 88 0

原创 数据仓库简介---组成

   数据仓库的组成部分有:针对数据源的分析、数据的迁移、数据的存储结构、元数据管理等。 数据源分析:业务系统的源数据通常来自企业的内部信息和外部信息。内部信息指来自企业的生产数据和历史归档数据;而企业的生产数据有可能来自于不同的业务系统,如何将这些业务数据进行标准化,转换成数据仓库可以存储...

2015-05-19 12:12:57 92 0

原创 数据仓库简介---概况

1、数据仓库的定义       数据仓库是一个面向主题的、集成的、稳定的、反映历史变化的、随着时间的流逝发生变化的数据集合。它主要支持管理人员的决策分析。       数据仓库收集了企业相关内部和外部各个业务系统数据源、归档文件等一系列历史数据,最后转化成企业需要的战略决策信息。 面向...

2015-05-19 12:11:49 79 0

提示
确定要删除当前文章?
取消 删除