SQL --> Hive
" easily writing applications" 轻松编写应用程序
对于如何容错,如何进行RPC通信等,开发人员不用关注,关注我们的业务逻辑就可以,从这方面来讲,easily
业务逻辑 + MR框架自带的内置的组件 => 分布式应用程序开发
用MR来做开发,相较于 Spark ,很麻烦
Map: 映射 把一个任务拆解成多个
Reduce:聚合,把拆解开的任务做最后的聚合操作
比如一开始的wordcount.txt文件
hadoop hdfs hdfs hive
hdfs sqoop flume java
Java Hadoop hadoop
Map就是把文件拆成:
(hadoop,1)
(hdfs ,1)
(hdfs ,1)
Reduce聚合成
(hdfs ,2)
MapReduce-适用/不适用场景
适合:离线、批处理计算
不适合:实时计算
运行官网上的MapReduce,关注运行的进程(jps)
MR运行中的进程:
RunJar
YarnChild Task(MapTask ReduceTask)
MRAppMaster
MRAppMaster MapTask ReduceTask都是以进程的方式运行的,那么进程申请资源,运行,释放资源,就是MR运行慢的一个原因