- 浏览: 129762 次
- 性别:
- 来自: 杭州
最新评论
文章列表
Hadoop 之Hive
- 博客分类:
- Hadoop
/*
Hive提供了sql语言到map-reduce的映射器
Hive不算是完整的数据库,它是基于hadoop的数据查询分析工具,它不具备行数据的DML操作。
Hive提供了诸如分区,外部表,集合类型列,正则表达式等高级特性。
*/
NoSQL,NOT Only SQL。并非是表格式的数据机构,甚至它的表结构是不固定的。不仅仅用sql来查询。
NewSQL,SQL的逆袭
解决"即席查询"的问题
Hive还不算是完整的数据库系统
数据仓库工具,可以把Hadoop下的原始结构化数据变为Hive中的表。
支持一种与SQL几乎完全相同的语言Hive ...
create table tab_test_seq(id number,col1 number(14) ,col2 varchar2(24)) ;
create sequence seq_test_insert;--seqence默认cache是20
alter sequence seq_test_insert nocache;
SQL> select sequence_name,cache_SIZE from dba_sequences where sequence_name = 'SEQ_TEST_INSERT' ;
SEQUENCE_NAME ...
浅析数据仓库构架
目前数据仓库比较成熟并已形成理论的有两个:
Bill Inmon 企业信息工厂(CIF)
Ralph Kimball 多维体系结构(Ralph Kimball)
企业信息广场的模块
主要包括集成转换层(I&T),操作数据存储(ODS),数据仓库(EDW),数据集市(DM),
探索仓库(EW)等组件。
企业信息工厂的各个部件可以不断的相互调整,最终找到一种平衡。这也是称为企业信息工厂的原因。
集成转换层的目的是将来自操作型源系统的数据集成转换到数据仓库中,它通常由
一组程序组成,而其他部件如数据仓库和数据集市等则主要由数据组成。
...
数据仓库缓慢变化维度应对策略
- 博客分类:
- 数据仓库
缓慢变化维
建议仅考虑有分析价值的字段,采用策略记录其变化,否者直接进行UPDATE。
采用拉链表
添加增加有效开始时间,有效结束时间,最新版本标示字段。比如客户表的婚姻状况发生变化,会新增一条记录,两条记录如下:
客户 婚姻状况 有效开始日期,有效结束日期,最新版本客户A,未婚, 1988-01-01, 2014-09-24,
N客户A,已婚, 2014-09-24, 9999-12-31, Y
缺点:当事实表与其关联时,需要根据交易日期判断所在范围进行关联,SQL效率比较差。解决办法,使用代理键,并在事实表中添加此字段,但此点会使E ...
数据仓库的定义
数据仓库是一个面向主题的,集成的,相对稳定的,反应历史变化的数据查询决策系统。
面向主题:
操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分区,而数据仓库的数据
是按 ...
hash_join可以通过swap_join_inputs来强制指定build表(或者驱动表),no_swap_join_inputs来强制
指定prob表(探查表,或者说被驱动表)
配合leading或者ordered可以控制多表之前的连接顺序
----------------创建4个测试表
create table t1 as select * from dba_objects;
create table t2 as select * from dba_objects;
create table t3 as select * from dba_objects;
create ...
Hadoop 之Hbase篇
- 博客分类:
- Hadoop
Habse
HBase是一个分布式的,面向列的开源数据库。该技术来源于Change et al所撰写的Google论文"Bigtable"
Big Table的想法
学生表的例子S(S#,sn,sd,sa)(学号,名称,系别,年龄)
在Big Table中,可以写成三个列的表,列分别为 ...
Hadoop 之pig篇
- 博客分类:
- Hadoop
pig可以看做hadoop的客户端软件,可以连接到hadoop集群进行数据分析工作。
Pig方便不熟悉java的用户,使用一种较为简便的类似于SQL的面向数据流的语言pig latin迚行数据处理。
Pig latin可以迚行排序、过滤、求和、分组、关联等常 ...
转载(http://blog.sina.com.cn/s/blog_6ff05a2c0100tref.html)
在网上搜了下关于oracle中not exists和not in性能的比较,发现没有描述的太全面的,可能是问题太简单了,达人们都不屑于解释吧。于是自己花了点时间,试图把这个问题简单描述清楚,其实归根结底一句话:not in性能并不比not exists差,关键看你用的是否正确。
我先建两个示范表,便于说明:
create table ljn_test1 (col number);
create table ljn_test2 (col number);
然后 ...
Hadoop YARN框架
- 博客分类:
- Hadoop
第一代Map-Reduce程序的流程设计及思路
1.首先用户程序 (JobClient) 提交了一个 job,job 的信息会发送到 Job Tracker 中,Job Tracker 是 Map-reduce 框架的中心,他需要与集群中的机器定时通信 (heartbeat),
需要管理哪些程序应该跑在哪些机 ...
Hadoop Map-Reduce编程
- 博客分类:
- Hadoop
/*
MAP REDUCE 的计算框架
INPUT -> MAP-> COMBINER -> REDUCER -> OUTPUT
计算的每个步骤皆以KEY,VALUE键值对作为输入,输出参数。
参数的类型为HADOOP封装的类型,加快数据的网络传输。
在计算之前,先对数据进行分片,通常情况下,一个分片对应一个64M的数据块,每个分片对应一个TASK.
通过分片实现计算数据本地化,若一行记录被分成两个不同的数据块,则HADOOP会将另外一个数据块的
剩余记录读取到本地,形成一个分片。
INPUT: 数据的输入路径
MAP: 输入KEY参数为 ...
Hadoop HDFS API编程
- 博客分类:
- Hadoop
HDFS API编程
修改hadoop-env.sh
export HADOOP_CLASSPATH=/home/anker/hadoop-1.1.2/myclass
设置环境变量
修改.bash_profile,当用户一登陆,就会执行此文件
PATH=$PATH:$HOME/bin:/usr/jdk1.7.0_51/bin
JAVA_HOME=/usr/jdk1.7.0_51/
export JAVA_HOME
export PATH
设置好后,可以通过env来检查变量。
//编译时要指定classpath javac -classpath ../h ...
Hadoop 权威指南摘抄(HDFS)
- 博客分类:
- Hadoop
Hadoop 分布式文件系统
当数据集的大小超过一台独立物理计算机时,就有必要对它进行分区并存储到若干台单独的计算机上。管理
网路中跨多台计算机存储的文件系统就称为分布式文件系统。
HDFS的设计
HDFS以流式数据访 ...
Hadoop 学习之三
- 博客分类:
- Hadoop
Hadoop一些备受关注的特性与版本演进
Append : 支持文件追加功能,如果想使用Hbase,需要这个特性
RAID: 在保证数据可靠性的前提下,通过引入校验码减少数据块数目。
Symlink: 支持HDFS文件链接。
Security : 安全性。
NameNode HA: (高可用),尽管存在secondary namenode,并通过数据复制保证数据不会丢失,但当namenode出现故障,secondarynamenode无法实现
自动切换。HA可以实现此功能
HDFS Federation 和YARN : 第二代的mapreduce系统
HDFS
...
Hadoop 学习之二
- 博客分类:
- Hadoop
Hadoop 学习系列之二
企业记性选型配置
选型理念:普通的,廉价的,标准的(容易替换的),工业话大规模生产的。
Hadoop 可以自动支持多核CPU,比如选择2个四核CPU,主流主频
16-32G内存,更大的内存可以使Linux将常用的数据缓存在内存,减少IO,提高速度。
存储集群应该使用大量廉价硬盘,例如主流大容量(2T)普通SATA硬盘,出于成本考虑一般无需使用
SCSI,SAS接口类型硬盘或SSD硬盘。
网络非常重要,建议使用前兆和高带宽的交换机,但无需使用infinband这类专用设备
RAID是不需要的,可以考虑使用JBOD.RAID提供的数据的冗余容错, ...