在构建大数据分析平台之前,首先要明确业务需求场景和用户的需求,通过大数据分析平台,获取有价值的信息,需要访问数据,明确基于现场业务需求的大数据平台具有基本功能,确定平台的流程使用大数据处理工具和框架。

  面对海量的各种来源的数据,如何对这些零散的数据进行有效的分析,得到有价值的信息一直是大数据领域研究的热点问题。

  大数据分析处理平台就是整合当前主流的各种具有不同侧重点的大数据处理分析框架和工具,实现对数据的挖掘和分析,一个大数据分析平台涉及到的组件众多,如何将其有机地结合起来,完成海量数据的挖掘是一项复杂的工作。在搭建大数据分析平台之前,要先明确业务需求场景以及用户的需求,通过大数据分析平台,想要得到哪些有价值的信息,需要接入的数据有哪些,明确基于场景业务需求的大数据平台要具备的基本的功能,来决定平台搭建过程中使用的大数据处理工具和框架。

  (1)操作系统的选择操作系统一般使用开源版的RedHat、Centos或者Debian作为底层的构建平台,要根据大数据平台所要搭建的数据分析工具可以支持的系统,正确的选择操作系统的版本。

  (2)搭建Hadoop集群Hadoop作为一个开发和运行处理大规模数据的软件平台,实现了在大量的廉价计算机组成的集群中对海量数据进行分布式计算。Hadoop框架中最核心的设计是HDFS和MapReduce,HDFS是一个高度容错性的系统,适合部署在廉价的机器上,能够提供高吞吐量的数据访问,适用于那些有着超大数据集的应用程序;MapReduce是一套可以从海量的数据中提取数据最后返回结果集的编程模型。在生产实践应用中,Hadoop非常适合应用于大数据存储和大数据的分析应用,适合服务于几千台到几万台大的服务器的集群运行,支持PB级别的存储容量。Hadoop家族还包含各种开源组件,比如Yarn,Zookeeper,Hbase,Hive,Sqoop,Impala,Spark等。使用开源组件的优势显而易见,活跃的社区会不断的迭代更新组件版本,使用的人也会很多,遇到问题会比较容易解决,同时代码开源,高水平的数据开发工程师可结合自身项目的需求对代码进行修改,以更好的为项目提供服务。

  (3)选择数据接入和预处理工具面对各种来源的数据,数据接入就是将这些零散的数据整合在一起,综合起来进行分析。数据接入主要包括文件日志的接入、数据库日志的接入、关系型数据库的接入和应用程序等的接入,数据接入常用的工具有Flume,Logstash,NDC(网易数据运河系统),sqoop等。对于实时性要求比较高的业务场景,比如对存在于社交网站、新闻等的数据信息流需要进行快速的处理反馈,那么数据的接入可以使用开源的Strom,Spark streaming等。当需要使用上游模块的数据进行计算、统计和分析的时候,就需要用到分布式的消息系统,比如基于发布/订阅的消息系统kafka。还可以使用分布式应用程序协调服务Zookeeper来提供数据同步服务,更好的保证数据的可靠和一致性。数据预处理是在海量的数据中提取出可用特征,建立宽表,创建数据仓库,会使用到HiveSQL,SparkSQL和Impala等工具。随着业务量的增多,需要进行训练和清洗的数据也会变得越来越复杂,可以使用azkaban或者oozie作为工作流调度引擎,用来解决有多个hadoop或者spark等计算任务之间的依赖关系问题。

  (4)数据存储除了Hadoop中已广泛应用于数据存储的HDFS,常用的还有分布式、面向列的开源数据库Hbase,Hbase是一种key/value系统,部署在HDFS上,与Hadoop一样,Hbase的目标主要是依赖横向扩展,通过不断的增加廉价的商用服务器,增加计算和存储能力。同时hadoop的资源管理器Yarn,可以为上层应用提供统一的资源管理和调度,为集群在利用率、资源统一等方面带来巨大的好处。Kudu是一个围绕Hadoop生态圈建立的存储引擎,Kudu拥有和Hadoop生态圈共同的设计理念,可以运行在普通的服务器上,作为一个开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。Redis是一种速度非常快的非关系型数据库,可以将存储在内存中的键值对数据持久化到硬盘中,可以存储键与5种不同类型的值之间的映射。

  (5)选择数据挖掘工具Hive可以将结构化的数据映射为一张数据库表,并提供HQL的查询功能,它是建立在Hadoop之上的数据仓库基础架构,是为了减少MapReduce编写工作的批处理系统,它的出现可以让那些精通SQL技能、但是不熟悉MapReduce、编程能力较弱和不擅长Java的用户能够在HDFS大规模数据集上很好的利用SQL语言查询、汇总、分析数据。Impala是对Hive的一个补充,可以实现高效的SQL查询,但是Impala将整个查询过程分成了一个执行计划树,而不是一连串的MapReduce任务,相比Hive有更好的并发性和避免了不必要的中间sort和shuffle。Spark可以将Job中间输出结果保存在内存中,不需要读取HDFS,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。Solr是一个运行在Servlet容器的独立的企业级搜索应用的全文搜索服务器,用户可以通过http请求,向搜索引擎服务器提交一定格式的XML,生成索引,或者通过HTTP GET操作提出查找请求,并得到XML格式的返回结果。还可以对数据进行建模分析,会用到机器学习相关的知识,常用的机器学习算法,比如贝叶斯、逻辑回归、决策树、神经网络、协同过滤等。

  (6)数据的可视化以及输出API对于处理得到的数据可以对接主流的BI系统,比如国外的Tableau、Qlikview、PowrerBI等,国内的SmallBI和新兴的网易有数(可免费试用)等,将结果进行可视化,用于决策分析;或者回流到线上,支持线上业务的发展。成熟的搭建一套大数据分析平台不是一件简单的事情,本身就是一项复杂的工作,在这过程中需要考虑的因素有很多,比如:稳定性,可以通过多台机器做数据和程序运行的备份,但服务器的质量和预算成本相应的会限制平台的稳定性;可扩展性:大数据平台部署在多台机器上,如何在其基础上扩充新的机器是实际应用中经常会遇到的问题;安全性:保障数据安全是大数据平台不可忽视的问题,在海量数据的处理过程中,如何防止数据的丢失和泄漏一直是大数据安全领域的研究热点。

  企业选择构建大数据平台的方案有不同的原因,选择合理的类型,不仅要充分考虑建设数据平台的目的,而且要充分了解各种方案。

企业大数据分析平台如何构建相关推荐

  1. 从固化报表到自助分析,企业如何构建一站式大数据分析平台?

    "数据没有分析是一种资源的浪费,分析没有数据是做无用功." 近年来,随着企业数据化建设进程加快,越来越多的企业逐渐从单一报表开发模式过渡到"报表+自助"双模式阶 ...

  2. 基于Hadoop和Spark体系的大数据分析平台构建

    谢谢分享! 转载:http://www.sohu.com/a/249271561_481409 随着大数据.人工智能等技术的快速发展,企业对大数据平台的需求越来越强烈,通过大数据分析技术为企业提供经营 ...

  3. 如何构造大数据分析平台

    大数据根基于互联网,数据仓库.数据挖掘.云计算等互联网技术的发展为大数据应用奠定基础.对于任何一个大数据的从业者.初接触者,或者都会有个共同的感触:大数据很有用!那么大数据分析平台如何构建成了时下研究 ...

  4. 内行才知道的大数据分析平台

    随着这几年来市场需求的增长以及技术的更新,大数据分析平台越来越多地出现在大家的需求采购单上,但面对大数据分析平台,又有多少人知道他们之间的优势区别?今天就从尽量用小白的语言,聊聊内行眼里的大数据分析平 ...

  5. mmTrix大数据分析平台构建实录--转

    在数据分析中,有超过90%数据都是来自于非结构化数据,其中大部分的是日志,如运维.安全审计.用户访问数据以及业务数据等,但随着互联网快速的发展,数据规模也是水涨船高,从早前的GB级到现在的TB级,甚至 ...

  6. 如何构建大数据分析平台

    大数据是以互联网为基础的.数据仓库.数据挖掘.云计算等互联网技术的发展为大数据的应用奠定了基础.对于任何一个大数据从业者来说,新的接触,或者会有一种共同的感觉:大数据是非常有用的!那么如何构建大数据分 ...

  7. 大数据分析平台在企业运营中的作用

    在整个信息化的方向上,有三大趋势:云计算.大数据和物联网.在这些趋势下,大数据处于大脑的位置,主要负责将数据收集和处理成信息,甚至变成知识,最后通过物联网技术反馈给现实世界,不断产生更多的价值. 如今 ...

  8. mmTrix大数据分析平台构建实录

    在数据分析中,有超过90%数据都是来自于非结构化数据,其中大部分的是日志,如运维.安全审计.用户访问数据以及业务数据等,但随着互联网快速的发展,数据规模也是水涨船高,从早前的GB级到现在的TB级,甚至 ...

  9. 企业数字化转型的核心—大数据分析平台

    随着物联网.大数据的快速发展,数据价值的发掘与应用被企业开始重视,如信息化建设一样,企业开启了新一轮数字化转型,物联网.业务融合.大数据平台建设如火如荼的进行.那么在数字化转型中,决定企业成败的核心是 ...

最新文章

  1. SpringBoot 项目瘦身指南,瘦到不可思议!
  2. 4.0 《数据库系统概论》数据库安全性详解---(存取控制、DACMAC、视图机制、审计Audit....)
  3. python给变量赋值范围_关于lambda:在Python中将变量赋值给本地函数范围
  4. 两种方式实现js, ajax跨域
  5. jmeter 压测 RabbitMQ_单机
  6. 蒸汽机器人q和锤石q_英雄联盟:圣杯锤石的启发,辅助的作用是否应该更倾向多元化?...
  7. 互联网日报 | 1月22日 星期五 | 春节返乡防疫政策发布;滴滴成立技术委员会;2021全国网上年货节正式启动...
  8. 优化算法笔记|飞蛾扑火优化算法理解及实现
  9. 配置Apache虚拟机
  10. 持有1000枚比特币及以上的地址数量创历史新高
  11. 记一次天猫商城系统高并发的优化
  12. VUE优秀的组件库总结
  13. CSS RESET —— 浏览器样式重置
  14. 使用Hackintool工具生成全新的序列号及更改黑苹果SN三码序列号简易版教程
  15. 短信API接口怎么调用
  16. vue跨域---解决方案
  17. (CSP2019·J T4)加工零件【spfa】【最短路】
  18. 徐州地区地理生物计算机考试试题,2020年初中学业水平考试 地理、生物7月14日开考...
  19. 工作站和微型计算机的区别,轻松了解工作站和台式机的区别,用Precision 3551挥洒创意...
  20. Vue简明实用教程(13)——Vue的生命周期

热门文章

  1. rsync本地模式讲解04
  2. pku 3207 Ikki's Story IV - Panda's Trick 2-sat判定是否存在可行解
  3. Leetcode130.被围绕的区域
  4. 监控视频异常检测数据集整理
  5. pytorch 与numpy 部分操作的对应关系
  6. Python---HTML表单
  7. 有限时间不明确需求项目的上线(部分还款)
  8. 基于MODBUS-RTU协议的串口编程
  9. 转:Oracle中的rownum不能使用大于的问题
  10. .net 自定义控件显示及传参--转