申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
全文共计1531字,阅读大概需要3分钟
一、 任务描述
本实验任务主要完成基于ubuntu环境使用Pig的Grunt shell界面的数据处理,通过完成本实验任务,要求学生了解并掌握Grunt shell,Pig也可以使用shell界面进行数据处理,为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。
二、 任务目标
掌握进入Grunt shell的方法以及学会shell中的一些基本操作
三、 任务环境
本次环境是:Ubuntu16.04+Pig-0.17.0
四、 任务分析
调用Grunt shell后,可以在shell中运行Pig脚本。除此之外,还有由Grunt shell提供的一些有用的shell和实用程序命令。
Shell 命令:
Apache Pig的Grunt shell主要用于编写Pig Latin脚本。在此之前,我们可以使用 sh 和 fs 来调用任何shell命令。
实用程序命令:
Grunt shell提供了一组实用程序命令。这些包括诸如clear,help,history,quit和set等实用程序命令;以及Grunt shell中诸如 exec,kill和run等命令来控制Pig。
♥ 知识链接
模式(Schema)
Pig的一个关系可以有一个关联的模式,模式为关系的字段指定名称和类型。Pig的这种模式声明方式和SQL数据库要求数据加载前必须先声明模式截然不同,Pig设计的目的是用于分析不包含数据类型信息的纯文本输入文件的。所以尽量使用定义模式,会让程序运行地更高效。
五、 任务实施
步骤1、交互模式(Grunt shell)的进入与退出
使用“-x”选项以所需的模式(local/MapReduce)调用Grunt shell
图片1 调用local模式Grunt shell
图片2 调用mapreduce模式Grunt shell
可以使用“[ctrl+c]”或输入quit命令退出Grunt shell
图片3 退出Grunt shell
步骤2、Shell 命令的使用
执行命令:start-all.sh和mr-jobhistory-daemon.sh start historyserver启动hadoop服务,再执行命令:pig -x mapreduce进入Grunt shell,
图片4 启动hadoop服务
使用 sh 命令,我们可以从Grunt shell调用任何shell命令,但无法执行作为shell环境( ex - cd)一部分的命令,例如使用命令“sh ls /“查看根目录下的文件(如果不写路径的话默认查看当前目录下)
图片5 查看根目录下的文件
使用fs命令从Grunt shell调用HDFS的ls命令
图片6 查看hdfs的根目录
使用 clear 命令清除grunt shell的屏幕
图片7 清除grunt shell的屏幕
history命令显示自Grunt shell被调用以来执行/使用的语句的列表(pig文件夹和pig_data文件已建好)
图片8 显示历史执行语句
使用 exec 命令可以从Grunt shell执行Pig脚本,再开一个终端在/home执行命令 touch simple.pig新建文件,并写入下图内容
图片9 新建脚本文件
执行命令:hadoop fs -put /home/simple.pig /pig上传pig脚本
图片10 上传文件到hdfs
在Grunt shell界面执行命令exec hdfs://lcoalhost:9000/pig/simple.pig
图片11 执行脚本文件
注意: exec 和 run 命令之间的区别是,如果使用run,则脚本中的语句在history命令中可用。
♥ 温馨提示
如果使用到hdfs,必须启动hadoop服务;注意sh和fs命令调用的是不同的命令