Hadoop和Spark技术分享.ppt

2021-07-15 15:30:13 浏览数 (1)

Why Hive ?

  • 相对于使用MapReduce,为什么使用Hive ?
  • MapReduce实现复杂业务逻辑开发难度大
  • Hive提供类SQL语法,避免写MapReduce程序,开发相对快速
  • 扩展功能方便,支持自定义函数
  • 适合于做数据仓库工具,如ETL处理,数据分析等

Why Spark ?

1. Spark

  • 集流批处理、交互式查询、机器学习及图计算等于一体
  • 多线程模型,每个worker节点运行一个或多个executor服务,每个task作为线程运行在executor中,task间可共享资源
  • 基于内存迭代式计算,适合低延迟、迭代运算类型作业
  • 可以通过缓存共享rdd、DataFrame,提升效率中间结果支持checkpoint,遇错可快速恢复
  • map之间以pipeline方式运行,无需刷磁盘
  • Spark编程模型更灵活,支持多种语言并支持丰富的transformation和action的算子

2. MapReduce

  • 适合离线数据处理
  • 多进程模型,任务调度(频繁申请、释放资源)和启动开销大,不适合低延迟类型作业中间结果需要落地,需要大量的磁盘IO和网络IO影响性能
  • 不适合迭代计算、交互式处理、流式处理
  • MR编程不够灵活,仅支持map和reduce两种操作。当一个计算逻辑复杂的时候,需要写多个MR job运行

0 人点赞