楼主: 我的素质低
3025 0

[Hadoop] 〖摘·hadoop〗pig与Grunt shell(六) [推广有奖]

已卖:2774份资源

学术权威

83%

还不是VIP/贵宾

-

TA的文库  其他...

〖素质文库〗

结构方程模型

考研资料库

威望
8
论坛币
23391 个
通用积分
28308.6707
学术水平
2705 点
热心指数
2881 点
信用等级
2398 点
经验
228006 点
帖子
2968
精华
52
在线时间
2175 小时
注册时间
2012-11-24
最后登录
2024-1-13

一级伯乐勋章 初级学术勋章 初级热心勋章 初级信用勋章 中级热心勋章 中级学术勋章 中级信用勋章 高级学术勋章 高级热心勋章 高级信用勋章 特级学术勋章

楼主
我的素质低 学生认证  发表于 2015-3-17 21:54:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Hadoop使用方法(六)




1.1 编写目的


介绍pig,一个不得不说的hadoop的扩展。





1.2 什么是pig


      Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。





1.3 pig的特点




1、专注于于大量数据集分析(ad-hoc analysis , ad-hoc 代表:a solution that has been custom designed for a specific problem );
      2、运行在集群的计算架构上,Yahoo Pig 提供了多层抽象,简化并行计算让普通用户使用;这些抽象完成自动把用户请求queries翻译成有效的并行评估计划,然后在物理集群上执行这些计划;
     3、提供类似 SQL 的操作语法;
     4、开放源代码;





1.4 pig的主要用户




1、yahoo

2、twitter

1.5 关于pig和hive

对于开发人员,直接使用Java APIs可能是乏味或容易出错的,同时也限制了Java程序员在Hadoop上编程的运用灵活性。于是Hadoop提供了两个解决方案,使得Hadoop编程变得更加容易。

•Pig是一种编程语言,它简化了Hadoop常见的工作任务。Pig可加载数据、表达转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(如日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。


•Hive在Hadoop中扮演数据仓库的角色。Hive添加数据的结构在HDFS(hive superimposes structure on data in HDFS),并允许使用类似于SQL语法进行数据查询。与Pig一样,Hive的核心功能是可扩展的。

Pig和Hive总是令人困惑的。Hive更适合于数据仓库的任务,Hive主要用于静态的结构以及需要经常分析的工作。Hive与SQL相似促使 其成为Hadoop与其他BI工具结合的理想交集。Pig赋予开发人员在大数据集领域更多的灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的 应用程序。Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java APIs可大幅削减代码量。正因为如此,Pig仍然是吸引大量的软件开发人员。





第2章 安装pig





2.1 下载pig


下载pig的最新版本:


http://www.apache.org/dyn/closer.cgi/pig

我下载的是pig-0.10.0.tar.gz  


2.2 安装pig



解压缩

tar zxvf pig-0.10.0.tar.gz



进入目录

cd pig-0.10.0


注意,pig是hadoop的工具,所以不需要修改原hadoop的配置。


将pig加入到环境变量中:

输入

cd ~

进入到用户主目录

vi .bashrc

最下边加入环境变量的配置

保存然后执行


. .bashrc


输入 pig -help进行测试,如果设置成功,则出现如下界面



如果想获取pig的源码,可以使用svn下载


http://svn.apache.org/repos/asf/pig/trunk






2.3 配置hadoop


进入目录$PIG_HOME/conf

修改配置文件,在pig.properties中加入

fs.default.name=hdfs://localhost:9000

mapred.job.tracker=localhost:9001

指向本地伪分布式的hdfs和mapreduce

在本地运行pig

pig -x local

得到如下界面

和hadoop一起运行

直接输入pig或者pig -x mapreduce

有可能出现下面的错误

Cannot find hadoop configurations in classpath (neither hadoop-site.xml nor core-site.xml was found in the classpath).

需要配置~/.bashrc或者/etc/profile,建议配置.bashrc文件,加入

export HADOOP_HOME=/home/hadoop/hadoop-1.0.3

export PIG_CLASSPATH=$HADOOP_HOME/conf

配置完成后可正常进入



3 Grunt shell




3.1 基本命令




Quit 退出grunt

kill hadoopID 终止正在运行的hadoop进程

set debug on 打开debug级别

使用命令包括:

help,quit,kill jobid,set debug [on|off],set job.name ‘jobname’

文件命令包括:

cat,cd,copyFromLocal,copyToLocal,cp,ls,mkdir,mv,pwd,rm,rmf,exec,run



3.2 查询测试




到安装目录下找到/tutorial/data/excite-sall.log文件,数据分为3列,按制表符分隔,第一列为用户ID,第二列为Unix时间戳,第三列为查询记录。

输入如下语句:

grunt> log = LOAD 'tutorial/data/excite-small.log' AS (user,time,query);

将数据装载到一个称为log的别名中。

查询返回4个元组并显示:

grunt> lmt = LIMIT log 4;

grunt> DUMP lmt;


得到结果:


更多的相关的使用与配置已整理到

http://code.google.com/p/mycloub/



(来自:小象学院)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Grunt shell Hadoop Shell Shel Had hadoop pig Grunt shell

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
niuniuyiwan + 100 + 100 + 5 + 5 + 5 精彩帖子
daazx + 3 + 3 精彩帖子

总评分: 经验 + 100  论坛币 + 100  学术水平 + 8  热心指数 + 8  信用等级 + 5   查看全部评分

本帖被以下文库推荐

心晴的时候,雨也是晴;心雨的时候,晴也是雨!
扣扣:407117636,欢迎一块儿吐槽!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 18:07