批量处理
当快速相应时间不是核心要素时,就可采用数据批量处理。批量处理用于处理一段时间积累的数据集。例如白天收集EDI声明,晚上打包至文件夹中准备用于处理。
Apache Hive是一个用于数据仓储的开源Hadoop应用程序。它提供了一个便捷的方式在大量的非结构化数据之上建立框架,然后对这些数据进行类似SQL查询操作的批处理程序。
Apache的Spark是下一代分布式并行处理框架,可为机器学习、图形处理、SQL等提供一套丰富的API。 对于迭代算法,Spark处理速度要比MapReduce更快,因为Apache尽量将相关信息储存在储存器中,而MapReduce则更多地直接从盘中读取和写入。
流式数据处理
Spark Streaming是基于Spark的实时计算框架,其将流式计算分解成一系列短小的批处理作业。因此,你可以像编写批处理作业一样编写流作业。当然,处理大规模流式数据,除了Spark Streaming, Apache Flink 和 Apache Storm也是不错的选择。