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

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

  • 一、 任务描述
  • 二、 任务目标
  • 三、 任务环境
  • 四、 任务分析
  • 五、 任务实施
    • 步骤1、交互模式(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

使用Grunt shell方式交互处理数据_第1张图片

图片1 调用local模式Grunt shell

使用Grunt shell方式交互处理数据_第2张图片

图片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,
使用Grunt shell方式交互处理数据_第3张图片

图片4 启动hadoop服务

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

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

使用fs命令从Grunt shell调用HDFS的ls命令
在这里插入图片描述

图片6 查看hdfs的根目录

使用 clear 命令清除grunt shell的屏幕
使用Grunt shell方式交互处理数据_第5张图片

图片7 清除grunt shell的屏幕

history命令显示自Grunt shell被调用以来执行/使用的语句的列表(pig文件夹和pig_data文件已建好)
使用Grunt shell方式交互处理数据_第6张图片

图片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
使用Grunt shell方式交互处理数据_第7张图片

图片11 执行脚本文件

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

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

你可能感兴趣的:(数据处理,apache)