摘要
本次分享将结合多个大数据项目与产品研发的经验,探讨如何基于不同的需求场景搭建通用的大数据平台。内容涵盖数据采集、存储与分析处理等多方面的主流技术、架构决策与技术选型的经验教训。
大咖演讲视频
http://t.cn/R9xaSOB
大数据平台内容
数据源往往是在业务系统上,大多数做数据分析的时候,不会直接对业务的数据源进行处理,这时就需要数据采集。
采集到数据之后,基于数据源的特点把这些数据存储下来。
最后根据存储的位置做数据分析和处理。
整个大的生态圈的核心就是数据采集、数据存储和数据分析。
数据源的特点
数据源的特点决定了数据采集与数据存储的技术选型。数据源的特点主要有来源、结构、可变性和数据量四大类。
来源有内部数据和外部数据,它们的处理方式是不一样的。
结构型数据和非结构型数据的选型也是不同的。
第三个特点是数据是否具有可变性,分为不变可添加和可以修改删除两种类型。
数据量则有大数据量和小数据量之分。
内部数据
内部数据来自企业系统内部,可以采用主动写入技术,从而保证变更数据及时被采用。
外部数据
外部数据分为API调用和网络爬虫。
如果要取到的数据本身提供了API,可以通过调用API来获得数据。
另一种情况是没有提供API,通过爬虫去把数据“爬”过来。
非结构化数据&结构化数据
非结构化数据和结构化数据在存储的时候选型完全不同。非结构化数据更多会选择NoSQL的数据库,而结构化数据考虑到数据的一致性和查询在某些方面做join时的快速性,则会更偏向于选择传统的关系型数据库,或是像TERADATA这样非开源的专业数据库,以及PostgreSQL这种支持分布式的数据库。
不变可添加
如果数据源的数据是不变的,或者只允许添加,则采集会变得非常容易,同步时只需要考虑最简单的增量同步策略,维持数据的一致性也变得相对容易。
可修改可删除
数据源的数据有些可能会修改或删除,尤其是许多维表经常需要变动。要对这样的数据进行分析处理,最简单的办法就是采用直连形式。如果要进行数据采集,就要考虑同步问题。
大数据量
利用时间来处理大数据量并不是一个实时的处理方式。要做到实时的处理方式,应该采用流式处理。要将两种方式结合起来,就要用到大数据的lambda架构。
Lambda架构分为了三层,最下层是speed layer,要求速度快,也就是实时。
最上层是batch layer,也就是批处理。
通过中间层serving layer,定期或不定期地把batch views和speed views去做merged,会产生一个结合了batch的数据。它既满足了一定的实时性,又能满足一定的大数据量。这是目前比较流行的一种大数据的处理方式。
一个典型的数据加载架构
数据存储的技术选型
取决于数据源的类型与数据的采集方式。
取决于采集后数据的格式与规模。
取决于分析数据的应用场景。
大数据平台的特征就是,相同的业务数据会以多种不同的表现形式,存储在不同类型的数据库中,形成一种poly-db的数据冗余生态。
场景一:舆情分析
针对某手机品牌的舆情分析。客户提出的需求是能够对舆情数据进行全文本搜索。舆情数据最高可能达到70亿条,而全文本搜索的性能指标要求响应时间控制在10s以内。
爬虫爬到kafka里面,进行流处理去虫去噪,再做语义分析,语义分析完之后将舆情数据写入ES,全量数据写入HDFS。
场景二:商业智能产品
聚合运算把数据源采集存储的时候,是基于列的运算,而传统数据库是行式存储。行式存储针对于列的运算需要全表才能拿到,这时选择用parquet。因为parquet是以列式方式做存储,所以做统计分析很快。但parquet执行查询会很慢,没有优势。
场景三:Airbnb的大数据平台
Airbnb的数据一部分来自于本身的业务数据在MySQL,还有一部分是大量的事件。数据源不同,处理的方式也不一样。
基于日志,就用事件写入kafka;如果是针对MySQL,就用Sqoop,写入HDFS里,并建立Hive的集群。还存了一份数据放入亚马逊的S3。
有一部分业务就是对数据合并后放入HDFS做大量的业务查询和业务统计。这时希望用SQL的方式进行查询,会有很多选项,它选择的是Presto。
还有一些流式处理或机器学习要用到Spark,选型就会不同。
数据处理的分类
从业务角度来看,可以分为查询检索、数据挖掘、统计分析和深度分析。
从技术角度分为五类,batch MapReduce、SQL、流式处理、Machine Learning和DeepLearning。
编程模型有离线编程模型、内存编程模型和实时编程模型。
相关推荐
大数据平台技术框架选型是构建高效、稳定且适应企业需求的数据基础设施的关键步骤。在这个过程中,我们需要考虑各种技术组件,以确保能够处理不同类型的海量数据,同时提供高效的数据处理、分析和检索能力。以下是对...
大数据平台技术选型与场景运用是构建高效数据处理体系的关键环节。大数据平台主要涉及业务相关、数据科学相关和数据工程三个工作领域。数据工程师作为连接业务与数据科学的桥梁,负责实现具体的数据处理架构。 首先...
基于云上对象存储的大数据平台应用实践 大数据存储加速与服务化在Shopee的实践 使用Alluxio帮助B站搭建高效AI训练平台 Alluxio的元数据同步:设计,实现与优化 分布式KV存储系统Apache Pegasus的应用与实践 大数据...
根据提供的信息,我们可以深入探讨“电商大数据平台架构设计及应用”的关键知识点,这些知识点涵盖了电商平台如何利用大数据技术来提升业务效率、改善用户体验以及优化决策流程等方面。 ### 一、电商平台的大数据...
Apache大数据平台技术框架选型分析主要集中在如何利用开源技术构建一个稳定、易用、安全且高性能的数据处理系统,尤其以Apache Hadoop为基础的CDH(Cloudera Distribution Including Apache Hadoop)发行版为核心。...
本文主要探讨了在选择大数据平台框架时需要考虑的各种因素,包括需求分析、平台业务流程、选型思路、选型要求以及具体的技术选型方案分析。 首先,需求分析明确了大数据平台的核心功能,包括数据的存储和提取,数据...
大数据平台技术框架选型是构建高效、稳定且具备高扩展性的大数据处理系统的关键步骤。本文主要探讨了在选择大数据平台框架时需要考虑的各种因素,包括需求分析、平台业务流程、选型思路、选型要求以及具体方案分析。...
【大数据平台架构】 大数据平台架构是现代企业应对海量数据挑战的核心技术框架,旨在高效管理和分析大量数据,以驱动业务创新和决策优化。随着互联网的快速发展,大数据已成为企业提升业务能力和管理水平的关键因素...
### 大数据平台架构及与EDA云化关系 #### 大数据平台架构概述 大数据平台是一种集成化的系统架构,旨在高效地处理、存储和分析大量数据。随着数据规模的不断增长,传统数据库管理系统已难以满足现代企业的数据分析...
大数据平台技术框架选型是构建高效、稳定且具备高扩展性的大数据处理系统的关键步骤。本文主要探讨了在选型过程中需要考虑的关键因素和步骤,旨在为构建城市大数据平台提供指导。 首先,大数据平台的核心需求是数据...
标题中的“大数据平台技术框架选型资料.pdf”指的是在IT领域中选择构建大数据...总的来说,大数据平台技术框架的选型是一个涉及多因素的复杂决策过程,需要充分考虑技术需求、业务场景、资源成本以及长期发展的可能性。
企业在构建大数据平台时,不仅要考虑技术选型,还要关注产品的成熟度、厂商支持以及与自身业务的匹配度。对于传统企业,可能更适合采用商业和开源软件的结合,以降低成本并保证稳定性。在采购时,企业应全面评估产品...
【大数据平台架构】是当前企业数字化转型的关键技术之一,它主要关注如何有效地处理和分析海量数据,以驱动业务创新和决策优化。大数据平台的核心在于利用先进的数据处理技术和工具,从多源、异构的数据中提取价值。...
【大数据平台架构及建设思路】 大数据,作为21世纪信息技术的核心组成部分,是指那些规模巨大、增长迅速、多样性丰富,以至于无法用传统数据库管理工具有效处理的数据集。它具有Volume(海量)、Variety(多样)、...
总结来说,车联网大数据平台架构设计需要综合考虑软件选型以提高并发处理能力和资源利用率,选择合适的流处理工具来应对实时数据挑战,利用高效的推送技术实现数据实时交换,并借助Hadoop等大数据存储和计算框架来...