数据仓库

数据仓库是什么,如何建立(总结)

纵然是瞬间 提交于 2020-01-28 17:30:49
一、是什么 官方解释: 面向主题的 、 集成的 、 相对稳定 、 反应历史变化 ,用于企业的管理决策分析。 开发者角度:通过 接入各种数据源 ,打破数据壁垒,根据 业务方的需求 ,设计方便使用和准确的 数据模型 ,高效将结果输出给业务方。 业务方角度:能快速准确提供数据,给公司的日常运营和领导决策提供 数据支持和指导 。 二、如何建立 1、分析业务需求、确认仓库主题 例:领导想看各部门GMV、毛利情况。运营团队要了解各个渠道的订单转化率,商品、品牌、品类、销售情况。用户团队关注用户相关的销售、商家团队关注商家的销售… 通过业务需求分析,需要做一个销售交易相关的主题 2、确定总线矩阵 维度:用户维度、商品维度、商家维度、订单渠道维度 业务过程:用户下单、支付成功、确认收获 3、设计分层架构 一般是业务接入层、明细层、汇总层、应用层 A、业务接入层:同步订单、用户、商家、商品、订单渠道相关的业务表到仓库中,不做任何清洗操作。 B、一致性维度:目标是尽量丰富维度属性,但是又不要 过度运算,保证核心维度模型的整洁 性,做好维度属性的整合和拆分。(商品表:对于产出快且使用率高的维度属性,比如名称、品牌、品类等,可放在商品基础维度表。但对于产出慢且使用率低的维度属性,比如上市季节、上架时间等,可放在商品的扩展维度表)。 C、明细层:保证粒度最细,使用退化维度的方法,将常用的维度属性加入明细表中

hive 的理解

这一生的挚爱 提交于 2020-01-28 01:20:42
什么是Hive 转自: https://blog.csdn.net/qingqing7/article/details/79102691 1、Hive简介 Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用戶查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。 首先,我来说说什么是hive(What is Hive?),请看下图: Hive构建在Hadoop的HDFS和MapReduce之上,用于管理和查询结构化/非结构化数据的数据仓库。 使用HQL作为查询接口 使用HDFS作为底层存储 使用MapReduce作为执行层 Hive的应用 ,如下图所示 这里集群搭建Hive时用到了HA,最后用HAProxy来做代理。 1.1、结构描述 Hive 的结构可以分为以下几部分: 用戶接口:包括 CLI, Client, WU 元数据存储。通常是存储在关系数据库如 mysql, derby 中 解释器、编译器、优化器、执行器 Hadoop:用

Hive 简介

被刻印的时光 ゝ 提交于 2020-01-27 07:35:12
hive是基于Hadoop的一个 数据仓库 工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合 数据仓库 的统计分析。 Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。 Hive 没有专门的数据格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允许用户指定数据格式。 Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。Hive 并不适合那些需要低延迟的应用。 Hive 是一种底层封装了Hadoop 的数据仓库处理工具,使用类SQL 的HiveQL 语言实现数据查询,所有Hive

Hive性能优化

帅比萌擦擦* 提交于 2020-01-26 17:27:17
http://www.cnblogs.com/smartloli/ 1.概述   这个标题也是用血的教训换来的,希望对刚进入hive圈的童鞋和正在hive圈爬坑的童鞋有所帮助。打算分以下几个部分去描述: Hive的结构 Hive的基本操作 Hive Select Hive Join Hive UDF Hive的M/R 使用Hive注意点 优化及优化详情 优化总结 调优的经常手段 解决Hive问题的途径   这篇文章只是起个头,为描述其他部分做下准备。下面我赘述下Hive的结构和一些基本的操作。 2.介绍    Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。   首先,我来说说什么是hive(What is Hive?),请看下图:   由于是在Retina下截的屏,为避免网络原因显示不出图片,这里为也用文字描述以下。这个和介绍中描述的内容大致是一致的

数据挖掘概念与技术第三版第一章答案

跟風遠走 提交于 2020-01-25 22:03:17
第一章答案 该答案为本人转载 ,原著[Ma_Jack](https://blog.csdn.net/u013272948/article/details/71024949) 1.1 什么是数据挖掘?在你的回答中,强调以下问题: (a)它是又一种广告宣传吗? (b)它是一种从数据库、统计学、机器学习和模式识别发展而来的技术的简单转换或应用吗? (c)我们提出了一种观点,说数据挖掘是数据库技术进化的结果。你认为数据挖掘也是机器学习研究进化的结果吗?你能基于该学科的发展历史提出这一观点吗?针对统计学和模式识别领域,做相同的事。 (d)当把数据挖掘看做知识发现过程时,描述数据挖掘所涉及的步骤。 数据挖掘不是一种广告宣传,它是一个应用驱动的领域,数据挖掘吸纳了诸如统计学习、机器学习、模式识别、数据库和数据仓库、信息检索、可视化、算法、高性能计算和许多应用领域的大量技术。它是从大量数据中挖掘有趣模式和知识的过程。数据源包括数据库、数据仓库、Web、其他信息存储库或动态的流入系统的数据等。当其被看作知识发现过程时,其基本步骤主要有:(1).数据清理:清楚噪声和删除不一致数据;(2).数据集成:多种数据源可以组合在一起;(3).数据选择:从数据库中提取与分析任务相关的数据;(4).数据变换:通过汇总或者聚集操作,把数据变换和统一成适合挖掘的形式;(5).数据挖掘

数据仓库维度建模

戏子无情 提交于 2020-01-23 02:43:49
概述 数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容: 以Hadoop、Spark、Hive等组件为中心的数据架构体系。 各种数据建模方法,如维度建模。 调度系统、元数据系统、ETL系统、可视化系统这类辅助系统。 我们暂且不管数据仓库的范围到底有多大,在数据仓库体系中,数据模型的核心地位是不可替代的。 因此,下面的将详细地阐述数据建模中的典型代表:维度建模,对它的的相关理论以及实际使用做深入的分析。 文章结构 本文将按照下面的顺序进行阐述: 先介绍比较经典和常用的数据仓库模型,并分析其优缺点。 详细介绍维度建模的基本概念以及相关理论。 为了能更真切地理解什么是维度建模,我将模拟一个大家都十分熟悉的电商场景,运用前面讲到的理论进行建模。 理论和现实的工作场景毕竟会有所差距,这一块,我会分享一下企业在实际的应用中所做出的取舍。 0x01 经典数据仓库模型 下面将分别介绍四种数据仓库模型,其中前三种模型分别对应了三本书:《数据仓库》、《数据仓库工具箱》和《数据架构 大数据 数据仓库以及Data Vault》,这三本书都有中文版,非常巧的是,我只有三本数据仓库的书,正好对应了这三种理论。 Anchor模型我并不是特别熟悉,放在这里以供参考。 一、实体关系(ER)模型 数据仓库之父Immon的方法从全企业的高度设计一个3NF模型

数据仓库实践杂谈(十)——拉链处理

眉间皱痕 提交于 2020-01-21 09:21:25
[目录] 第一章:概述 第二章:整体数据分层 第三章:整体实现框架 第四章:元数据 第五章:ETL 第六章:数据校验 第七章:数据标准化 第八章:去重 第九章:增量/全量 第十章:拉链处理 第十一章:分布式处理增量 第十二章:列式存储 第十三章:逻辑数据模型(数仓模型) 第十四章:数据模型参考 第十五章:维模型 第十六章:渐变维 第十七章:数据回滚 第十八章:关于报表 第十九章:数据挖掘 数据仓库实践杂谈(十)——拉链处理 现代业务系统处理的数据越来越大,尤其大型金融机构、电商平台等,账户表,订单表都是庞大的。数据仓库要保留历史变更情况,需要每天加载当天的变更数据到仓库。相比整个全量数据来说,每天变化的数据还是属于少数的。比如千万账户级别的银行每天交易量一般也就是几十万条,也就意味着账户表中涉及变动的记录最多也就是几十万条。电商订单表可能数千万条,但每天新增以及之前订单变化的,可能不到一百万条。这种情况下,拉链方式做增量存储是最合适的方法。 考虑到大部分源系统只是单纯的交易系统,并不会预先做增量的处理。所以,往往我们面对的场景是源系统每天给一份当前系统的快照(包含所有或者有效时间内的订单),这里面有大量没有被修改以及小部分被修改过的、新增数据。这样我们需要做的事情就有两件: 找出增量(新增、变化)的数据; 把增量数据追加到历史库中。 考虑历史数据库的存储情况

【Hive】Hive基础知识

我怕爱的太早我们不能终老 提交于 2020-01-16 08:18:10
文章目录 1. hive产生背景 2. hive是什么 3. hive的特点 3.1优点: 3.2 缺点: 4. Hive 和 RDBMS 的对比 5. hive架构 5.1 用户接口层 5.2 Thrift Server层 5.3 元数据库层 5.4 Driver核心驱动层 6. hive的数据存储(整理一) 7. hive的数据组织形式(整理二) 7.1 库 7.2 表 7.2.1 从数据的管理权限分 7.2.1.1 内部表(管理表、managed_table) 7.2.1.2 外部表(external_table) 7.2.2 从功能上分 7.2.2.1 分区表 7.2.2.2 分桶表 7.3 视图 7.4 数据存储 7.4.1 元数据 7.4.2 表数据(原始数据) 1. hive产生背景 先分析mapreduce: mapreduce主要用于数据清洗或统计分析工作 并且绝大多数的场景都是针对的结构化数据的分析 而对于结构化的数据处理我们想到sql 但数据量非常大时,没办法使用mysql等,只能使用mapreduce 可是 mapreduce 的 缺点 是: 编程不便、成本太高 hive的诞生: 如果有一个组件可以针对大数据量的结构化数据进行数据分析,但是又不用写mapreduce,直接用sql语句实现就完美了 所以hive就诞生了 直接使用 MapReduce

首席数据官如何获取成功——通过自动化从数据中创造价值

主宰稳场 提交于 2020-01-16 03:12:45
全文共 3104 字,预计学习时长 9 分钟 图源:Unsplash “在工业设计领域,30多年前,设计工作主要是在绘图板和图纸上完成的,数据被记录在一页页的图纸上;20多年前,有了设计软件,同时也产生了一些信息化的数据;今天,在工业设计领域,我们不仅要产生数据,还要让数据创造价值。” 这是西门子工业业务领域工业自动化集团、自动化系统部副总裁,西门子COMOS工业软件部门负责人AndreasGeiss先生在之前举行的西门子工业论坛演讲上的开篇陈述。 大数据的时代,数据正在改变着人类的生活和生产方式。 图源:Unsplash 2019年Gartner第四届年度首席数据官(CDO)调查发现,在CDO组织的成功要素中,数据和分析战略的实施位列第三。 谈起数据,大家都知道四“V”,即variety,veracity, velocity, and volume(多样性、准确性、速度和数量),但是对于许多组织来说,他们的数据仓库基础设施达不到四“V”的标准。不仅如此,第五个“V”——value(价值),更是难以捉摸。因此,考虑到许多现代公司的数据规模,则需要采用一种新的方法——以自动化为基础的方法。 首席数据官将45%的时间花在了寻找能用数据创造价值和收益的方法上,即以一种现实、实用和实际有益的方式运用数据。数据仓库可以帮助达到这个目的,通过为企业数据提供一个集中空间

专家指南:大数据数据建模的常见问题

三世轮回 提交于 2020-01-16 02:35:29
专家指南:大数据数据建模的常见问题 我最近在How-tos专家系列介绍了如何在大数据系统上数据建模。在演讲过程中,许多与会者提出了一些非常有趣的问题。众所周知,大数据系统围绕结构需求的形式化程度较低,但是对于数据仓库继续为传统用例提供服务而言,建模仍然是非常重要的功能。我想分享一下我在本届会议期间以及访问组织时收到的一些较常见的问题,并对此做出回应。 1. 在大数据环境中,是否可以使用任何建模技术来提高查询性能? 为了提高查询性能,这取决于您使用的工具。以下准则可以帮助您: 确保为最终用户的查询选择最佳存储。例如,如果您正在运行许多简短查询,则应考虑使用HBase。对于长时间运行的分析查询,您可能会发现Kudu更好。理想情况下,检查要运行的查询,并为这些用例确定适当的文件格式。 为工作负载使用正确的查询引擎。例如,对于传统上在企业数据仓库出现的长时间运行的查询、供应仪表板或标准报表的场景而言,Hive on LLAP很棒。另一方面,Impala非常适合临时查询100TB以上的数据。在配置查询引擎时,还应确保已设置分区,收集统计信息,确保对连接进行了适当的设计,查看查询性能报告并进行了相应的优化。 确保您为每种用例选择的用于检索数据的工具。例如Phoenix或带有API的HBase之类的工具来运行查询,然后使用Impala或Hive on LLAP来查询数据。 2.