Spark技术优势总结

 

  1. 优秀的数据批处理框架:作业任务在进行MapReduce数据批处理时,作业任务需要读取HDFS文件作为数据输入进行聚合,而统计输出的结果也要存储到HDFS上。如果是一次数据处理需要运行多个MapReduce作业,其中间结果通过HDFS保存与传递,如果是多次HDFS读写操作,会产生I/O读写效率低和处理时间长的瓶颈。但是,如果采用Spark进行数据批处理时,替代多个MapReduce作业任务的是一个Spark作业程序,不仅可以缩短作业的申请、资源分配过程,而且把作业执行时的中间结果可保存于内存中,减少HDFS的读写次数,从而减少了磁盘读写开销,大幅缩短数据处理时间,提高了数据处理效率。
  2. 高可扩展的编程接口:相比MapReduce编程模型,Spark提供了更为灵活的DAG编程模型。DAG编程模型不仅包含了map、reduce接口,还增加了filter、flatMap、union等操作接口,使得编写Spark程序更为方便。Spark提供了编程语言Java、Scala、Python、R的API,以及SQL的支持,支持开发者编写Spark程序。同时还提供了Spark Shell以支持用户进行交互式编程。
  3. 多源异构数据处理:Spark支持数据批处理,还支持流式数据处理、复杂分析(包括机器学习、图计算)、交互式数据查询(包括SQL)。Spark可以运行,或者在Hadoop Yarn集群管理器,兼容Hadoop已有的各种数据类型,支持多种数据源,如HDFS、Hive、HBase、Parquet等。

猜你喜欢

转载自blog.csdn.net/peter_changyb/article/details/81190017
今日推荐