- 博客(78)
- 收藏
- 关注
原创 Hive学习系列(二)Hive的查询流程详解
此文为翻译的文档,英文连接为https://cwiki.apache.org/confluence/display/Hive/Design#Design-HiveArchitecture Hive 查询流程图如下图中可以看出查询主要组件包含UI(user interface) –用户提交查询或者其他操作,现在标准UI有CLI(command line interfac...
2016-11-18 11:25:00
1328
Hive学习系列(一)什么是Hive及Hive的架构
最近一直在忙面试的事情,面试过程中碰到几家公司都问到了Hive,但是由于最近三年一直在忙海外数据仓库的事情,对于大数据的只限于了解,未有实际的使用,为了更好的面试,特总结了下Hive的相关知识(1)什么是Hive 1.1 Hive是Hadoop工具家族中一个重要成员,可以将结构化的数据文件(HDFS)映射为一张数据库表。 1.2 Hive ...
2016-11-15 18:07:30
580
原创 漫谈海外N多事(2)漫谈产品化,标准化,工业化
产品化,标准化,工业化,这个是比较沉重的话题,也是我们国产软件走出国门,走上世界的一个痛点。我没有参与到商务谈判,也没有参与当时整个数据仓库的选型,这个可能是我的遗憾吧,据说当时选型的时候,客户直接要求从IBM,Teradata两大厂家中选择,大家都知道,这个两大厂商是现在国际上做数据仓库解决方案最好的两家,也是产品化,标准化,工业化最好的两个厂家,这个不是吹他们两家,他们对于整个数据仓库构建...
2016-07-07 16:59:17
229
漫谈海外N多事(1)漫谈团队管理
有段句话说的对:管理既是一门科学,又是一门艺术,管理的科学性在于管理作为一个活动过程,其间存在着一些列基本客观规律,有一套分析问题、解决问题的科学方法论,并在实践中得到不断地验证和丰富,可复制和学习,并可指导人们视线有效的管理.管理的艺术性就是强调其实践性和创新性.要有效地实现管理,管理者比需要管理实践中发挥积极性、主动性和创造性,因地制宜地将管理知识与具体管理活动相结合.管理既是一门科学,又...
2016-06-19 12:57:53
180
漫谈海外N多事
为啥想起这个话题呢,这个主要是在海外数据仓库(EDW)项目有机会接触到一些国际同行(1)IBM模型设计师(2)海外对端项目经理(3)海外架构/技术顾问(4)海外业务咨询顾问(5)Teradata模型设计师(6)海外测试经理(7)海外业务客户等等在整个项目的实施过程,思想和理念一次次碰撞,外国人的做事方式和做事态度,产品化,标准化给我带来比较大的震撼,也让我看...
2016-06-18 23:23:34
102
原创 最近在读的书--20160617
《STAR SCHEMA完全参考手册:数据仓库维度设计权威指南》《Hadoop- The Definitive Guide, 4th Edition》《数据挖掘导论》
2016-06-17 13:38:14
112
原创 数据仓库事实表分类
1)在数据仓库领域有一个概念叫Transaction fact table,中文一般翻译为“事务事实表”。事务事实表是维度建模的数据仓库中三种基本类型事实表中的一种,另外两种分别是周期快照事实表和累积快照事实表。 事务事实表与周期快照事实表、累积快照事实表使用相同的一致性维度,但是它们在描述业务事实方面是有着非常大的差异的。事务事实表记录的事务层面的事实,保存的是最原子的数据,也称...
2016-06-17 11:47:07
220
原创 数据仓库结构及特点
数据仓库之父的W.H.Inmon将数据仓库定义为:“数据仓库是一个面向主题的、集成的、相对稳定的和随时间的数据集合,用于支持管理决策和商务智能。”数据仓库技术,简单的说,就是将企业内外部的数据进行全面的集成、清洗和整理,去除一些纯事务性的数据,将企业数据按主题放置到一个“仓库”中,然后在次基础上建立各种决策支持的数据为企业服务。基本结构如图1所示:对于数据仓库的概念我们可以从两个层次予以理解...
2016-06-16 20:31:10
715
原创 多维数据分析方法
多维分析可以对以多维形式组织起来的数据进行上卷、下钻、切片、切块、旋转等各种分析操作,以便剖析数据,使分析者、决策者能从多个角度、多个侧面观察数据库中的数据,从而深入了解包含在数据中的信息和内涵。多维分析方式适合人的思维模式,减少了混淆,并降低了出现错误解释的可能性。多维数据分析通常包括以下几种分析方法。1.切片在给定的数据立方体的一个维上进行的选择操作就是切片(slice),切片...
2016-06-14 10:38:03
11945
1
原创 移动通讯行业客户流失预警研究
客户流失问题是现在通讯行业比较关注的一个问题,也是在电信行业中挖掘中最基本的案例,在我做的EDW海外项目中,在挖掘部分就有该部分,但是我们的做的那部分的复杂度要大于我转载的文章,对于学习来说,转载的这篇更具有学习的模板性。 这篇文章简单构建一个综合的客户流失预警体系,能够快速、高效并且运用较低的成本去识别高风险流失客户预警模型(由于版权的问题,只能链接转载,不能直接copy,所以请大家移步...
2016-06-12 21:41:54
579
原创 [转]MOLAP, ROLAP,And HOLAP
In the OLAP world, there are mainly two different types: Multidimensional OLAP (MOLAP) and Relational OLAP (ROLAP). Hybrid OLAP (HOLAP) refers to technologies that combine MOLAP and ROLAP.MOLAP ...
2016-06-12 14:18:39
199
原创 [转]谈谈数据仓库架构的发展和分类
挺好的一篇文章,直接转过来了Jerome 20061210最近大家对数据仓库架构的讨论又多了起来,我在这里对一些架构进行一下简单的整理。目的是给大家树立一个靶子,大家可以在这篇文章后尽情的批判和补充。我把我听说过的架构都归整在一起,分了六类,其中和很多说明是我个人的理解,不见得正确,大家多多指导。1.独立的数据集市架构(Independent data mart architec...
2016-06-12 13:58:11
346
原创 每天花点时间整理写东西,写blog
自从去年调整部门到海外事业部。(1)是由于工作岗位的调整,由BSS业务研发调整到BI研发部门(2)这次海外项目客户要求比较严格,指定了ETL,存储,报表等工具都已经指定厂家(全是IBM)。(3)我没有参与技术方面的攻坚,而是把我调整到模型组。(4)为了配合IBM模型设计,花了大量的时候理解IBM的模型(英语不是太好,有的时候和IBM工程师沟通费劲)及我们BSS的原始模型基于以...
2014-11-12 16:29:41
226
原创 XA分布式事务
在谈到 XA 规范之前,必须首先了解分布式事务处理( Distributed Transaction Processing , DTP )的概念。 Transaction ,即事务,又称之为交易,指一个程序或程序段,在一个或多个资源如 数据库 或文件上为完成某些功能的执行过程的集合。 分布式事务处理是指一个事务可能涉及多个数据库操作,分布式事务处理的关键是必须有一种方法可以知道事务在...
2013-10-21 21:01:10
95
原创 深入java集合类系列:Vector
Vector 类提供了实现可增长数组的功能,与ArrayList类似,会对比这两个进行讲解。 属性:protected Object[] elementData; 存储数据对象,与ArrayList一样,底层存储都是数组对象protected int elementCount; vector数据元素个数,小于等于elementData,ArrayList用的是sizep...
2013-04-25 18:55:17
116
原创 深入java集合类系列:ArrayList
ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小,下面将从ArrayList的属性及相关方法进行概述属性private transient Object[] elementData; 为实际数据的存储对象,可以看出ArrayList实...
2013-04-25 14:26:02
107
原创 深入java集合类系列:概述
由一组类和接口组成的Java集合框架(JCF)它是封装数据结构和算法。JCF的作用:1、向集合中装纳对象,装纳的对象被称为元素。 2、为我们提供元素的算法实现。 3、利用集合进行对象的传输(减小性能,节省空间)。 集合类型主要有3种:set(集)、list(列表)和map(映射)(1)set(集)集(set)是最简单的一种集合,它的对象不按特定方...
2013-04-25 14:20:03
180
原创 java NIO buffer核心解析
前面翻译过一篇类似的文章,发现讲的不够透彻,这篇是一篇扩展型的文章。 本文注意结合buffer类的API解析buffer内部的机制,并且只介绍读写,其他的请参考buffer的原代码,自己可以进行分析【可能后续也有相关的补充】,本文使用的实现类为ByteBuffer 。 也可以看看我翻译blog了解下buffer的基本东西 http://xianglp.itey...
2013-04-24 19:51:07
129
原创 翻译-【Java NIO学习系列】Java NIO Scatter/Gather
原文连接:http://tutorials.jenkov.com/java-nio/scatter-gather.html Jave NIO支持scatter/gather(分散/聚集),scatter/gather的概念用于描述从通道里面读取和写入通道。 从通道里面分散读是在读操作的时候,读取的数据被写入多个buffer中。因此,通道“scatters”将数据从通...
2013-04-05 18:59:23
133
翻译-【Java NIO学习系列】Java NIO Buffer
http://tutorials.jenkov.com/java-nio/buffers.html 还可以看java NIO buffer核心解析 Java缓冲区(Buffers )与通道(Channels)同时使用。正如我们所了解的,数据从通道(Channels)读入到缓冲区(Buffers ),从缓冲区(Buffers )写入到通道(Channels)。 ...
2013-04-04 18:36:35
83
翻译-【Java NIO学习系列】Java NIO Channel
原文http://tutorials.jenkov.com/java-nio/channels.html Java NIO通道(Channel)与流(streams)有些类似,但还是有所差异: (1):通道你既可以写也可以读,而流只能一种方式(读或者写)。 (2):通道可以异步的读写。 (3):通道只能从缓冲区里进行读写。 如上...
2013-04-04 15:25:00
64
原创 翻译-【Java NIO学习系列】Java NIO简介
原文:http://tutorials.jenkov.com/java-nio/index.html Java NIO(New IO)是可以替代标准java IO API的IO API(从java 1.4开始)。Java NIO提供了与标准IO不同的IO工作方式。 Java NIO: Channels and Buffers(通道和缓冲区) 标准的I...
2013-04-04 14:59:15
79
原创 翻译-【Java NIO学习系列】Java NIO与IO
翻译:http://tutorials.jenkov.com/java-nio/nio-vs-io.html 当研究学习java NIO与标准IO的API时,一个问题马上涌入脑海:我应该什么时候使用NIO,什么时候使用IO, 本文中我将阐述Java NIO和标准IO之间的差异,它们的使用场景,及它们在您代码设计中的影响。 java NIO与IO的主要差异...
2013-04-04 14:35:49
120
原创 最近。。。。。【201304】-1
最近在给同事分析短信工程的时候,发现没有调用返回,但是有取值更新的过程,开始以为是代码问题,后来才发现原来是用的NIO的相关东西,NIO以前很久就注意到了,但是没有具体用过,趁这次机会将NIO的相关东西整理。最近也加入了两个群一个是oracleDBA和hadoop,两个群分别提到了一些问题,有简单和复杂的,有些我知道,有些我只听说过。oracleDBA群,这个群里面有高手,也有菜鸟【P...
2013-04-03 11:40:42
84
原创 sleep 及 线程的协作 java wait、notify、notifyAll
sleep()使当前线程进入停滞状态(阻塞当前线程),让出CUP的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会,他不能改变对象的机锁,所以当在一个Synchronized块中调用Sleep()方法是,线程虽然休眠了,但是对象维持该锁有被释放,其他线程获取到该对象的锁(即使睡着也持有对象锁)。在sleep()休眠时间期满后,该线程不一定会...
2013-03-28 15:39:16
104
原创 【转载】在sqlplus中执行set autotrace on 报cannot set autotrace 错误解决方法
今天在本器中想分析下执行计划,但是在sqlplus中输入set autotrace on 报cannot set autotrace 错误解决方法如下:首先必须采用用Oracle的sqlplus登陆sys账号sqlplus " sys/sys@XXX as sysdba "然后执行如下脚本:@?\sqlplus\admin\plustrce.sql (创建plustrace角...
2013-03-24 18:50:13
141
原创 JavaScript 申明对象及数组的几种方法
在JavaScript中可以用下面的几种方法申明对象:1.直接使用{}var myObject = {} ; 2.使用functionfunction myObject() { .... } 3.函数字面量var myObject = function(){} ; 4.使用object 对象: var myObject = new obje...
2013-03-24 18:24:22
159
原创 【知识积累】java synchronized
Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。其中同步块 (或方法)可以使用关键字synchronized或使用java.util.concurrent.lock 中的类 ReentrantLock。这里我们...
2013-03-24 10:46:59
93
原创 Oracle存储结构
最近一直想分清楚oracle的表空间与数据文件的关系,查了好些材料,最后想了下整理下,写了这篇关于Oracle存储结构的blog【资料大部分来自网络】。 Oracle的存储分为两部分(1):逻辑存储部分,从大到下为,database、tablespace、segment、extent、data block。(2):物理存储部分包含,data file、os block...
2013-03-23 21:50:11
148
原创 数据库表分区
在业务系统中,随着业务量的增长及业务数据的增加带来的数据量的急剧增长,影响到查询及数据更新的速度,因此影响到用户的感知。为提高响应速度,提高用户的感知,我们一般会将数据库按照一定的规则进行分区,甚至可以按照特定的规则进行分表。分区时物理上将数据存储在多个文件中【文件可以在不同的磁盘中】,逻辑上是一个表【 分区对用户透明,最终用户感觉不到分区的存在。】,而分表,不言而喻的就是将同类数据存...
2013-03-20 15:33:10
113
原创 blog更新。。。
从上家公司跳槽到现在的公司已经快两年了,两年中blog没有做实际的更新了,其实不是自己不想更新,而是自己没时间和心情更新,加班加的太多了。最近有时间,想把自己这两年来在工作中遇到的一些问题已经解决方法和材料总结下。...
2012-11-20 10:28:48
93
java初始化
在了解java初始化直接我们先看下图上图描述了java类从装载到卸载的整个生命周期。而类的初始化穿插在准备、初始化两个过程,下文将分开展示各个阶段所做工作。一:准备在准备阶段JVM为类变量分配内存,根据类型设置变量的初始值。 基本类型默认值int 0long0Lfloat 0.0f double 0.0d...
2012-02-08 16:05:08
146
原创 【知识积累】java内存模型
(1)什么是内存模型 究竟什么是内存模型?内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节,对象最终是存储在内存里面的,这点没有错,但是编译器、运行库、处理器 或者系统缓存 可以有特权在变量指定内存位置存储或者取出变量的值。【JMM 】(Java Memory Model的缩写) 允许编译器和缓存以...
2012-02-04 12:53:24
77
原创 深入分析 Java 中的中文编码问题
本文转载【http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/】 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— ...
2012-01-14 22:04:52
73
原创 转【大型网站架构演变和知识体系 】
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行...
2012-01-14 17:51:11
67
原创 [转载]winnt_accept: Asynchronous AcceptEx failed
http://blog.chinaunix.net/u/4257/showart_1000959.html 这几天遇到了一个很多人都遇到过的问题,这个问题在google上有太多的人都遇到,但很少有指出最终的解决方案,大部分是解决了AcceptEx failed,但引起了内存的疯狂增加(“memory leak”)。这几天遇到这个问题后也费了不少功夫,但没有从网上找到最根本的解决...
2011-02-16 16:57:31
81
原创 PHP常见缓存技术分析
在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器。当你执行一个SQL查询时,典型的处理过程是:连接数据库->准备SQL查询->发送查询到数据库->取得数据库返回结果->关闭数据库连接。但数据库中有些数据是完全静态的或不太经常变动的,缓存系统会通过把SQL查询的结果缓存到一个更快的存储系统中存储,从而避免频繁操作数据库而很大程度上提高了程序执行时间,而且缓存查...
2011-02-16 08:57:28
60
原创 oracle表空间操作详解
建立表空间CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500MUNIFORM. SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k删除表空间DROP TABLESPACE data01 INCLUDING CONTENTS AND DATA...
2011-02-15 17:19:29
75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人