Pig安装与部署
作者:互联网
什么是Pig?
Pig是一种数据流语言和运行环境,常用于检索和分析数据量较大的数据集。Pig包括两部分:一是用于描述数据流的语言,称为Pig Latin;二是用于运行Pig Latin程序的执行环境。
Pig与Hive的区别?
Pig与Hive作为一种高级数据语言,均运行于HDFS之上,是hadoop上层的衍生架构,用于简化hadoop任务,并对MapReduce进行一个更高层次的封装。Pig与Hive的区别如下:
1、Pig是一种面向过程的数据流语言;Hive是一种数据仓库语言,并提供了完整的sql查询功能。
2、Pig更轻量级,执行效率更快,适用于实时分析;Hive适用于离线数据分析。
3、Hive查询语言为Hql,支持分区;Pig查询语言为Pig Latin,不支持分区。
4、Hive支持JDBC/ODBC;Pig不支持JDBC/ODBC。
5、Pig适用于半结构化数据(如:日志文件);Hive适用于结构化数据。
Pig 有两种运行模式:
Local 模式:Pig 运行于 Local 模式,只涉及到单独的一台计算机
MapReduce 模式:Pig 运行于 MapReduce 模式,需要能访问一个 Hadoop 集群,并且需要装上 HDFS
Pig 的调用机制:
Grunt shell 方式:通过交互的方式,输入命令执行任务。
Pig script 方式:通过 script 脚本的方式来运行任务。
嵌入式方式:嵌入 java 源代码中,通过 java 调用来运行任务。
一、安装Pig(前提已经启动Hadoop)
wgat http://archive.apache.org/dist/pig/pig-0.17.0/pig-0.17.0.tar.gz #下载
tar -zxvf pig-0.15.0.tar.gz #解压
二、 部署Pig
设置环境变量
vim /etc/profile
export PIG_HOME=/soft/pig
export PATH=$PIG_HOME/bin
修改完成后,我们输入以下命令激活我们修改的环境变量
source /etc/profile
pig -version # 激活后就可以查看到我们的版本号
三、运行
Local 模式
本地运行模式下,Pig运行在单个JVM中,访问本地文件系统,该模式用于测试或处理小规模数据集。
pig -x local
运行机制
(1) Grunt Shell 方式
Grunt Shell方式Grunt Shell和Windows中的DOS窗口非常类似,在这里用户可以一条一条地输入命令对数据进行操作,我们来简单的读一个文件,启动命令如下所示。
a = load '/root/test/student.txt' using PigStorage(':');
dump a ;
查看我们读取的数据
(2)脚本文件
脚本文件方式使用脚本文件作为批处理作业来运行Pig命令,它实际上是第一种运行方式中命令的集合,使用如下命令可以运行Pig脚本。
test.pig 脚本内容如下
pig -x local /root/test/test.pig
(3)嵌入式程序方式
我们可以把 Pig 命令嵌入到主机语言中,并且运行这个嵌入式程序。和运行普通的 Java 程序相同,这里需要书写特定的 Java 程序,并且将其编译生成对应的 class 文件或 package 包,然后再调用 main 函数运行程序。用户可以使用下面的命令对 Java 源文件进行编译:
$javac -cp pig-*.*.*-core.jar local.java
这里“ pig-*.*.*-core.jar ”放在 Pig 安装目录下,“ local.java ”为用户编写的 java 源文件,并且“ pig-*.*.*-core.jar ”和“ local.java ”需要用户正确地指定相应的位置。例如,我们的“ pig-*.*.*-core.jar ”文件放在“ /root/hadoop-0.20.2/ ”目录下,“ local.java ”文件放在“ /root/pigTmp ”目录下,所以这一条命令我们应该写成:$javac -cp /root/hadoop-0.20.2/ pig- 0 . 20 . 2 -core.jar /root/pigTmp/ local.java当编译完成后, Java 会生成“ local.class ”文件,然后用户可以通过如下命令调用执行此文件。
MapReduce 模式
在MapReduce运行模式下,Pig访问HDFS,并将查询翻译为MapReduce任务提交到Hadoop集群中进行处理。
需要我们将文件上传至HDFS,在HDFS上创建一个input目录并将数据上传
与Local模式相同
标签:java,部署,安装,Hive,pig,Pig,local,运行 来源: https://blog.csdn.net/weixin_54051652/article/details/123135270