关于大数据平台,这有一套完整的方法论,你确定不收藏?[通俗易懂]

关于大数据平台,这有一套完整的方法论,你确定不收藏?[通俗易懂]大数据时代这个词被提出已有10年了吧,越来越多的企业已经完成了大数据平台的搭建。随着移动互联网和物联网的爆发,大数据价值在越来越多的场景中被挖掘,随着大家都在使用欧冠大数据,大数据平台的搭建门槛也越来越低。借助开源的力量,任何有基础研发能力的组织完全可以搭建自己的大数据平台。但是对于没有了解过大数据平台、数据仓库、数据挖掘概念的同学可能还是无法顺利完成搭建,因为你会发现太多的东西,和架构,你不知道如何去选择。今天给大家分享下大数据平台是怎么玩的。架构总览通常大数据平台的架构如上,从.

大家好,又见面了,我是你们的朋友全栈君。

大数据时代这个词被提出已有10年了吧,越来越多的企业已经完成了大数据平台的搭建。随着移动互联网和物联网的爆发,大数据价值在越来越多的场景中被挖掘,随着大家都在使用欧冠大数据,大数据平台的搭建门槛也越来越低。

借助开源的力量,任何有基础研发能力的组织完全可以搭建自己的大数据平台。但是对于没有了解过大数据平台、数据仓库、数据挖掘概念的同学可能还是无法顺利完成搭建,因为你会发现太多的东西,和架构,你不知道如何去选择。

今天给大家分享下大数据平台是怎么玩的。

架构总览

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

通常大数据平台的架构如上,从外部采集数据到数据处理,数据显现,应用等模块。

数据采集

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

用户访问我们的产品会产生大量的行为日志,因此我们需要特定的日志采集系统来采集并输送这些日志。Flume是目前常用的开源选择,Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。

Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力。

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

对于非实时使用的数据,可以通过Flume直接落文件到集群的HDFS上。而对于要实时使用的数据来说,则可以采用Flume+Kafka,数据直接进入消息队列,经过Kafka将数据传递给实时计算引擎进行处理。

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

业务数据库的数据量相比访问日志来说小很多。对于非实时的数据,一般定时导入到HDFS/Hive中。一个常用的工具是Sqoop,Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 :MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

而对于实时的数据库同步,可以采用Canal作为中间件,处理数据库日志(如binlog),将其计算后实时同步到大数据平台的数据存储中。

数据存储

无论上层采用何种的大规模数据计算引擎,底层的数据存储系统基本还是以HDFS为主。HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础。具备高容错性、高可靠、高吞吐等特点。

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

HDFS存储的是一个个的文本,而我们在做分析统计时,结构化会方便需要。因此,在HDFS的基础上,会使用Hive来将数据文件映射为结构化的表结构,以便后续对数据进行类SQL的查询和管理。

数据处理

数据处理就是我们常说的ETL。在这部分,我们需要三样东西:计算引擎、调度系统、元数据管理。

对于大规模的非实时数据计算来讲,目前一样采用Hive和spark引擎。Hive是基于MapReduce的架构,稳定可靠,但是计算速度较慢;Spark则是基于内存型的计算,一般认为比MapReduce的速度快很多,但是其对内存性能的要求较高,且存在内存溢出的风险。Spark同时兼容hive数据源。

从稳定的角度考虑,一般建议以Hive作为日常ETL的主要计算引擎,特别是对于一些实时要求不高的数据。Spark等其他引擎根据场景搭配使用。

实时计算引擎方面,目前大体经过了三代,依次是:storm、spark streaming、Flink。Flink已被阿里收购,大厂一直在推,社区活跃度很好,国内也有很多资源。

调度系统上,建议采用轻量级的Azkaban,Azkaban是由Linkedin开源的一个批量工作流任务调度器。https://azkaban.github.io/

一般需要自己开发一套元数据管理系统,用来规划数据仓库和ETL流程中的元数据。元数据分为业务元数据和技术元数据。

业务元数据,主要用于支撑数据服务平台Web UI上面的各种业务条件选项,比如,常用的有如下一些:移动设备机型、品牌、运营商、网络、价格范围、设备物理特性、应用名称等。

这些元数据,有些来自于基础数据部门提供的标准库,比如品牌、价格范围等,可以从对应的数据表中同步或直接读取;而有些具有时间含义的元数据,需要每天通过ETL处理生成,比如应用信息。

为支撑应用计算使用,被存储在MySQL数据库中;而对于填充页面上对应的条件选择的数据,则使用Redis存储,每天/月会根据MySQL中的数据进行加工处理,生成易于快速查询的键值对类数据,存储到Redis中。

技术元数据,主要包括数据仓库中的模型说明、血缘关系、变更记录、需求来源、模型字段信息等,详细的可以查看数据分析师应该了解的数据仓库(3)

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

数据流转

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

通过上面一张图了解数据采集,数据处理,到数据展现的数据流转。通常我们在实际工作中,从数据源到分析报告或系统应用的过程中,主要包括数据采集同步、数据仓库存储、ETL、统计分析、写入上层应用数据库进行指标展示。

这是最基础的一条线,现在还有基于数据仓库进行的数据分析挖掘工作,会基于机器学习和深度学习对已有模型数据进一步挖掘分析,形成更深层的数据应用产品。

数据应用

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

俗话说的好,“酒香也怕巷子深”。数据应用前面我们做了那么多工作为了什么,对于企业来说,我们做的每一件事情都需要体现出价值,而此时的数据应用就是大数据的价值体现。数据应用包括辅助经营分析的一些报表指标,商城上基于用户画像的个性化推送,还有各种数据分析报告等等。

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

好的数据应用一定要借助可视化显现,比如很多传统企业买的帆软,当然还有别的,不过就我经验来说,帆软是不错的。

关于大数据平台,这有一套完整的方法论,你确定不收藏?

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136229.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [MFC]同步对象——CCriticalSection临界区,CSemaphore信号量

    [MFC]同步对象——CCriticalSection临界区,CSemaphore信号量实例——CCriticalSection临界区临界区是保证在某一个时间只有一个线程可以访问数据的方法。使用它的过程中,需要给每个线程提供一个共享的临界区对象,无论哪个线程占有临界区对象,都可以访问受到保护的数据,这时候其他的线程需要等待,直至该线程释放临界区对象为止,临界区被释放后,另外的线程可以强占这个临界区,以便访问共享的数据。临界区对应的一个CCriticalSection对象,

    2022年7月20日
  • 错误信息:java.lang.AbstractMethodError

    错误信息:java.lang.AbstractMethodErrorjava.lang.AbstractMethodError:org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance;错误信息详细如下:org.springframewo

    2022年5月20日
  • 【已解决】【V1.0版本】如何彻底关闭Win10的自动更新并且随时可以恢复?

    【已解决】【V1.0版本】如何彻底关闭Win10的自动更新并且随时可以恢复?更新失败的问题我已经参考这篇文章解决了:【亲测管用】Windows10无法完成更新,正在撤销更改怎么办?精简脚本,在不删除服务的情况下阻止自动更新:【亲测管用】如何使用脚本关闭Win10自动更新服务并阻止其自动启动?如何关闭Windows10的自动更新真的是个大难题.当你遇到Windows更新包安装失败,却又被强制每天重新安装并且失败(安装失败有的时候得重启好几次),望着一遍又一…

    2022年6月4日
  • OpenGL入门教程

    概述OpenGLOpenGL是渲染2D、3D矢量图形硬件的一种软件接口。本质上说,它是一个3D图形和模型库,具有高度的可移植性,并且具有非常快的渲染速度。OpenGL并不是一种语言,而是更像一个C运行时函数库。它提供了一些预包装的功能,帮助开发人员编写功能强大的三维应用程序。OpenGL可以再多种操作系统平台上运行,例如各种版本的Windows、UNIX/Linux、MacOS和OS/…

    2022年4月6日
  • 外企入职第一封英文邮件_投外企要英文简历吗

    外企入职第一封英文邮件_投外企要英文简历吗   一份出色的Resume,是向外企求职的关键之一。不了解有关的常识和程式,不花费相当的心思来展示,以有纯正娴熟的英文功底,决不能获得单位的青睐。在一大堆错误百出、英文表达能力低劣或平庸,毫无针对性和创造性的Resume中,你的那份若能让人眼睛一亮,成功的机会必将大大增加,以下试着结合一个具体的例子给出说明和评述。   BalanceSheet:  基本方法选取适当的工作后,必须看清

    2022年10月20日
  • 示波器的trigger_示波器trigger原理

    示波器的trigger_示波器trigger原理很多时候只进行上述两项调整的话,是能看到一个波形,但这个波形却很不稳定,左右乱颤,相互重叠,导致看不清楚,如图5所示。图5 示波器触发电平调整不当的示意图  这就是因为示波器的触发没有调整好的缘故,那么什么是触发呢?简单点理解,所谓触发就是设定一个基准,让波形的采集和显示都围绕这个基准来。最常用的触发设置是基于电平的(也可基于时间等其它量,道理相同),大家看下上面的几张波形图,在左侧总

    2022年10月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号