《大数据技术与应用》课程实验报告|week12|实验8|Pig——高级编程环境|验证评估函数

news2024/11/17 0:01:23

目录

 一、实验内容

二、实验目的

三、实验设备

四、实验步骤

步骤一

步骤二

步骤三

步骤四

步骤五

步骤六

步骤七

步骤八

步骤九

步骤十

步骤十一

步骤十二

步骤十三

步骤十四

步骤十五

步骤十六

五、实验结果

六、实验小结


  一、实验内容

验证19.5节中的Pig评估函数的示例。

二、实验目的

在MapReduce框架中,程序需要被转换为一系列的Map和Reduce阶段。可是,这不是数据分析者熟悉的编程模式。因此,为了对这个鸿沟搭建一座桥梁,建筑在Hadoop之上的、被称为Pig(猪)的抽象运用而生。Pig是一种高级编程语言,用于分析大型数据集。

三、实验设备

PC

四、实验步骤

步骤一

读入/home/biadmin/SampleDate/books.csv文件;

books=load '/home/biadmin/sampleData/books.csv' using PigStorage(',') 

as(bknum:int,author:chararray,book:chararray,pubyear:int);

步骤二

读入/home/biadmin/SampleData/reviews.csv文件

reviews=load '/home/biadmin/sampleData/reviews.csv' using PigStorage(',') 

as (bknum:int,reviewer:chararray,stars:int);

步骤三

用pubyear对books关系分组。

bookInYear = group books by pubyear;

也可以用Dump命令给出清单:

步骤四

计算每年出版的书的数量。

bookPerYear = foreach bookInYear generate group,COUNT($1);

 dump bookPerYear;

步骤五

计算每本书的平均星级。先在bknmu上连接books关系和reviews关系。

booksAndReviews = join books by bknum,reviews by bknum;

同样用dump命令列出清单:dump booksAndReviews;

步骤六

投影一个新的关系,只能处理书名和每个阅读者给出的评价星级。

booksAndStars = foreach booksAndReviews generate book,stars; 

步骤七

用book tilele对booksAndStars关系分组。

starsInBooks = group booksAndStars by book;

步骤八

查看starsInBooks的模式,代码:describe starsInBooks;

步骤九

使用FOREACH运算符。访问book title很容易,使用booksAndStars来引用stars。代码:

avgStars = foreach starsInBooks generate group,AVG(booksAndStars.stars);

dump avgStars;

步骤十

 把星级所具有的值作为双精度的值如果不是想要的结果。在计算平均时,我们不能给出半颗星或三分之一颗星,我们也许想让它保留整数。为此,将平均值转换为int(整数)。代码:

avgStars = foreach starsInBooks generate group,(int)AVG(booksAndStars.stars);

dump avgStars;

想要筛选出四星级的评级,可用具有嵌套块的FOREACH运算符。

代码:

bogusAvgStars = for each starsInBooks {filteredStars = filter 

booksAndStars bystars > 3;

numStars = filteredStars.stars;

generate group,(int)AVG(numStars);}

dump bogusAvgStars

步骤十一

 使用EXPLAIN运算符,可以获得并理解Pig如何要解决一个特殊的MapReduce问题。explain bogusAvgStars; 

步骤十二

快速查看从Grunt shell运行的hdfs命令。如果没有Grunt shell,在本地模式下打开,执行命令:./pig -x local;

步骤十三

 使用FSShell命令从Grunt shell中列出当前目录。执行命令:fs -ls; 

步骤十四

 从Pig的本地模式下退出。执行命令:quit; 

步骤十五

在MapReduce模式中调用Grunt shell。请记住它是默认模式。./pig;

步骤十六

 执行FSShell并列出目录。fs -ls;所列的数据在hdfs中。  

五、实验结果

如果想要在本地运行,执行命令:./pig -x local

根据前三个步骤我们可以得到分组结果

每年出版书的数量:

平均星级:

六、实验小结

Pig由两个组件构成:

(1)Pig Latin,编程语言

(2)运行环境,用来运行PigLatin程序。

Pig有两个执行模式: 

(1)本地模式。在该模式中,Pig运行在单个的JVM上并使用本地文件系统。这个模式仅适用于用Pig分析小数据集。

(2)MapReduce模式。在此模式下,以PigLatin编写的查询被转换为MapReduce作业,并在Hadoop集群(集群可能是伪分布式或完全分布式)上运行。具有完全分布式集群的MapReduce模式用于运行较大规模的数据集。

如果Hadoop没有运行,使用桌面上的图标启动Hadoop及其组件。右击桌面并选择Open in Terminal,进入命令行。我们既可以选择从Grunt shell也可以选择从Pig脚本来运行Pig命令。无论哪种情况,都需要变动到Pig bin目录并在本地模式下启动shell运行。  


(于 2023-06-05 15:31:45 发布)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/611980.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚马逊云科技携手木卫四,为汽车行业智能安全赋能

木卫四(北京)科技有限公司在汽车网络安全领域拥有独特专业知识,其融合人工智能算法的安全检测引擎可以不依赖车辆中安装的代理软件,只需几周即可快速部署实施,是汽车网络安全领域的技术领先者。 在亚马逊云科技初创团…

chatgpt赋能python:Python同一行多个语句:如何提高你的编程效率?

Python同一行多个语句:如何提高你的编程效率? Python是一种优雅的编程语言,拥有简洁易懂的语法,可以帮助你快速编写可以在各种领域使用的高级代码。其中,Python同一行多个语句,是一种可以大大提高编程效率…

Springboot +spring security,基于内存模型实现授权

一.简介 1.1概念 所谓授权,举个例子:某个用户想要访问某个资源(接口、页面、功能等),我们应该先去检查该用户是否具备对应的权限,如果具备就允许访问,如果不具备,则不允许访问。也就是说,授权…

第二十二章行为型模式—备忘录模式

文章目录 备忘录模式解决的问题结构实例“白箱” 备忘录模式“黑箱” 备忘录模式 存在的问题适用场景 行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,它涉及算法与对象间职责的分…

【QQ聊天界面、创建模型、懒加载数据 Objective-C语言】

一、今天我们要做的就是这个案例 1.我们今天要做的案例,做好了之后的效果就是这样 这个案例,和昨天那个微博的案例是非常相像的, 哪些相像呢, 1)整体是不是也是能滚动啊, 2)能滚动,它不仅仅是一个UIScrollView 它里面,这个也是一行、两行、三行、四行、 所以说,…

Java核心知识点常考面试题(持续更新中)

Java核心知识点常考面试题(持续更新中) 线程与线程池Java锁机制轻量级锁重量级锁 线程与线程池 一、线程 1、线程的状态 2、线程的创建方式 (1)继承 Thread 类; (2)实现 Runnable 接口&#…

大学计算机专业 学习Python学习路线图(最新版)

这是我刚开始学习python时的一套学习路线,从入门到上手。(不敢说精通,哈哈~) 希望对大家有帮助哈~ 大家需要高清得完整python学习路线可以 一、Python入门、环境搭建、变量、数据类型 二、数据库编程 三、Linux系统 四、网页编…

工信部—高级软件开发工程师认证

工业和信息化部教育与考试中心是工业和信息化部直属事业单位,承担计算机技术与软件专业技术资格考试、通信专业技术人员职业水平考试、电子通信行业职业技能鉴定、全国信息技术人才培养工程、产业工人网络平台建设等人才培养选拔工作。 软件工程师(Software Enginee…

京东数据分析软件工具(京东618销量查询)

这一期,我们主要分享今年618京东美妆的预售数据,包括面部护肤、香水彩妆、男士面部护肤品类。 -面部护肤- 今年618,面部护肤品类在京东累计预售量达到130万件,预售额达到13亿元。预售期间,护肤品类均价在1010元左右。期…

计算机中丢失VCRUNTIME140_1怎么办,vcruntime140_1.dll的三个修复方法

vcruntime140_1.dll是一个Windows系统文件,它是Microsoft Visual C Redistributable for Visual Studio 2019软件包的一部分,用于运行使用Visual C开发的应用程序。在我们打开软件或者游戏的时候,提示计算机中丢失VCRUNTIME140_1怎么办&#…

刷完它,最少17K,真的不能再少了····

金3银4已经过去了,金9银10也快来了,你找到工作了吗?薪资多少k?8K?13K?17? 最近有不少小伙伴在后台给我留言,说最近准备面试了,但是不知道从何下手! 既然大家…

鲁大师5月新机性能/流畅/久用榜:蓝绿厂霸榜,天玑9200+与高通骁龙8 Gen2迎来首次交锋

性能榜 6.18年中购物节前夕,一众厂商开始扎堆发布新机冲销量,也导致本月的新发机型数量达到了19款。 从品牌来看,ov两家和其子品牌、独立品牌就占据了十二台。从机型定位来看,本月的手机竞争主要围绕中端市场,除了索尼…

【Log】大三的最后一个项目,所以我到底是不是恋爱脑?

文章目录 梦开始的地方核心功能恋爱相册(LoveAlbum)恋爱日志(LoveLogs)爱情邮局(LovePostOffice)时间线(TimeLine)待办列表(LoveList) 技术栈 梦开始的地方 …

STM32单片机WIFI智能语音家居窗户窗帘空调灯控制系统OLED显示

实践制作DIY- GC0139-WIFI智能语音家居窗户窗帘空调灯控制系统 基于STM32单片机设计---WIFI智能语音家居窗户窗帘空调灯控制系统 二、功能介绍: 件组成:stm32103 系列单片机,OLED 显示屏模块,语音识别模块,DTH11温湿度…

掌握了这些技术后,才发现进大厂,也没有那么难...

为了帮助大家快速回顾学习软件测试中的知识点:这套学习笔记,面试手册是由多位一线大牛老师联手打造3个月制作而成,几乎涵盖了所有的软件测试技术栈。掌握它们才发现进大厂,也没有那么难 全网首发!非常珍贵&#xff0c…

控制算法工程师的工作职责(合集)

控制算法工程师的工作职责1 职责: 1、准确地控制密闭容器的气体或液体的压力,以供校准其他压力表使用; 2、准确地控制温度场的精度,以供校准其他温度计使用; 3、根据不同的控制方案和执行机构/加热制冷方式;测试其特性、建立数学模型、设计算…

运维小白必学篇之基础篇第十五集:FTP实验

FTP实验 实验者:胡 阳 匿名用户验证: 例:(前提配置,防火墙关闭,yum安装,同模式vmware11) 现有一台计算机huyanggw(视作服务端),IP地址为192.1…

仙境传说RO:添加商店物品教程

仙境传说RO:添加商店物品教程 我是艾西,今天跟大家分享下仙境传说RO游戏中我们自己怎么创建商店卖东西装备等,首先看看下图以及自己创建商店时需要在文档里创建的脚本格式 //*------------------shop普通商店------------------ //带坐标的…

介绍如何使用反向传播的 CNN 接受场计算以及代码讲解

在上一篇文章中,我们学习了如何对任意大小的图像进行分类并可视化网络的响应图。 图 1:“骆驼”类激活的边界框。 在图 1 中,请注意骆驼的头部几乎没有突出显示,响应贴图包含大量沙子纹理。边界框也明显关闭。 有些事情是不对的。 我们使用的 ResNet18 网络非常准确,实…

win11系统内存完整性不兼容驱动程序查找删除教程

近期很多用户都对进行了升级更新,但是出现了很多不兼容的情况,导致内存完整性关闭了,想要开启就需要删除不兼容的驱动程序,关于这个问题,我就来分享查找和删除的方法,希望能够帮助到更多的用户。 当您考虑…