大数据统计大量股票开盘平均价和收盘平均价
大数据统计大量股票开盘和收盘的平均价
一、需要统计的文件:
二、单个文件内容:
三、程序:
程序来自小奶狗的博客
连接为:https://blog.csdn.net/pengyangyan/article/details/80115183
package com.test4; import java.io.IOException; import java.util.Iterator; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.GenericOptionsParser; public class CodeX { /** * @param args * @throws IOException * @throws InterruptedException * @throws ClassNotFoundException */ public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException { // TODO Auto-generated method stub Configuration conf = new Configuration(); conf.set("fs.default.name", "hdfs://localhost:9000"); String[] otherArgs = (new GenericOptionsParser(conf,args)).getRemainingArgs(); if(otherArgs.length<2){ System.err.println("Usage:CodeX<in><out>"); System.exit(2); } Job job = Job.getInstance(conf,"CodeX"); job.setJarByClass(CodeX.class); job.setMapperClass(CodeX.Map.class); System.out.println("Mapper over"); // job.setCombinerClass(CodeX.Reduce.class); job.setReducerClass(CodeX.Reduce.class); System.out.println("Reduce over"); job.setOutputKeyClass(Text.class); job.setOutputValueClass(Text.class); System.out.println("all over"); for(int i = 0;i<otherArgs.length-1;i++){ FileInputFormat.addInputPath(job, new Path(otherArgs[i])); } FileOutputFormat.setOutputPath(job, new Path(otherArgs[otherArgs.length-1])); System.exit(job.waitForCompletion(true)?0:1); } public static class Map extends Mapper<Object,Text,Text,Text>{ private Text text = new Text(); private Text keys = new Text(); private int no = 0; public Map(){ } public void map(Object key,Text value,Context context)throws IOException,InterruptedException{ String line = value.toString(); this.no +=1; System.out.println(this.no+line); String[] lines = line.split("\\s+"); for(int i =0;i<lines.length;i++){ System.out.print(lines[i]+" ~~"); } if(this.no == 1){ this.keys.set("股票编码:"+lines[0]); } if(this.no > 2){ if(lines.length == 7){ this.text.set(lines[0]+"+"+lines[1]+"+"+lines[4]); System.out.println(this.no+"---->"+lines[0]+"+"+lines[1]+"+"+lines[4]); context.write(this.keys, this.text); } } } } public static class Reduce extends Reducer<Text,Text,Text,Text>{ private Text text = new Text(); public void reduce(Text key,Iterable<Text> values,Context context) throws IOException, InterruptedException{ double sum1 = 0.0; double sum2 = 0.0; int n = 0; System.out.println("...................start"+key.toString()); Iterator<Text> $it = values.iterator(); while($it.hasNext()){ String record =$it.next().toString(); System.out.println(n); System.out.println("原始数据:"+record); n++; System.out.println("第"+n+"次循环"); String []result = record.split("[+]"); System.out.println(Double.valueOf(result[1])+" "+Double.valueOf(result[2])); sum1 +=(Double.valueOf(result[1])*100); sum2 +=(Double.valueOf(result[2])*100); System.out.println(sum1/100+" "+sum2/100); } System.out.println("最后的结果:"+sum1/100+" "+sum2/100); double openPrise = sum1/(100*n); double closePrise = sum2/(100*n); openPrise = (double)Math.round(openPrise*100)/100; closePrise = (double)Math.round(closePrise*100)/100; System.out.println("平均值:"+openPrise+" "+closePrise); Double.toString(closePrise); String result ="开盘平均价:"+Double.toString(openPrise)+", 收盘平均价:"+Double.toString(closePrise); this.text.set(result); context.write(key, this.text); } } }
四、运行程序后的统计结果:
在put文件时可能遇到的问题:
文件put不进到hdfs中,有可能是文件名里的符号问题,这时候只需要将文件名重命名即可,由于是大量文件,所以要一句shell命令对所有文件去除干扰符号,这里我输入的命令是:rename 's/\#60/60/' *.txt
重命名前:
重命名后:
当你cat一个文件后会发现其中的中文是乱码的,这是因为文件是GBK编码,只需要转换为utf-8即可。
命令为:conv -f gbk -t utf-8 1.txt>2.txt
大数据统计大量股票开盘平均价和收盘平均价相关推荐
- 关于大数据统计大量股票开盘平均价和收盘价的简单程序程序
1.需要统计的文件 2.单个文件的内容 3.程序内容 package com.test4; import java.io.IOException; import java.util.Iterator; ...
- Axure高保真移动端智能数据监控+用户画像+饼状图+条形图+折线图数据统计+抖音直播app用户数据统计+智慧移动端主播粉丝、评论、播放量大数据统计+套餐购买、续费套餐prd流程
作品介绍:Axure高保真移动端智能数据监控+用户画像+饼状图+条形图+折线图数据统计+直播app用户数据统计+智慧移动端主播粉丝.评论.播放量大数据统计+套餐购买.续费套餐prd流程 原型演示及下载 ...
- web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数据管理平台
作品介绍:原型内容包含:web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数 ...
- 京东手机电商大数据统计平台搭建
京东手机电商大数据统计平台搭建 一.虚拟机搭建 1.下载虚拟机 2.解压虚拟机 3.VMware扫描添加虚拟机 4.虚拟机网络说明 5.虚拟机已安装软件和框架说明 二.核心代码 三.数据展示环境搭建 ...
- 图解大数据 | 应用Map-Reduce进行大数据统计@实操案例
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/84 本文地址:http://www.showmeai.tech/article-det ...
- 大数据统计租房市场现状(上海篇)
对某方面有统计需求的同学可以留言哟~O(∩_∩)O~!!! 数据下载时间:20170620 房间均价:为了对比1房,2房,3房哪个比较划算引入的概念.一条出租信息中,平均每个房间的价格,例如:3房的房 ...
- 大数据统计租房市场现状(深圳篇)
对某方面有统计需求的同学可以留言哟~O(∩_∩)O~!!! 数据下载时间:20170611 平均房间价格:为了对比1房,2房,3房哪个比较划算引入的概念.一条出租信息中,平均每个房间的价格,例如:3房 ...
- 大数据统计租房市场现状(北京篇)
对某方面有统计需求的同学可以留言哟~O(∩_∩)O~!!! 数据下载时间:20170615 平均房间价格:为了对比1房,2房,3房哪个比较划算引入的概念.一条出租信息中,平均每个房间的价格,例如:3房 ...
- 分析大数据时代的股票期货市场及其分析意义400字
在大数据时代,股票期货市场受到了更多的关注,因为人们可以利用大数据技术来更好地分析市场趋势,并做出更明智的投资决策. 对于股票期货市场来说,大数据分析可以帮助投资者更好地了解市场动态,并做出更准确的投 ...
最新文章
- PHP 取302跳转后真实 URL 的两种方法
- 最大似然估计 (MLE) 最大后验概率(MAP)
- 基于Boost::beast模块的异步WebSocket服务器
- mysql 字符串类型
- python创建虚拟环境时出现拒绝访问_无法创建虚拟环境
- 3. 机器学习中为什么需要梯度下降_机器学习中一些模型为什么要对数据归一化?...
- Python学习第二天----网络基础及操作系统简介(安装linux系统)
- SWF反编译软件Action Script Viewer ASV2011/06发布
- Linux emacs考场配置及对拍脚本
- Eclipse安装插件支持jQuery智能提示
- MATLAB基本语法速成
- 水箱液位计算机控制系统设计,水箱水位PLC自动控制系统的设计_吕宁.pdf
- 争分夺秒的一晚和赛尔的烂网络
- [CTF]ROT5/13/18/47位移密码
- 面试官问你还有什么要问我的吗?
- 双侧检验的p值和单侧检验_t检验的时候怎么区分是单侧检验还是双侧呢?
- 跨境erp系统功能分析
- 二级分销跟差价收益有区别吗?
- 世界易学大会副主席孙志华斩获非全日制易学博士,倾情分享易学奥妙
- 转帖 金庸所有门派以及所有门派下的所有武功一览
热门文章
- 单片机实例2——模拟开关灯(硬件电路图+汇编程序+C语言程序)
- JavaScript的工作原理
- 影响线型缩聚物分子量的因素_线型缩聚物的分子量与分子量分布.ppt
- 一方库、二方库、三方库 概念
- Autocad 2007安装和序列号
- PySide+PyDesigner出现错误:This application failed to start because no Qt platform plugin could be initia
- 译《The Part-Time Parliament》——终于读懂了Paxos协议!
- PMP考试自学可以吗? 一分钟让你搞清楚
- 右脑发达学计算机好吗,学习右脑你必须知道的几件事
- hihoCoder #1082 : 然而沼跃鱼早就看穿了一切