hadoop初级班(五)

本文是Hadoop初级课程的一部分,重点介绍Pig及其在数据分析中的应用。Pig作为Hadoop的客户端,提供了一种类似SQL的Pig Latin语言进行数据处理,适合不熟悉Java的用户。在CentOS系统中,设置了环境变量后,可以在本地或集群模式下通过grunt shell操作Pig。Pig的工作模式包括本地和MapReduce,提供了多种运行方式和数据类型,如Bag、Tuple和Field。通过load、filter、foreach、dump和store等语句,可以实现数据的加载、过滤、聚合和存储。文中还举例说明了如何找出每年的最大温度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考炼数成金课程及hadoop权威指南

本次课程主要讲述pig

pig可以看做是hadoop的客户端软件,可以连接到hadoop集群进行数据分析工作。pig方便不熟悉java的用户,使用一种较为简便的类似于SQL的面向数据流的语言pig Latin进行数据处理,是一种轻量级的脚本语言。

pig可以看成是个映射器,pig latin是被映射成mapreduce来执行的。

下载:

在官网上下载pig,有包括debian在内的各种版本可供下载

编辑环境变量:


这是centos系统

进入grunt(pig的shell名称) shell(本地模式,连接的不是hadoop的集群,是本地的文件系统)


pig的工作模式:

1.上面说的本地模式

2.mapreduce模式(集群模式)

设置path,增加指向hadoop/bin

设置PIG_CLASSPATH环境变量


然后进入grunt shell,在集群模式下直接打pig即可


pig的使用:

官网pig.apace.org

运行方法:

三种

1.脚本(pig    XXX.pig) 2.grunt 3.嵌入式

grunt 自动补全机制(补全命令,不能补全文件名什么的)        Eclipse插件pigpen          Autocomplete文件

grunt shell常用命令

  

ls、cd、cat命令



copyToLocal


hdfs拷贝到本地


也可以运行普通的shell命令


sh                ..............





pig latin语言:

数据类型:

Bag:表     Tuple:行,记录        Field:属性        pig不要求同一个bag里面的各个tuple有相同数量或相同类型的field

pig latin常用语句:

load:指出载入数据的方法

foreach:逐行扫描进行某种处理

filter:过滤行

dump:把结果显示到屏幕

store:把结果保存到文件

下面以hadoop权威指南的例子做一个讲解:(找每一年中的最大温度)


第一行load是从hadoop的文件系统里读入文件放到records里面然后指出区分每一列,第一列year,字符串类型,后两个类似

第二条命令filter是过滤,后面跟着过滤条件,赋给fltered_records

第三条是group命令是以year为聚合条件,产生结果

(1940,{{1949,111,1},{1949,333,2}})

第四条命令是逐行扫描,然后求出每一年最大温度









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大兔齐齐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值