大数据技术——数据处理和分析
场景:数据清洗,数据规范化,统计分析等。
1. 实时处理
对于实时数据及时处理,并输出结果。
推荐技术:
SPARK STEAMING:一小段时间的批数据进行处理并产出。支持交互查询,
STROM:纯实时处理,来一条处理一条。低延时,高容错性。
对于这两个技术,也是针对于应用场景的,假如不能忍受高延时且不需要复杂的交互查询则用STROM,否则一般用SPARK STREAMING。
2. 离线处理
对于离线批数据的处理。
推荐技术:
HIVE:类SQL的语法,SQL ON MAPREDUCE, 低开发成本。也可以用JAVA写UDF。
MAPREDUCE:JAVA编写MAP程序,REDUCE程序
SPARK:SCALA或者PYTHON开发,也支持SQL。
HIVE与MAPREDUCE的比较:
HIVE提交的SQL会转化成MAPREDUCE的任务去执行。
HIVE的开发成本不高,优先用SQL解决问题。否则需要写UDF或者选择MAPREDUCE来解决问题。
HIVE和SPARK的比较:
本质上,SPARK计算引擎比MAPREDUCE计算引擎高效得多。
但SPARK是基于内存的分布式计算,数据大小最好不超过集群资源内存总量太多。否则变得非常低效。
以上推荐的技术是行业内常用的技术。但不唯一。