大数据管理与治理(全文)胡经国本文作者的话:本全文由已在百度文库发表的本文2篇连载文档汇集而成。
特此说明。
一、大数据管理与Hadoop1、Hadoop概述Hadoop是大数据分布式处理框架,是一项开源技术,是当今与大数据应用最为息息相关的数据管理平台。
它主要由Yahoo创建于2006年;一部分基于由Google在一些技术论文中所阐述的思想。
它创建不久,不少互联网公司采用该技术并开始对其自身的发展贡献力量。
在过去几年,Hadoop已经演变成一种有着基础设施组件和相关工具的复杂生态系统;而且它被各家供应商打包在一起成为商业Hadoop发行版本。
对于高级分析活动来说,在集群服务器上运行的Hadoop,为建立一个高性能、低成本的大数据管理架构提供了途径。
随着人们逐渐意识到其能力的提升,Hadoop的应用蔓延到了其他行业,包括对混合有传统结构化数据和新型非结构化数据以及半结构化数据的应用程序的报告和分析。
其中包括:网络点击流数据、在线广告信息、社交媒体数据、医疗记录以及来自制造设备的传感器数据和源于互联网设备的数据。
2、Hadoop核心组件Hadoop包含了大量开源软件组件。
这些组件拥有用于计算、处理、管理和分析大量数据的核心模型,而这些数据则由各种各样的支撑技术所包围。
这些核心组件包括:⑴、HDFSHDFS(Hadoop Distributed File System)是Hadoop分布式文件系统。
它支持传统的分级目录和文件系统;而传统的分级目录和文件系统则是将文件分布于Hadoop集群中的存储节点上,例如DataNodes(数据节点)。
⑵、MapReduceMapReduce是可以对批量应用程序进行并行处理的编程模型和执行框架。
⑶、YARNYARN(Yet Another Resource Negotiator)是负责管理任务调度。
它为运行中的应用程序分配集群资源,并在可用资源出现争用时进行仲裁。
它同时还对正在处理中任务的进展进行追踪和监控。
⑷、Hadoop CommonHadoop Common是由不同组件使用的一组库和工具。
3、Hadoop的开发管理和应用在Hadoop集群中,那些核心部分和其他软件模型,是分层于计算和数据存储硬件节点集合之上的。
这些节点通过高速内网连接,以形成高性能并行分布式处理系统。
作为一个开源技术的集合,Hadoop并不受控于任何一个单独的供应商;相反的是,它的开发是由Apache Software Foundation(Apache软件基金会)进行管理的。
Apache为用户提供Hadoop使用许可;基本上可以让用户免费、无版税地使用该软件。
开发人员可以直接从Apache的网站下载并自行构建Hadoop 环境。
但是,由Hadoop供应商提供带有基本功能的预构建社区版本。
该版本同样可以免费下载,并能在各种硬件平台上进行安装。
同时,还有市场商业版和企业版:Hadoop发行版根据维护和支持服务的不同等级来打包软件。
在某些情况下,供应商也会基于Apache的技术,提供性能和功能方面的增强。
例如,通过提供附加的软件工具来简化集群配置和管理;或是与外部平台的数据整合。
这些商业产品,让各种规模的公司对Hadoop的接纳度越来越高。
这是非常有价值的。
尤其是当商业公司供应商的支持服务团队,可以启动一家公司Hadoop基础设施的设计和开发,并且能够引导工具的选择和高级功能的集成,以快速部署高性能分析解决方案来满足新兴业务需求。
4、典型Hadoop软件栈组件当你拿到一份商业版本的Hadoop时,你能从中真正获得什么呢?除了核心组件,典型的Hadoop发布版本会包含(但不限于)以下内容:⑴、替代数据处理和应用程序执行管理器诸如Tez和Spark之类的替代数据处理和应用程序执行管理器。
它们可以在YARN之上运行,或是与YARN并行,以提供集群管理、缓存数据管理、以及其他改善处理性能的方法。
⑵、列式数据库管理系统Apache HBase是一款列式数据库管理系统。
它模仿的是运行在HDFS之上Google的Big Table项目。
⑶、SQL-on-Hadoop工具诸如Hive,Impala,Stinger,Drill以及Spark SQL之类的SQL-on-Hadoop 工具。
这些工具为直接查询存储在HDFS中的数据提供了与SQL标准不同程度的兼容性。
⑷、开发工具诸如Pig之类的开发工具,可以帮助开发人员构建MapReduce项目。
⑸、配置管理工具诸如ZooKeeper或是Ambari之类的配置管理工具,可以用来进行监控和管理。
⑹、分析环境诸如Mahout之类的分析环境,可以为机器学习、数据挖掘和预测分析提供分析模型。
由于Hadoop是开源的,因此对于Hadoop发行版你无需付费。
相反的是,供应商则售卖有不同水平服务协议(SLAs)的年度支持订阅版本。
虽然每家供应商都会对自家的附加组件进行提升,如此一来也作为Hadoop发布版的一部分为Hadoop社区做出了贡献。
所有的供应商都会积极参与到Apache Hadoop 社区中来。
5、Hadoop大数据管理环境的管理在Hadoop系统之外获得所需性能,需要一个熟悉IT专业的协调团队。
该团队致力于架构计划、设计、开发、测试和部署,以及运行中操作和维护方面的工作,以确保获得最佳性能。
意识到这一点是非常重要的。
对于这样的IT团队通常会有以下要求:需求分析师,基于运行于Hadoop环境中的应用程序类型来评估系统性能需求。
系统架构师,评估性能需求并设计硬件配置。
系统工程师,对Hadoop软件栈进行安装、配置和调优。
应用程序开发人员,设计并实现应用程序。
数据管理专家,做数据整合、创建数据布局并执行其他管理任务。
系统管理员,进行操作管理和维护。
项目管理人员,监督各级栈和应用程序开发工作的实现。
项目经理,负责Hadoop环境和优先级、应用程序开发和部署的实现。
6、Hadoop软件平台市场从本质上讲,作为一个可行的大规模数据管理生态系统,Hadoop的演化已经创造了一个新的软件市场。
它正在转变商业智能和分析行业。
这已经从两方面进行了扩展,即:用户企业可以运行的分析应用程序,以及可以作为这些应用程序一部分加以收集并进行分析的数据类型。
在Hadoop中,该市场包括三个独立的专业供应商以及其他提供Hadoop发行版或功能的公司。
对那些提供Hadoop发行版本的供应商进行评估,需要理解所供产品两个方面的异同。
首先是技术本身:发行版中包含有哪些不同之处;它们支持什么样的平台;而且,最为重要的是,个体供应商集成了什么样的特定组件?其次是服务和支持模型:对于每类订阅级别都提供什么样的支持和SLAs以及不同的订阅费用?二、数据治理与大数据平台设计本文议程:数据治理的背景和现状;数据治理要素和策略;元数据管理;主数据管理;数据质量管理;大数据平台设计。
1、数据治理背景⑴、大数据时代凸现数据治理重要性;⑵、数据治理是大数据的基础;⑶、信息孤岛现象严重;⑷、数据质量问题严重;⑸、数据应用未得到有效管理;⑹、数据安全问题日益严峻。
2、数据治理现状⑴、意识到了问题的严重;⑵、“维持”代替“管理”;⑶、历史“包袱”沉重;⑷、相关方面利益交织,协调困难;⑸、方案规划容易落地困难;⑹、过度依赖技术工具;⑺、对于数据没有明确区分。
3、数据治理要素组织(Organization);流程、活动与机制(Process & Activities & Mechanism);技术平台与工具(Platform & Tools);计划、制度与标准规范(Plan & Rule & Standards)。
4、数据治理策略获得支持;引入外援;找到“痛点”;确定“起点”;责任到人;持之以恒;绩效评估。
5、经验总结标准先行,实事求是,使用工具,确定方法,奖惩机制,做好绩效。
6、实施建议质量:数据质量提升是目标;主数据:主数据管理是关键;元数据:元数据管理是基础。
7、元数据管理⑴、元数据的定义包括:技术元数据、业务元数据、操作元数据。
⑵、为什么要进行元数据管理?①、数据的参考框架;②、解决数据模糊性;③、可视化数据流动;④、影响和血缘分析;⑤、推进标准化建设;⑥、规范化数据审计。
⑶、经验分享①、标准领先;②、全局治理;③、尽快见效;④、高层支持;⑤、业务参与;⑥、奖惩机制。
⑷、数据定义标准体系标准单词;标准用语;标准体系;标准域。
8、数据模型标准化⑴、模型设计标准①、结构实体、属性、关系、主键,范式化等;命名规则、用语词典、标准域等。
②、管理数据管理政策、方针等;配置管理、版本管理等。
③、质量准确性、完整性、实时性、一致性。
④、应用查询结果的准确性、使用便利性、查询结果的迅速性。
⑵、实施路线模型诊断→模型优化→设计规范→设计指南。
按照模型设计规范和指南统一设计企业内部数据模型。
⑶、标准化体系(数据定义和模型设计)⑷、元数据管理工具的选择①、元模型易于扩展;②、界面友好;③、安全和系统管理;④、配置管理;⑤、发布、查询、报表功能;⑥、平台开放;⑦、提前试用。
9、主数据管理⑴、什么是主数据?企业主数据是分散存储在企业各系统内、对企业至关重要的核心业务实体的数据,比如客户、合作伙伴、员工等。
其特点是:关键、分散、缓慢、共享。
⑵、主数据类型当事人;地域;事物;财务和组织。
⑶、主数据与参考数据参考数据可以是主数据,但不一定是主数据。
⑷、为什么要做主数据管理?数据冗余;数据冲突;难于应变;阻碍业务。
⑸、如何做好主数据管理?①、经常遇到的主数据问题业务不关心,业主很难找,语义不统一。
②、做好主数据管理要点分析生命周期:整理并分析主数据的生命周期;识别相关方:识别并管理主数据相关方;识别含义类型:识别主数据含义、上下文、类型。
⑹、主数据实施流程①、数据梳理②、主数据识别③、项目实施项目实施要点:选择工具;定制开发;制定标准规范;确定组织架构。
④、运行维护10、数据质量管理数据质量问题体现在以下几个方面:⑴、数据值域;⑵、数据定义;⑶、数据完整性;⑷、数据有效性;⑸、业务规则;⑹、结构完整性;⑺、数据转换;⑻、数据流。
11、组织架构设计业务与技术部门各司其职,共同做好数据质量管理工作。
⑴、业务部门统计部门(业务部门)负责业务规则的制定,在业务层面统管数据质量和安全。
⑵、技术主管部门技术主管部门负责数据集成、使用等过程中的数据质量,并对数据质量报告进行定期发布。
⑶、评审委员会技术部门设置评审委员会,对数据方面的变更进行管控,具有技术方案否决权。
12、数据质量治理流程⑴、策略和方法①、策略反面影响和正面效果征得了领导层关注;改进工作分布实施,循序渐进;数据质量报告定期发布。