技术选型主要考虑因素
数据量大小,业务需求,行业内经验,技术成熟度,开发维护成本,总成本预算。
数据采集传输:
- Flume:负责处理文件,读取文件
- Kafka:负责缓冲
- sqoop:从mysql直接导入数据
数据存储:
- MySql:负责存储可视化的展示数据
- HDFS:主要存储的是大数据中的数据,例hive
- HBase:存储元数据
- Redis:缓存
数据计算:
- Hive:基于MapReduce计算,速度相对较慢
- Tez:完全基于内存,相对hive快了很多
- Spark:速度是hive的100倍。可以进行多表查询
- Flink:可以进行多表查询
数据查询:
- Presto:基于内存快速查询
- Bruid:实时查询跟批处理的结合,但具有局限性只能处理单表
- Impala:基于内存快速查询
- Kylin:可以进行预计算,将计算的结果存到HBase中,可以进行多维度的查询
数据可视化:
- Echarts:免费但开发起来有一定难度,需要自己编写java代码,甚至有些图形需要自己绘画,对接相对麻烦
- Superset:免费简单但可选图像不多,只有简单的柱状图饼状图折线图
- QuickBI:收费
- BataV:收费
任务调度:
- Azkaban
- Oozie:配套cdh进行使用
集群监控:
Zabbix
元数据管理:
Atlas
数据质量监控:
Griffin