数据仓库平台建设
文章平均质量分 78
仰望星空的我
仰望星空,脚踏实地。
展开
-
数据仓库中的Inmon与Kimball架构之争
对于数据仓库体系结构的最佳问题,始终存在许多不同的看法,甚至有人把Inmon和Kimball之争称之为数据仓库界的“宗教战争”,那么本文就通过对两位提倡的数据仓库体系和市场流行的另一种体系做简单描述和比较,不是为了下定义那个好,那个不好,而是让初学者更明白两位数据仓库鼻祖对数据仓库体系的见解而已。 首先,我们谈Inmon的企业信息化工厂。 2000年5月,W.H.Inmon在DM Review...转载 2019-02-03 16:34:42 · 825 阅读 · 0 评论 -
维度设计
1、 维度设计基础1.1 维度的基本概念维度是维度建模的基础和灵魂。在维度建模中,将度量称为“事实”,将环境描述称为“维度”,维度是用于分析事实所需要的多样环境。维度使用主键标识其唯一性,主键也是确保与之相连的任何事实表之间存在引用完整性的基础。主键有代理键和自然键,它们都是用来表示某维度的具体值。但代理键是不具有业务含义的键,一般用于处理缓慢...转载 2019-03-29 10:51:32 · 1565 阅读 · 0 评论 -
事实表设计
1 事实表基础2 事务事实表3 周期快照事实表4 累积快照事实表5 三种事实表的比较6 无事实的事实表第一种是事实类,记录事件的发生。比如用户的浏览日志。第二种是条件、范围或资格类的,记录维度与维度多对多之间的关系。7 聚集型事实表聚集的基本原则一致性。查询明细粒度一致。避免单一表设计。不要在同一个...转载 2019-03-29 10:48:22 · 391 阅读 · 0 评论 -
Sqoop操作实践
Sqoop操作实践Sqoop常用参命令序号 命令/command 类 说明1 impor ImportTool 从关系型数据库中导入数据(来自表或者查询语句)到HDFS中2 export ExportTool 将HDFS中的数据导入到关系型数据库中3 codegen CodeGenTool 获取数据库中某张表数据生...转载 2019-03-11 10:34:40 · 215 阅读 · 0 评论 -
Hive、HBase、Impala的简单对比
1.什么是实时分析(在线查询)系统?大数据领域里面,实时分析(在线查询)系统是最常见的一种场景,通常用于客户投诉处理,实时数据分析,在线查询等等过。因为是查询应用,通常有以下特点:a.时延低(秒级别)。b.查询条件复杂(多个维度,维度不固定),有简单(带有ID)。c.查询范围大(通常查询表记录在几十亿级别)。d.返回结果数小(几十条甚至几千条)。e.并发数要求高...转载 2019-03-27 15:10:56 · 156 阅读 · 0 评论 -
数据仓库学习笔记 --- 如何设计数据仓库
1.为什么要设计数据分层?* 数据建设刚起步,大部分的数据经过粗暴的数据接入后就直接对接业务。* 数据建设发展到一定阶段,发现数据的使用杂乱无章,各种业务都是从原始数据直接计算而得。* 各种重复计算,严重浪费了计算资源,需要优化性能。2.我们对数据进行分层的一个主要原因就是希望在管理数据的时候,能对数据有一个更加清晰的掌控,详细来讲,主要有下面几个原因:* 清晰数据结构:每一个数据分层...转载 2019-03-29 09:45:33 · 405 阅读 · 0 评论 -
数据仓库的模型设计
A. 数据建模方法论数据仓库模型设计遵循“自顶向下、逐步求精”的设计原则。模型设计分为三个阶段:1,概念模型对业务的范围和使用,从高度上进行抽象概括,也就是划分主题域。一般划分为8个主题域:客户、服务、服务使用、账务、结算、资源、客服、营销为什么要划分主题域?划分主题域,是根据业务的应用和需要来划分的,是用来达到数据与业务紧耦合的目的。2,逻辑模型对概念模型...转载 2019-03-29 09:48:43 · 185 阅读 · 0 评论 -
浅谈数据仓库的基本架构
数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。其实数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因。因此数据仓库的基本架构主要包含的是数据流入流出的过程,可以分为三层——源数据、数据仓库、数据应用: 从图中可以看出数据仓库的数...转载 2019-03-29 09:52:28 · 378 阅读 · 0 评论 -
数据仓库的架构与设计
公司之前的数据都是直接传到Hdfs上进行操作,没有一个数据仓库,趁着最近空出几台服务器,搭了个简陋的数据仓库,这里记录一下数据仓库的一些知识。涉及的主要内容有:什么是数据仓库? 数据仓库的架构 数据仓库多维数据模型的设计1. 什么是数据仓库1.1 数据仓库的概念官方定义数据仓库是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,用于对管理决策过程的支持。这个定义...转载 2019-03-29 10:01:16 · 195 阅读 · 0 评论 -
数据仓库学习笔记之拉链表详解
定义:拉链表 - 维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录而已,通过拉链表可以很方便的还原出拉链时点的客户记录。拉链表通常是对账户信息的历史变动进行处理保留的结果。需求:1. 数据量比较大;2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等;3. 需要查看某一...转载 2019-03-29 10:10:22 · 2378 阅读 · 0 评论 -
维度模型数据仓库(二) —— 维度模型基础
(一)维度模型基础 既然维度模型是数据仓库建设中的一种数据建模方法,那不妨先看一下几种主流的数据仓库架构。 1. Kimball的DW/BI架构图(一)- 1 2. Inmon企业信息工厂架构图(一)- 2 3. 混合型架构图(一)- 3 从图中可以看出,每种架构中都有数据集市。数据集市就...转载 2019-02-03 10:31:48 · 355 阅读 · 0 评论 -
KETTLE使用Windows和Linux计划任务来调度KETTLE作业
KETTLE有三大块:Spoon:转换/工作(transform/job)设计工具,主要是GUI方式。Kitchen:工作(job)执行器,是一个作业执行引擎,通过命令行的方式带参数执行,参数说明如下:-rep:Repositoryname 任务包所在存储名-user:Repositoryusername 执行人-pass:Repositorypassword 执行人密码-job:Thenameo...转载 2018-06-06 09:40:14 · 2362 阅读 · 0 评论 -
windows使用计划任务定时执行kettle资源库中的job
通常情况下,在工作中在数据抽取过程中,会使用到job进行定时抽取。本文主要介绍kettle在windows下定时执行job。 备注:我用的kettle版本是5.1.01、准备编写kettle.bat脚本 脚本内容如下: D: cd D:\kettle\data-integration kitchen.bat -rep JS_JOB -user ad...转载 2018-06-06 09:42:58 · 784 阅读 · 0 评论 -
kettle中调度kitchen.bat定时执行任务
先普及一点知识Kettle是一个开源的ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)项目,项目名很有意思,水壶。按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。Kettle包括三大块: Spoon——转换/工作(transform/job)设计工具 (GUI方式) Kitchen——工作(job)执行器 (命令...转载 2018-06-06 09:44:41 · 5467 阅读 · 0 评论 -
在linux环境下Kettle调度实现
9本文介绍使用shell调用kettle job实现数据调度功能。主要功能:1、通过crontab定时调度shell 2、使用shell调用kettle job 3、调度异常发送邮件预警shell调度kettle job的脚本实现基本步骤为 1、创建extract文件夹,用于存放脚本&JOB配置文件 2、创建extract_log文件夹,用于存放调度log 3、在extract文件夹建立t...转载 2018-06-06 09:49:58 · 1485 阅读 · 0 评论 -
kettle文件自动化部署(shell脚本执行):命令行参数传入
shell脚本中调用kitchen 和 pan去执行,job和transformation文件。分 windows和 dos系统两种。举个简单的小例子 shell脚本:export JAVA_HOME=/usr/local/java/jdkexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_H...转载 2018-06-06 09:53:51 · 6199 阅读 · 0 评论 -
TASKCTL设计作业流时该用定时器还是流程
在调度业界中,都有一个跑批的概念。我们通常希望流程在某个时间点开始每天执行一次。比如每天的凌晨1点开始执行一次。在TASKCTL中,有两种方式可以实现该需求。使用“condition+修改批次变量”1、首先需要添加日期批次变量,如workdate,并设置变量格式为yyyymmdd,如201701012、编写流程模块代码如下:<serial> <name>MainModul_...转载 2018-06-06 09:59:01 · 409 阅读 · 0 评论 -
taskctl条件控制策略中时间窗口注意事项
最近在用taskctl时,发现错误重试没有重试,也没有忽略错误,流程就停止在那个地方了,后来咨询了相关人员才知道是我自己用的时候没有注意到细节。下面是我作业情况的一些截图。 我的想法是作业在0点50分执行,如果错误,重试3次,失败后忽略错误。 结果发现作业只执行了一次,没有重试,也没有忽略错误。 后来知道是因为我自己设置的时候不太理解时间窗口的意思,我这个地方设...转载 2018-06-06 10:04:38 · 324 阅读 · 0 评论 -
kettel job脚本执行定时任务步骤
1 下载kettle安装包1.1 Kettle安装包官网下载地址:http://sourceforge.net/projects/pentaho/files/Data%20Integration/3.2.0-stable;(5.0.1以上版本都不支持,我用的是5.0.1版本)。给aix系统安装jdk,PS:必须1.6以上版本。配置好环境变量。2 安装部署kettle2.1、本地下载完k...转载 2018-06-06 09:37:00 · 1321 阅读 · 0 评论 -
开源作业调度工具实现开源的Datax、Sqoop、Kettle等ETL工具的作业批量自动化调度
1、阿里开源软件:DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。(摘自百科)2、Apache开源软件:SqoopSqoop(发音:skup)是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、post...转载 2018-06-05 20:26:06 · 2781 阅读 · 0 评论 -
ETL任务调度
etl任务调度管理第三方组件Taskctl学习原创 2018-06-05 12:03:04 · 1906 阅读 · 0 评论 -
etl调度表结构设计
CREATE TABLE `dwa_execute_log_hd` ( `PROC_NAME` varchar(100) NOT NULL COMMENT '存储过程名称', `PROC_DATE` varchar(100) DEFAULT NULL COMMENT '执行存储过程日期', `STARTDATE` datetime DEFAULT NULL COMMENT '开始执行时间',...转载 2018-06-05 20:02:30 · 814 阅读 · 0 评论 -
Kettle定时执行(ETL工具)
1,Kettle跨平台使用。 例如:在AIX下(AIX是IBM商用UNIX操作系统,此处在LINUX/UNIX同样适用),运行Kettle的相关步骤如下: 1)进入到Kettle部署的路径 2)执行 chmod *.sh,将所有shell文件添加可执行权限 3)在Kettle路径下,如果要执行transformation,就运行./pan.sh -file=?.ktr -d...转载 2018-06-05 20:13:49 · 2282 阅读 · 0 评论 -
kettle调度监控最佳实践
Kettle作为用户规模最多的开源ETL工具,强大简洁的功能深受广大ETL从业者的欢迎。但kettle本身的调度监控功能却非常弱。 连Pentaho官方都建议采用crontab(Unix平台)和计划任务(Windows平台)来完成调度功能。所以大家在实施kettle作业调度功能的时候,通常采用以下几种方式:使用spoon程序来启动Job,使用crontab或计划任务,自主开发java程序来调...转载 2018-06-05 20:15:11 · 6653 阅读 · 3 评论 -
常用ETL任务调度框架组件
1. Cron-like Scheduler1.1 Python任务调度框架 APScheduler一个基于Python,提供类似Cron功能,并深受Java Quartz 影响的轻量级进程内任务调度框架。Advanced Python Scheduler (APScheduler) is a light but powerful in-process task scheduler that le...转载 2018-06-05 20:17:00 · 7279 阅读 · 0 评论 -
ETL调度工具中TASKCTL VS Control-M
毫无疑问,Control-M作为美方代表当之无愧, 因为该软件不仅是美国国内最好的调度软件,而且在整个调度界,它依然处于霸主地位。在Gartner Group对现有的企业生产作业调度管理系统的评比中,Control-M连续多年排在第一位,是唯一的技术领导者。在国内,中国工商银行、中国建设银行、交通银行等多个大型企业都是该软件的客户。而国内,在众多的软件中选择TASKCTL,我似乎没有任何犹豫。该软...转载 2018-06-05 20:18:17 · 8910 阅读 · 1 评论 -
基于taskctl实现kettle任务调度
“我在spoon里面运行一个作业只要几秒种,但是在TASKCTL中运行却要好几十秒?”“并行同时运行几个job,就把内存撑爆了,TASKCTL好占资源呀!”TASKCTL中调用kettle作业,实际上是通过pan和kitchen命令去调用。每一次调用都会重新初始化kettle运行环境,这个过程占用大量的时间。并且每启动一个kettle运行环境都相当于启动一个JVM进程。每个JVM则会占用几百兆(默...转载 2018-06-05 20:20:24 · 7684 阅读 · 0 评论 -
在linux下设置kettle的定时任务方法
1. 安装centos2. 安装java环境参考网址: http://www.cnblogs.com/haoliansheng/p/5832979.html3. 解压kettle.zip 进入kettle.zip目录,4. 运行 unzip kettle.zip5. 等待解压完成6. 进入解压目录,找到./kitchen.sh7. 键入./ki...转载 2018-06-05 20:24:23 · 6136 阅读 · 0 评论 -
数据仓库平台建设技能储备
1.阿里云中间件MAXCompute ODPS,HybridDB,AnalyticDB,Blink,hive。2.datastage,informatica,kettle3.数据可视化IBM cognos,SAP BI,pentaho BI,PowerBI,Tableau。4.数据挖掘R,python,spss modoler,统计学。...原创 2018-06-05 11:55:51 · 382 阅读 · 0 评论