MapReduce
什么是切片如何控制map的数量?combine和reduce本质区别:分区(partition): Apache Hive
什么是数据仓库Hive的优势和特点hive不存储数据,是一个ONAP引擎学习回顾
MapReducemap阶段:是将原数据(存储在hdfs上)按照处理的业务逻辑转换为k-v数据格式
reduce阶段:对map阶段处理完的数据进行汇总,按照需求进行处理,最终输出到hdfs,reduce阶段最终输出到hdfs是也是l-v的数据格式
InputSplit表示由单个Mapper处理的数据块是逻辑块(inputSplit)而不是物理块(block)
块是数据的物理表示。 Split是Block中数据的逻辑表示
InputSplit尊重逻辑记录边界
如何控制map的数量?在MapReduce执行期间,Hadoop扫描块并创建InputSplits,每个InputSplit将分配给各个mapper进行处理
- 自定义逻辑块数量修改数据块的大小
combiner是MapReduce中的一种优化,允许在shuffle和排序阶段之前进行本地聚合。
reduce是将不同节点的map输出进行聚合
- 当Mapper输出时它会被分区,这意味着它将被写入分区程序指定的位置分区程序负责划按key进行划分将key-value对分配给reducer默认的分区程序涉及计算密钥的哈希值,然后使用reduce的数量获取该值的mod(取模)
- 数据仓库解决方案构建在hadoop之上提供类似SQL的查询语言Hive Query Language-HQL,它具有最小的学习曲线
强调文本 强调文本
- 提供简单和优化的模型,编码少于MR,只需要写SQL,底层会自动转化为MapReducehql和SQL绝缘油类似的语法和高生产率hive支持在不同的就计算框架上运行(默认是MapReduce,Tez比MapReduce性能快乐50倍)支持用户定义的函数,脚本和自定义格式用于ETL和BI工具的成熟JDBC和ODBC驱动程序适合做数据的批处理,即离线处理
- MapReduce处理流程MapReduce的代码编译hive和MapReduce的处理速度hive基本语句的掌握



