一丶职业素养,复习回顾
1.遇到业务问题:先解决技术问题
例:
- 如何判断一个输入串是数值?
- 1) 正则表达式
- 2) 强制转换
- 3) 现成的API
例:
- 正则表达式如何使用-常规用法
- Java实现正则表达式的核心类
- Matcher
- 其有3个匹配方法
- Matches:全部匹配
- lookingAt: 前向匹配
- find:任意匹配
- 其有3个匹配方法
- Matcher
- Java实现正则表达式的核心类
二.wordcount三个类
1.map
入参第一个key为分割后的word,第二个值自己设置为如为计算count值,则设为1,context为输入给reduce类的k,v值对
2.reduce
入参第一个key为map传来的key中的一个,第二个参数为key对应的所有value值的迭代器,出参为想要输出的结果。
3.driver
驱动配置,调用map和reduce,统一操作。
三.combiner有无的影响
combiner对最终结果无影响,影响效率,但影响中间保存本地机的中间结果。
四.影响map个数
两个小文件占用两个block,在输入地址时输入两个地址,用逗号分割。
五.shell日志查看
使用mapred shell命令,通过job-id可以查看job的工作日志。
命令格式为:mapred job -logs job-id:
六.MapReduce技术特征
1.向“外”横向扩展,而非向“上”纵向扩展
深度扩展性价比低。
2.失效被认为是常态
失效常态,在计算节点失效后会迁移到其他节点计算,无缝连接。
3.移动计算,把处理向数据迁移(数据本地性)
计算和数据在同一个机架或机器节点,提高运行效率
4.顺序处理数据、避免随机访问数据
顺序访问快,利于大数据的高吞吐量
5.推测执行
mapreduce发现某个任务的运行速度远低于任务平均速度,会为慢的任务启动一个备份任务,同时运行。哪个先运行完,采用哪个结果。
6.平滑无缝的可扩展性
弹性增加或减少计算节点
7.为应用开发隐藏系统底层细节
程序员只需关注业务,大量逻辑交给框架。
六.HDFS数据格式
按照存储形式,分为面向行和面向列
面向行:.txt,.seq
面向列:.rc,.orc
七.压缩格式
压缩格式按其可切分计算性,分为可切分计算和不可切分计算两种。
可切分:.lzo .bz2
不可切分: .gz



