大数据分析的技术栈如何选型?各种技术栈对比下来各有什么优劣?

近年来,随着万物互联,智能电话、电视、洗衣机、冰箱、各种传感器、甚至衣服都可以通过5G连接至互联网,大数据一词早已变得无处不在。但是,如果无法从数据中提取有用的信息,再多的数据也毫无价值。由于体量太大,单人单机已经无法处理和分析这些海量数据,大数据技术应运而生。然而...显示全部

近年来,随着万物互联,智能电话、电视、洗衣机、冰箱、各种传感器、甚至衣服都可以通过5G连接至互联网,大数据一词早已变得无处不在。但是,如果无法从数据中提取有用的信息,再多的数据也毫无价值。由于体量太大,单人单机已经无法处理和分析这些海量数据,大数据技术应运而生。然而,大数据领域目前尚不存在一种可以解决所有问题的通用解决方案。现有的各种各样的工具和技术有着各自的功能和特性,专注于解决各领域内的特定问题。通常大数据技术体系可以分为5层,即数据生成层、数据获取层、数据储存层、数据处理层和数据分析层。每一层都有若干面向不同需求的组件。下面简单列举一二。

数据生成层

模块例子
结构化数据表格、交易数据、财务数据
半结构化数据XML、JSON、email
非结构化数据文本、图像、视频、日志
结构化流式数据高频交易数据
半结构化数据传感器数据、社交平台信息流
非结构化数据实时监控音频、视频日志

数据获取层

数据储存层

模块组件
关系型数据库(SMP)Microsoft SQL Server、MySQL
关系型数据库(MPP)Greenplum、Vertica、Teradata
NoSQL(键值对存储)Riak
NoSQL(文档存储)MongoDB
NoSQL(列式存储)HBase
NoSQL(图结构存储)Neo4J
分布式文件系统HDFS

数据处理层

模块组件
SQL处理关系型数据库
批处理MapReduce
统一处理Spark
流处理Storm

数据分析层

模块组件
OLAP工具Microsoft SSAS、Pentaho Mondrian
初级机器学习R、RapidMiner、KNIME、SAS、WEKA
进阶机器学习Mahout (MapReduce)
高级机器学习Mahout(Spark/H2O/Flink)、MLlib、H2O ML、 Flink-ML SAMOA、MADlib

跟进和使用这些技术需要花费较多的人力、物力和时间成本,抬高了大数据的使用门槛。尤其对于中小企业来说,较高的使用门槛延缓了他们从大数据中获益的脚步。希望通过这个讨论,帮助中小企业理解大数据技术体系,从而选择适合自己业务场景的大数据技术。

收起
参与8

查看其它 2 个回答冰玉的回答

冰玉冰玉数据库开发工程师上海海典

另外的三个分层模块:
1.元数据管理
2.即席查询
3.数据可视化

IT其它 · 2020-05-06
浏览4296

回答者

冰玉
数据库开发工程师上海海典

冰玉 最近回答过的问题

回答状态

  • 发布时间:2020-05-06
  • 关注会员:5 人
  • 回答浏览:4296
  • X社区推广