:搭建Pig环境

:计算每个IP点击次数

内容

运行环境说明

1.1     硬软件环境

线程,主频2.2G,6G内存

l  虚拟软件:VMware® Workstation 9.0.0 build-812388

l  虚拟机操作系统:CentOS 64位,单核,1G内存

l  JDK:1.7.0_55 64 bit

l  Hadoop:1.1.2

1.2     机器网络环境

个namenode、2个datanode,其中节点之间可以相互ping通。节点IP地址和主机名分布如下:

序号

IP地址

机器名

类型

用户名

运行进程

10.88.147.221

hadoop1

名称节点

hadoop

NN、SNN、JobTracer

10.88.147.222

hadoop2

数据节点

hadoop

DN、TaskTracer

10.88.147.223

hadoop3

数据节点

hadoop

DN、TaskTracer

所有节点均是CentOS6.5 64bit系统,防火墙均禁用,所有节点上均创建了一个hadoop用户,用户主目录是/usr/hadoop。所有节点上均创建了一个目录/usr/local/hadoop,并且拥有者是hadoop用户。

书面作业0:搭建Pig环境

2.1     Pig介绍

Pig是yahoo捐献给apache的一个项目,使用SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中。Pig 有两种运行模式: Local 模式和 MapReduce 模式

l  本地模式:Pig运行于本地模式,只涉及到单独的一台计算机

l  MapReduce模式:Pig运行于MapReduce模式,需要能访问一个Hadoop集群,并且需要装上HDFS

Pig的调用方式:

l  Grunt shell方式:通过交互的方式,输入命令执行任务;

l  Pig script方式:通过script脚本的方式来运行任务;

l  嵌入式方式:嵌入java源代码中,通过java调用来运行任务。

2.2     部署过程

2.2.1下载Pig

在Apache下载最新的Pig软件包,点击下载会推荐最快的镜像站点,以下为下载地址:http://mirror.bit.edu.cn/apache/pig/

2.2.2上传Pig

、2作业周2.1.3.1介绍)上传到/home/hadoop/Downloads 目录下

2.2.3解压缩

在Downloads目中将pig解压缩

cd /home/hadoop/Downloads/

tar -xzvf pig-0.13.0.tar.gz

把pig-0.13.0目录移到/usr/local目录下

sudo mv pig-0.13.0 /usr/local

cd /usr/local

ls /usr/local

2.2.4设置环境变量

使用如下命令编辑/etc/profile文件:

sudo vi /etc/profile

设置pig的class路径和在path加入pig的路径,其中PIG_CLASSPATH参数是设置pig在MapReduce工作模式:

export PIG_HOME=/usr/local/pig-0.13.0

export PIG_CLASSPATH=/usr/local/hadoop-1.1.2/conf

export PATH=$PATH:/usr/local/hadoop-1.1.2/bin:$PIG_HOME/bin

编译配置文件/etc/profile,并确认生效

source /etc/profile

2.2.5验证安装完成

重新登录终端,确保hadoop集群启动,键入pig命令,应该能看到pig连接到hadoop集群的信息并且进入了grunt shell命令行模式:

书面作业1:计算每个IP点击次数

内容

在课程资源下载本周的作业素材access_log.rar,是一段dataguru的网站访问日志 请大家使用pig处理这个日志,计算出每个ip的点击次数,例如 123.24.56.57 13 24.53.23.123 7 34.56.78.120 20 .... 等等

3.2     程序代码

// 加载HDFS中访问日志,使用空格进行分割,只加载ip列

records = LOAD 'hdfs://hadoop1:9000/usr/hadoop/in/access_log.txt' USING PigStorage(' ') AS (ip:chararray);

// 按照ip进行分组,统计每个ip点击数

records_b = GROUP records BY ip;

records_c = FOREACH records_b GENERATE group,COUNT(records) AS click;

个的ip数据

records_d = ORDER records_c by click DESC;

top10 = LIMIT records_d 10;

// 把生成的数据保存到HDFS的week8目录中

STORE top10 INTO 'hdfs://hadoop1:9000/usr/hadoop/week8';

3.3     准备数据

、2周2.1.3.1Linux文件传输工具所描述)把提供的测试数据access_log.txt上传到本地目录/usr/local/hadoop-1.1.2/input中,然后调用hadoop上传本地文件命令把该文件传到/usr/hadoop/in目录中,如下图所示:

access_log.txt日志内容如下:

3.4     实现过程

3.4.1输入代码

进入pig shell 命令行模式:

输入代码:

3.4.2运行过程

在执行过程中在JobTracker页面观察运行情况,链接地址为:http://hadoop1:50030/jobtracker.jsp

点击查看具体作业信息

个作业,每个作业一次在上一次作业的结果上进行计算

3.4.3运行结果

通过以下命令查看最后的结果:

hadoop fs -ls /usr/hadoop/week8

hadoop fs -cat /usr/hadoop/week8/part-r-00000

Hadoop第8周练习—Pig部署及统计访问日志例子的更多相关文章

  1. Hadoop第10周练习—Mahout部署及进行20newsgroup数据分析例子

    :搭建Mahout环境 :运行20newsgroup 内容 运行环境说明 1.1 硬软件环境 线程,主频2.2G,6G内存 l  虚拟软件:VMware® Workstation 9.0.0 buil ...

  2. linux系统tomcat项目部署和tomcat访问日志

    一.只用ip地址访问 先把端口号改成80,然后用 <Host name="localhost"  appBase="webapps"    137     ...

  3. Hadoop第9周练习—Hive部署测试(含MySql部署)

    1.1 2 :搭建Hive环境 内容 2.2 3  运行环境说明 1.1  硬软件环境 线程,主频2.2G,6G内存 l  虚拟软件:VMware® Workstation 9.0.0 build-8 ...

  4. Hadoop第3周练习--Hadoop2.X编译安装和实验

    作业题目 位系统下进行本地编译的安装方式 选2 (1) 能否给web监控界面加上安全机制,怎样实现?抓图过程 (2)模拟namenode崩溃,例如将name目录的内容全部删除,然后通过secondar ...

  5. Apache Hadoop 2.9.2 完全分布式部署

    Apache Hadoop 2.9.2 完全分布式部署(HDFS) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.环境准备 1>.操作平台 [root@node101.y ...

  6. 3-3 Hadoop集群完全分布式配置部署

    Hadoop集群完全分布式配置部署 下面的部署步骤,除非说明是在哪个服务器上操作,否则默认为在所有服务器上都要操作.为了方便,使用root用户. 1.准备工作 1.1 centOS6服务器3台 手动指 ...

  7. 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)

    1)集群规划:主机名        IP      安装的软件                     运行的进程master    192.168.199.130   jdk.hadoop      ...

  8. Hadoop生态圈-通过CDH5.15.1部署spark1.6与spark2.3.0的版本兼容运行

    Hadoop生态圈-通过CDH5.15.1部署spark1.6与spark2.3.0的版本兼容运行 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我的CDH5.15.1集群中,默 ...

  9. Hadoop生态圈-Kafka的完全分布式部署

    Hadoop生态圈-Kafka的完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要内容就是搭建Kafka完全分布式,它是在kafka本地模式(https:/ ...

随机推荐

  1. wireshark如何过滤 http数据包

    http.host==magentonotes.com http.host contains magentonotes.com //过滤经过指定域名的http数据包,这里的host值不一定是请求中的域 ...

  2. 防止ViewPager中的Fragment被销毁的方法,更加流畅

    在使用ViewPager与Fragment的时候,ViewPager会自动缓存1页内的数据,如下图: 当我们当前处在页面2的时候,页面1和页面3的View实际上已经创建好了,所以在我们拖动的时候是可以 ...

  3. MDT 2010驱动管理新方法。

    参考:https://4sysops.com/archives/driver-deployment-with-microsoft-deployment-toolkit-mdt-part-1-os-de ...

  4. Imagick总结及反思

    2014-08-23 今天安装Imagick出现了很多问题,自己也有些着急,以下为各版本信息: ImageMagick: 安装版本:ImageMagick-6.5.8-Q16 安装目录:E:/PHPS ...

  5. Android判断当前线程是否是主线程的方法

    开发过程中有时候会在Thread类中执行某些操作,有些操作会由于Android版本的不同,尤其是低版本而Crash,因此必要的时候会查看某些容易引起crash的操作是否是在主线程,这里举三种方法: 方 ...

  6. Struts2中的 配置文件

    struts2中涉及到的配置文件有: web.xml.struts.xml.struts.properties.default.properties.struts-default.xml web.xm ...

  7. R语言之中文分词:实例

    一.说明 网上提供的一个例子,做了修改与订正. 二.程序 #调入分词的库 library("rJava") library("Rwordseg") #调入绘制词 ...

  8. 移动应用安全开发指南(Android)--完结篇(http://www.bubuko.com/infodetail-577312.html)

    1.认证和授权 概述 认证是用来证明用户身份合法性的过程,授权是用来证明用户可以合法地做哪些事的过程,这两个过程一般是在服务器端执行的,但也有的APP出于性能提升或用户体验等原因,将其做在客户端完成, ...

  9. Spring源码追踪2——xml解析入口

    解析xml节点入口 org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDe ...

  10. A Year Of Books - 2016 Javaer书单

    A Year Of Books - 2016 Javaer书单 (PS:欢迎留言推荐,很多来自白衣大哥的推荐) 1. OS & Networking <编码 : 隐匿在计算机软硬件背后的 ...