Pig股票交易数据处理
实训目的
- 从daily_stocks.csv
- 文件导入股票交易数据
- 对数据进行分组
- 计算股票的价格,包括平均最高最低价格,平均开盘收盘价格
- 将计算的数据导出
实训内容
1. 认识数据
- 文件daily_stocks.csv文件中保存的是65020条股票交易数据,各列说明如下。
2. 环境准备
- 安装pig
教程推荐 https://blog.csdn.net/qq_42881421/article/details/84331794
- 启动hadoop环境
- 启动grunt shell。
pig
3. 数据上传
- 将数据文件daily_stocks.csv上传到HDFS的/pig_input目录下,并查看是否上传成功。
hadoop fs -put ~/data/daily_stocks.csv /pig_input
hadoop fs -ls /pig_input
4. 加载数据
- 将daily_stocks.csv中的数据加载到名为stock的关系中,
- 在grunt shell中输入如下命令:
#注意自己设置的端口
stock = LOAD 'hdfs://hadoop102:8020/pig_input/daily_stocks.csv' USING PigStorage(',') as (exchange:chararray,symbol:chararray,date:chararray,stock_price_open:double,stock_price_high:double,stock_price_low:double,stock_price_close:double,stock_volume:double,stock_price_adj_close:double);
- 并查看数据的前十行:
5. 数据分组
- 按交易所(exchange)进行分组,将结果保存到名为stock_exc_grp的关系中并检查分组结果:
stock_exc_grp = GROUP stock BY exchange;
dump stock_exc_grp;
6. 统计交易所数量
- 根据分组后的数据,统计出每只股票有几家交易所可进行交易:
unique_symbols = FOREACH stock_exc_grp {symbols = stock.symbol;unique_symbol = DISTINCT symbols;GENERATE group, COUNT(unique_symbol);};
- 显示结果
dump unique_symbols;
7. 统计平均开盘收盘价
- 将stock关系按照股票代码(symbol)进行分组,并统计每只股票的平均开盘与收盘价格:
stock_symbol_grp = GROUP stock BY symbol;avg_stock_price_opens_closes = FOREACH stock_symbol_grp {stock_price_open = stock.stock_price_open;stock_price_close = stock.stock_price_close;GENERATE group, AVG(stock_price_open),AVG(stock_price_close); };dump avg_stock_price_opens_closes;
8. 统计平均最高最低价
- 统计每只股票的平均最高和最低价格
avg_stock_price_high_low = FOREACH stock_symbol_grp {stock_price_high = stock.stock_price_high;stock_price_low = stock.stock_price_low;GENERATE group, AVG(stock_price_high),AVG(stock_price_low);};dump avg_stock_price_high_low;
9. 导出数据
- 将avg_stock_price_high_low, avg_stock_price_opens_closes 和 unique_symbols导出HDFS
文件系统中
store unique_symbols into 'unique_symbols' using PigStorage(',');store avg_stock_price_opens_closes into 'avg_stock_price_opens_colses' using PigStorage(',');store avg_stock_price_high_low into 'avg_stock_price_high_low' using PigStorage(',');
- 查看导出的数据
hadoop fs -ls /user/root
hadoop fs -cat /user/root/unique_symbols/part-r-00000
实训总结
- Pig包括两部分:用于描述数据流的语言,称为Pig Latin;和用于运行Pig Latin程序的执行环境。
- Pig不适合所有的数据处理任务,和MapReduce一样,它是为数据批处理而设计的。如果只想查询大数据集中的一小部分数据,pig的实现不会很好,因为它要扫描整个数据集或绝大部分。
- Pig Latin 程序有一系列语句构成。操作和命令是大小写无关的,而别名和函数名是大小写敏感的。
- Pig处理多行语句时,在整个程序逻辑计划没有构造完毕前,pig并不处理数据。
Pig股票交易数据处理相关推荐
- Pig的安装和简单使用
1.Pig是基于hadoop的一个数据处理的框架. MapReduce是使用java进行开发的,Pig有一套自己的数据处理语言,Pig的数据处理过程要转化为MR来运行. 2.Pig的数据处理语言是数据 ...
- 大数据处理架构Hadoop
Hadoop项目结构 Hive 数据仓库:把SQL语句转换成MapReduce作业 Pig流数据处理:一个基于Hadoop的大规模数据分析平台提供类似SQL的查询语言pig Latin Oozie作业 ...
- 使用 Pig 进行数据分析
本文,我们将以一个具体案例说明,如何通过Pig--这一便捷的框架,进行数据的处理与分析工作. (1) 上传待分析文件到 hdfs: 比如我们要处理的用户上网日志信息,下载地址,上网日志数据(hadoo ...
- 从技术上解读大数据的应用现状和开源未来
来源:网络大数据 作者 | 韩锐. Lizy Kurian John.詹剑锋 摘要:近年来,随着大数据系统的快速发展,各式各样的开源基准测试集被开发出来,以评测和分析大数据系统并促进其技术改进.然而, ...
- 从技术上解读大数据的应用现状和开源未来! | 技术头条
作者 | 韩锐. Lizy Kurian John.詹剑锋 责编 | 胡巍巍 近年来,随着大数据系统的快速发展,各式各样的开源基准测试集被开发出来,以评测和分析大数据系统并促进其技术改进.然而,迄今为 ...
- 物联网与大数据技术-3
物联网与大数据技术(Hadoop篇) 一.Hadoop简介 1.Hadoop介绍 2.Hadoop诞生的关键论文 二.Hadoop发展史 三.Hadoop特点 四.Hadoop结构组成 1.HDFS ...
- 再度学习大数据技术与应用(厦门大学林子雨)
再度学习大数据技术与应用(厦门大学林子雨) 4V概念 大数据 -结构化数据与非结构化数据组成 数据量大 处理速度快 (秒级决策) 价值密度低 商业价值高 大数据概念和影响 以数据为驱动去发现和解决问题 ...
- 使用pig对钓鱼网站链接url做词频统计【大数据处理与分析技术】
使用pig对钓鱼网站链接url做词频统计(大数据处理与分析技术) 数据展示:(verified_online.csv) grunt> A = load 'verified_online.csv' ...
- 2019 年,Hadoop 还是数据处理的可选方案吗?
来自:网络大数据 目前云驱动数据处理和分析呈上升趋势,我们在本文中来分析下,Apache Hadoop 在 2019 年是否还是一个可选方案. 从我第一次使用 Apache Hadoop 生态系统开始 ...
最新文章
- setup.py安装
- python 基础之第四天
- 华科硕士,一个优秀的数据分析师
- Docker通过Cgroup 资源配置
- 字数监控,价格监控等
- Factories Gym - 102222G(2018宁夏邀请赛暨2019银川icpc网络预选赛)
- Elasticsearch的Groovy Script自定义评分检索
- Java应用程序中的验证
- 带你理解Spring AOP
- PAT乙类之1011 A+B 和 C
- 爬虫-保存cookie到本地-利用MozillaCookieJar
- 在C/C++函数中使用可变参数
- Android IOS WebRTC 音视频开发总结(六二)-- 大数据解密国外实时通讯行业开发现状...
- Dubbo与Zookeeper伪集群部署
- 4.1 制定项目章程
- LEF和GDS匹配问题
- Andromeda:适用于多进程架构的组件通信框架
- 基于Matlab-gui信号系统设计
- 计算机上的mrc代表,mrc是什么?
- Nginx的模块与工作原理
热门文章
- 加密(对称、非对称),签名(算法),指纹和指纹算法,认证证书CA
- 产品创新设计:品牌价值提升的主要途径
- 销售文案里的促销价格怎样设置更有效?
- 学生时代最喜欢的球星
- b站看老九学习c++中的杂记
- 网页代码各种名称及作用 HTML全部
- 应用计算机测定线性电阻电路图和实物图,中国大学MOOC电子线路设计、测试与实验二网课答案...
- 2021合工大计算机专业复试线,2021合肥工业大学研究生分数线一览表(含2019-2020历年复试)...
- C语言 | scanf函数
- Yarn启动报错,ERROR: Cannot set priority of registrydns process xxxxx