自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

转载 数据仓库中的Inmon与Kimball架构之争

对于数据仓库体系结构的最佳问题,始终存在许多不同的看法,甚至有人把Inmon和Kimball之争称之为数据仓库界的“宗教战争”,那么本文就通过对两位提倡的数据仓库体系和市场流行的另一种体系做简单描述和比较,不是为了下定义那个好,那个不好,而是让初学者更明白两位数据仓库鼻祖对数据仓库体系的见解而已。      首先,我们谈Inmon的企业信息化工厂。      2000年5月,W.H.Inm

2017-02-16 12:14:27 1422

原创 Apache Kylin Cube优化

Kylin 构建Cube时优化方法如下:1. Hierarchy(层级) Dimensions优化在Fact table(事实表)中的维度满足层级关系时定义这几个维度为Hierarchy。一些列具有层次关系的Dimension组成一个Hierarchy,比如年,月,日组成了一个Hierarchy。查询时指定group by year  ;  group by year , month;

2017-02-14 12:03:58 1343

原创 Apache Kylin Buid Cube详细流程

Build Cube流程主要分为四个阶段:根据用户的cube信息计算出多个cuboid文件根据cuboid文件生成htable更新cube信息回收临时文件1.流程一:作业整体描述把构建Cube的来源表总行数写到指定的HDFS文件中2.流程二:生成中间临时数据这一步的操作是根据Cube设计中的定义生成原始数据,这里会新创建一个Hive外部表,然后再根据Cube中定义的

2017-02-13 18:18:57 1394

原创 Apache Kylin Cube构建算法

逐层算法在介绍快速Cube算法之前,我们先简单回顾一下现有的算法,也称之为“逐层算法”(By Layer Cubing)。我们知道,一个N维的完全Cube,是由:1个N维子立方体(Cuboid), N个(N-1)维Cuboid, N*(N-1)/2个(N-2)维Cuboid …, N个1维Cuboid, 1个0维Cuboid,总共2^N个子立方体组成的;在“逐层算法”中,按维度数逐

2017-02-13 17:11:37 2748

原创 Apache kylin 原理和架构

Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。1.基本原理kylin的核心思想是预计算,理论基础是:以空间换时间。即多多维分析可能用到的度量进行预计算,将计算好的结果保存成Cube并存储到hbase中,供查询时直接访问。

2017-02-13 12:27:42 11458

转载 数据仓库多维数据模型-星型模型 和 雪花模型

(星形模式是一种多维的数据关系,它由一个事实表(Fact Table)和一组维表(Dimension Table)组成。每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。事实表的非主键属性称为事实(Fact),它们一般都是数值或其他可以进行计算的数据;而维大都是文字、时间等类型的数据,按这种方式组织好数据我们就可以按照不同的维(事实表主键的部分或全部)来对这些事实数据进行求和(sum

2017-02-13 11:27:47 2398

原创 基于多维数据模型的OLAP

数据立方体----维度与OLAP前面的一篇文章——数据仓库的多维数据模型中已经简单介绍过多维模型的定义和结构,以及事实表(Fact Table)和维表(Dimension Table)的概念。多维数据模型作为一种新的逻辑模型赋予了数据新的组织和存储形式,而真正体现其在分析上的优势还需要基于模型的有效的操作和处理,也就是OLAP(On-line Analytical Processi

2017-02-13 11:18:22 5136

转载 数据仓库的多维数据模型

可能很多人理解的数据仓库就是基于多维数据模型构建,用于OLAP的数据平台,通过上一篇文章——数据仓库的基本架构,我们已经看到数据仓库的应用可能远不止这些。但不得不承认多维数据模型是数据仓库的一大特点,也是数据仓库应用和实现的一个重要的方面,通过在数据的组织和存储上的优化,使其更适用于分析型的数据查询和获取。多维数据模型的定义和作用  多维数据模型是为了满足用户从多角度多层次进行数据

2017-02-13 11:07:03 754

转载 数据仓库的基本架构

数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。其实数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因。因此数据仓库的基本架构主要包含的是数据流入流出的过程,可以分为三层——源数据、数据仓库、数据应用:  从图中可以看出数据仓库的

2017-02-13 10:52:46 528

转载 数据仓库的源数据类型

数据仓库中集成了企业几乎所有的可以获取到的数据以用于数据分析和决策支持,当然也包括了我在网站分析的数据来源一文中所提到的所有数据。这些进入到数据仓库中的数据无外乎三种类型:结构化数据、半结构化数据和非结构化数据,它们经过转化后以某种形式统一地储存在数据仓库中,即通常说的ETL(Extract, Transform, Load,抽取、转换、装载)的过程。下面主要说一下这三种数据类型的区别,它们分

2017-02-13 10:44:56 1006

原创 Hive查询优化

Hive查询优化分成三个部分1. 合理建表2.通用参数优化\3.Join优化

2017-02-09 14:21:01 835

原创 Hive 模式设计和语言规范

1. 模式设计1.1 数据模型-数据的组织方式Database: 和关系型数据库的Database一样Table: Hive将数据表分为内部表和外部表。内部表在Hive中创建的普通表都可称作“内部表”。因为Hive可以(或多或少)控制其数据的生命周期,内部表对数据拥有所有权。如我们所见,通常Hive会将内部表的数据储存在由hive.m

2017-02-09 12:38:54 2422

原创 Hive Driver 原理

Hive 的Driver 是hive的一个组件,负责将hive  sql 解析和优化HQL语句,将其转换成一个Hive Job(可以是MapReduce,也可以是Spark等其他任务)并提交给Hadoop集群。SQL转化为Hive Job的过程SQL转化为MapReduce任务的,整个编译过程分为六个阶段:Antlr定义SQL

2017-02-09 11:23:40 4502

转载 Kafka 高性能吞吐揭秘

A high-throughput distributed messaging system.--Apache KafkaKafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能。本文将针对Kafka性能方面进行简单

2017-02-09 11:22:44 2252

原创 Hive架构

Hive架构在Hadoop生态圈中已经是老生常谈。尽管如此,很多资料并没有将Hive模块之间的关系描述的十分清楚,本人也在管理Hive数据仓库时绕了不少弯路。所以我们仍要再谈Hive架构,希望将积累的经验总结出一套完整而又易懂的Hive架构,借此为行业新人开路,为大数据运维排忧。Hive是典型C/S模式。Client端有JDBC/ODBC Client和Thrift Client两类。

2017-02-09 11:00:38 7086

转载 hive静态分区和动态分区

hive中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash分区、混合分区等)。分区列也不是表中的一个实际的字段,而是一个或者多个伪列。意思是说在表的数据文件中实际上并不保存分区列的信息与数据。下面的语句创建了一个简单的分区表:create table partition_test(member_id string,name string)partition

2017-02-08 16:49:16 1769

原创 hive中的order by , sort by, distribute by, cluster by

1. order by    Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会到同一个reducer进行处理(不管有多少map,也不管文件有多少的block只会启动一个reducer)。但是对于大量数据这将会消耗很长的时间去执行。    这里跟传统的sql

2017-02-07 17:01:03 718

原创 kafka leader选举机制原理

kafka在所有broker中选出一个controller,所有Partition的Leader选举都由controller决定。controller会将Leader的改变直接通过RPC的方式(比Zookeeper Queue的方式更高效)通知需为此作出响应的Broker。同时controller也负责增删Topic以及Replica的重新分配。当有broker fari over contr

2017-02-06 17:22:50 54474 4

转载 Hadoop列式存储引擎Parquet/ORC和snappy压缩

相对于传统的行式存储格式,列式存储引擎具有更高的压缩比,更少的IO操作而备受青睐。列式存储缺点:在column数很多,每次操作大部分列的时候,cpu压力突增,而且增加处理时长。优点:在cloumn数很多,每次操作若干列的场景,列式存储的性价比,性能更高。在很多大数据的应用场景下面,数据量很大、单列数据字段很多;比如电信行业,具有一定规则的数据,字段很多,但是每次查询仅仅针对其中少数

2017-02-04 17:04:11 1378

转载 Parquet与ORC:高性能列式存储格式

背景随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌现了一批开源的数据分析引擎,例如Hive、Spark SQL、Impala、Presto等,同时也产生了多个高性能的列式存储格式,例如RCFile、ORC、Parquet等,本文主要从实现的角度

2017-02-04 16:59:55 919

转载 Hive 基础之:分区、桶、Sort Merge Bucket Join

Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 joi

2017-02-04 12:36:39 710

转载 hive中的Lateral View

通过Lateral view可以方便的将UDTF得到的行转列的结果集合在一起提供服务。因为直接在SELECT使用UDTF会存在限制,即仅仅能包含单个字段,如下:Hive> select my_test(“abcef:aa”) as qq,my_test(“abcef:aa”) as ww from sunwg01;FAILED: Error in semantic analysis

2017-02-04 12:06:31 715

pthread代码实例

十分钟学会pthread用法.直接看代码,对照注释,不懂的直接百度,轻松掌握pthread

2015-06-26

windows 程序设计快速入门

非常好的windows程序设计资料,非常适合想快速入门windows程序设计的同学,资料包括源代码,ppt

2012-08-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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