播报:MapReduce高级程序设计
注:MapReduce环境配置,Jar包导出,上传,hadoop执行等操作可以查看文章:MapReduce程序设计,只需替换为本篇文章的代码即可实现/m0_69488210/article/details/131432125数据集:/download/m0_69488210/87959387
【资料图】
1、滚动收益率计算方法:(1) 忽略N/A所在日的股票数据,思考:可使用插值算法填充异常N/A数据,但退市股票同样会造成N/A数据,需要识别那种数据是退市造成的,而哪种数据是异常形成的。(2)第t日的5日滚动收益Rt= (C_t - C_(t-5) ) / C_(t-5) ,Ct:第t日收盘价 Rt:第t日滚动收益(3) 5日滚动正收益率所有交易日的5日滚动收益为正(赚钱)的概率
所有计算忽略非交易日(节假日)
2、二次排序和组排序MapReduce中的二次排序是指在MapReduce任务中对键值对进行排序时,除了根据键进行排序之外,还可以根据值进行排序。在二次排序中,首先按照键进行排序,然后对于具有相同键的按照指定的值进行排序,最终输出排序后的键值对序列。组排序是将Map任务输出的键值对按照key进行排序并分组,具有相同key的键值对会被划分到同一组,并发送给同一个Reduce任务进行处理。这就确保了拥有相同key的键值对能够在Reduce阶段被合并处理,从而得出结果。
3、基本代码逻辑要求:(1) CodeTimeTuple implements WritableComparable封装一个代码时间类,用以在键中存放股票代码和时间,用以按股票和时间进行二次排序;定义key排序比较器,按股票代码进行一次排序,按时间进行二次排序
(2) Map extends Mapper
输入:一行数据(一只股票的日数据)
处理:使用 \t 将字符串split成数组,提取需要计算的值,并转为浮点数
输出:<代码时间对象, 收盘价>
遇到无效数据不输出(停牌股票或有N/A数据无法提取为浮点数)
在Map阶段首先分割传入的每一行的信息,忽略空置,取出收盘价,股票代码和日期,把股票编号和日期封装到CodeTimeTuple的序列化对象tuple里,在map输出的时候,tuple作为键,收盘价为对应的值,在CodeTimeTuple类里实现了按照股票代码和时间的二次排序,保证传入reduce的是按照股票代码和时间二次排序之后的升序排序
(3) GroupSort extends WritableComparator
创建一个排序比较器,修改组排序逻辑,按股票代码排序
通过组排序保证了传入Reduce的数据是排序之后按照股票代码分组的数据,保证了reduce可以合并相同股票代码的数据
(4) Reduce extends Reducer
输入:<代码时间对象,[收盘价]>
处理:计算每个5日的滚动收益,并统计滚动收益为正的概率
输出:<股票代码,滚动收益为正的概率>
把传入reduce的值存入到列表中,通过Rt= (C_t - C_(t-5) ) / C_(t-5)计算第t日的5日滚动收益,依次判断每个股票代码对应的所有的五日滚动收益是否为正,把正数的数量除以相同股票代码的所有数量就可以得到每个股票代码的5日滚动收益为正(赚钱)的概率,reduce输出的键为股票代码,值为每个股票代码的5日滚动收益为正(赚钱)的概率。
下一篇:最后一页

播报:MapReduce高级程序设计
注:MapReduce环境配置,Jar包导出,上传,hadoop执行等操作可以查看文
2023-06-28
2023年惠东大岭街道户籍生报名时间+入口
报名对象户籍适龄儿童和小学毕业生、符合《惠州市中小学校招收和培养国
2023-06-28
观点:一毫米等于多少微米多少丝_一毫米等于多少微米
1、1平方毫米是面积,微米是长度,二者是不同的物理量无法比较,如果是
2023-06-28
环球微动态丨青兰高速涉县至冀晋界段改扩建工程全面建成通车
6月28日,青兰高速涉县至冀晋界段改扩建工程全面建成通车。该项目是河
2023-06-28
当前看点!知名影星梁朝伟迎61岁生日!刘嘉玲晒合照为其庆生!
6月27日是梁朝伟61岁生日,刘嘉玲也晒照为其庆生,两人端着蛋糕对镜微
2023-06-28
全球热头条丨访亚运会电子竞技国家集训队教练组:公平选拔 科学赛训
新华社讯中国电子竞技国家集训队日前公示了杭州亚运会参赛名单,125名
2023-06-28
世界热头条丨2023浙江嘉兴平湖农商银行暑假实习生招聘公告
实习岗位大堂经理助理、信贷助理、档案整理等。实习时间2023年7月一8月
2023-06-28
当前速看:律师本色出演!律所原创话剧《代理人》火热巡演
近日,由国浩律师事务所自创、自编、自演、自作主题曲的话剧《代理人》
2023-06-28
曹军来袭好玩吗 曹军来袭玩法简介|微头条
期待已久的手游曹军来袭即将登陆九游,这款手机游戏吸引了大批玩家的关
2023-06-28
快看点丨男子标枪比赛德国28岁的世界冠军维特尔投出94米20夺冠
北京时间5月20日凌晨,欧洲田径的传统赛事、世界田联巡回赛黄金赛捷克
2023-06-28X 关闭





X 关闭
- 最新全国疫情中高风险地区名单:全国现有高中风险地区15+64个(统计时间:5月19日6时)
- 北京疫情最新消息|5月18日北京新增50例本土确诊病例和5例无症状感染者
- 上海疫情最新消息|5月18日上海新增本土确诊病例82例和本土无症状感染者637例
- 郑州限号|今天是2022年5月19日,郑州限行尾号是4和9
- 发码总数超68万!郑州市“场所码”覆盖精度再提升
- 郑州发布100号通告:调整封控管控区域
- 【“郑”在抗疫】郑州互联网企业开展爱心购瓜网络公益活动
- 10岁顽童因“想妈妈”爬楼顶,暖心民警化身“心理医生”解心结
- 洛阳馨悦社工:以微薄之力让社区更安全
- 平顶山新华区对4名违反疫情防控有关规定人员依法处理