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

被折叠的 条评论
为什么被折叠?



