从 0 到 1 搭建大数据平台-概述

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 如何从 0 到 1 搭建大数据平台

大数据时代这个词被提出已有 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、统计分析、写入上层应用数据库进行指标展示。这是最基础的一条线,现在还有基于数据仓库进行的数据分析挖掘工作,会基于机器学习和深度学习对已有模型数据进一步挖掘分析,形成更深层的数据应用产品。

数据应用


网络异常,图片无法展示
|


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


网络异常,图片无法展示
|


好的数据应用一定要借助可视化显现,比如很多传统企业买的帆软。开源界推荐一款可视化工具 Superset,可视化种类很多,支持数据源也不少,使用方便。最近数砖收购的 redash,也为了自己能一统大数据处理平台。可以看出可视化对于企业数据价值体现是很重要的。

结尾

通过本文,可以对大数据平台处理做初步了解,知道包含哪些技术栈,数据怎么流转,想要真正从 0 到 1 搭建起自己的大数据平台,还是不够的。了解了流程,你还需要真正的上手搭建 Hadoop 集群,Spark 集群,数据仓库建设,数据分析流程规范化等等都需要很多工作,想了解更多的读者欢迎留言,或者关注公众号后添加我微信一起探讨。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
SQL 分布式计算 大数据
大数据Spark框架概述
大数据Spark框架概述
217 0
|
分布式计算 资源调度 Hadoop
大数据Hadoop概述
大数据Hadoop概述
199 0
|
3月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
98 2
|
3月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
147 0
|
3月前
|
存储 消息中间件 大数据
大数据-68 Kafka 高级特性 物理存储 日志存储概述
大数据-68 Kafka 高级特性 物理存储 日志存储概述
41 1
|
3月前
|
存储 分布式计算 NoSQL
大数据-144 Apache Kudu 基本概述 数据模型 使用场景
大数据-144 Apache Kudu 基本概述 数据模型 使用场景
51 0
|
3月前
|
SQL 存储 OLAP
大数据-133 - ClickHouse 基础概述 全面了解
大数据-133 - ClickHouse 基础概述 全面了解
70 0
|
3月前
|
存储 分布式计算 算法
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
73 0
|
3月前
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
57 0
|
3月前
|
SQL 存储 分布式计算
大数据-93 Spark 集群 Spark SQL 概述 基本概念 SparkSQL对比 架构 抽象
大数据-93 Spark 集群 Spark SQL 概述 基本概念 SparkSQL对比 架构 抽象
60 0