使用Grunt shell方式交互处理数据

简介: 使用Grunt shell方式交互处理数据

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址

全文共计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


5b79818f66d247b6ae06315358ed9c58.png


图片1 调用local模式Grunt shell

dd2294f159be4ec29a716567185cf2d3.png



图片2 调用mapreduce模式Grunt shell


可以使用“[ctrl+c]”或输入quit命令退出Grunt shell


f5609930298048b78f8e437d2c42f141.png


图片3 退出Grunt shell

步骤2、Shell 命令的使用

执行命令:start-all.sh和mr-jobhistory-daemon.sh start historyserver启动hadoop服务,再执行命令:pig -x mapreduce进入Grunt shell,


7cea561a960e4a9299e68b93c9cfedaa.png

图片4 启动hadoop服务


使用 sh 命令,我们可以从Grunt shell调用任何shell命令,但无法执行作为shell环境( ex - cd)一部分的命令,例如使用命令“sh ls /“查看根目录下的文件(如果不写路径的话默认查看当前目录下)

c6b74b0bc6144fda9f70d899ee61d186.png


图片5 查看根目录下的文件


使用fs命令从Grunt shell调用HDFS的ls命令

6e114c7741414def9558f2d502befa2a.png


图片6 查看hdfs的根目录


使用 clear 命令清除grunt shell的屏幕

db3dbdfdb9954561ba1d8ad3eb9dc567.png


图片7 清除grunt shell的屏幕


history命令显示自Grunt shell被调用以来执行/使用的语句的列表(pig文件夹和pig_data文件已建好)

14ca506b7005409c8fbc8b8d964ac9f8.png


图片8 显示历史执行语句


使用 exec 命令可以从Grunt shell执行Pig脚本,再开一个终端在/home执行命令 touch simple.pig新建文件,并写入下图内容

3f9f6634cf7e4d1e90dbce524df6a9be.png


图片9 新建脚本文件


执行命令:hadoop fs -put /home/simple.pig /pig上传pig脚本


2e67dc379b8f4f8d96d57f72b828b881.png

图片10 上传文件到hdfs


在Grunt shell界面执行命令exec hdfs://lcoalhost:9000/pig/simple.pig


f4e1613da0f84e06ae92c19d0cde5040.png

图片11 执行脚本文件


注意: exec 和 run 命令之间的区别是,如果使用run,则脚本中的语句在history命令中可用。


♥ 温馨提示

如果使用到hdfs,必须启动hadoop服务;注意sh和fs命令调用的是不同的命令


相关文章
|
28天前
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux读取、转换并输出数据 dd命令使用教程
【Shell 命令集合 磁盘管理 】Linux读取、转换并输出数据 dd命令使用教程
31 0
|
27天前
|
算法 Shell Linux
【Shell 命令集合 备份压缩 】⭐Linux 压缩 恢复bzip2损坏数据 bzip2recover命令 使用指南
【Shell 命令集合 备份压缩 】⭐Linux 压缩 恢复bzip2损坏数据 bzip2recover命令 使用指南
31 0
|
3月前
|
Shell Linux Perl
linux逐行逐列(分号分隔)读取数据shell
linux逐行逐列(分号分隔)读取数据shell
22 3
|
28天前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
40 1
|
3月前
|
监控 Shell
在Shell脚本编程或命令行交互
在Shell脚本编程或命令行交互
28 3
|
24天前
|
存储 算法 Shell
【Linux 环境变量相关】深入理解Linux下 CMake、Shell 与环境变量的交互(二)
【Linux 环境变量相关】深入理解Linux下 CMake、Shell 与环境变量的交互
44 0
|
28天前
|
存储 缓存 Shell
【Shell 命令集合 磁盘维护 】⭐⭐⭐Linux 将文件系统的缓冲区数据立即写入磁盘 sync 命令使用教程
【Shell 命令集合 磁盘维护 】⭐⭐⭐Linux 将文件系统的缓冲区数据立即写入磁盘 sync 命令使用教程
37 1
|
7月前
|
JSON 监控 Shell
用shell脚本如何获取grafana上的监控数据
用shell脚本如何获取grafana上的监控数据
158 2
|
4月前
|
缓存 自然语言处理 Shell
xv6(19)SHELL交互程序
SHELL交互程序
62 0
|
4月前
|
NoSQL Shell 数据安全/隐私保护
搞定shell脚本expect自动化交互输入密码等就是这么简单
搞定shell脚本expect自动化交互输入密码等就是这么简单
157 0