Pig脚本 .pig】的更多相关文章

pig脚本就是一个文件,保存了多条pig命令,通常后缀是.pig(不强制).       多行注释:/**/     单行注释:--       下面是一个名字是test.pig的脚本的例子: /* test.pig 测试脚本 */ data = load '/xx.data' using PigStorage(','); --加载数据 filtered_data = filter data by $0 > 18; --过滤数据 foreached_data = foreach filtered…
pig 脚本运行不需要后缀名 pig脚本名为tempfile,无后缀名 用pig -f tempfile 可直接运行 另外,pig tempfile也可以直接运行 这样就可以用python临时文件存储pig脚本内容直接调用 python调用pig脚本的一种方式 将pig脚本用任意文件存储,执行时写入python的临时文件(tempfile模块操作),执行结束后删除.执行过程: 用tempfile模块NamedTemporaryFile生成临时文件,名字默认随机,然后,可以用tempfile.na…
pig脚本里传入参数,命令如下 pig -p year=2014 -f test_parm.pig 也可以 pig -f test_parm.pig -p year=2014 -f后面必须紧跟脚本名称 如果没有-f,则必须用 pig  -p year=2014  test_parm.pig 其他格式都是错的. 另外,-param和-p相同,注意不要写成-parm,在python中-param可以执行 多参数传入格式: pig -p date=2014-07-30 -p year=2014 -f…
Pig是一个大规模数据分析平台.Pig的基础结构层包括一个产生MapReduce程序的编译器.在编译器中,大规模并行执行依据存在.Pig的语言包括一个叫Pig Latin的文本语言,此语言有如下特性:1.易于编程.实现简单的和高度并行的数据分析任务非常容易.2.自动优化.任务编码的方式允许系统自动去优化执行过程,从而使用户能够专注于逻辑,而非效率3.可扩展性,用户可以轻松编写自己的函数用于特殊用途的处理. 1 安装 1.安装java,配置环境变量2.安装pig,配置环境变量ps:安装一款平台级软…
*本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapReduce的一种脚本语言,大大简化了对数据操作的代码. ** 基本概念和用法 **: 1. 关系(relation):即包(bag),是一个元组(tuple)的集合. 可将关系/包想象成Spark中RDD的概念. 元组()同Spark中元组的概念. 2. 简单的文件载入操作: A = LOAD 'a…
  ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapReduce的一种脚本语言,大大简化了对数据操作的代码. 基本概念和用法: 1. 关系(relation):即包(bag),是一个元组(tuple)的集合.元组()同Spark中元组的概念. 2. 简单的文件载入操作: A = LOAD 'a.txt' AS (col1:chararr…
相比Java的MapReduce api,Pig为大型数据集的处理提供了更高层次的抽象,与MapReduce相比,Pig提供了更丰富的数据结构,一般都是多值和嵌套的数据结构.Pig还提供了一套更强大的数据变换操作,包括在MapReduce中被忽视的连接Join操作. Hadoop版本:2.2.0  Pig版本:0.12.1 Pig介绍 Pig包括两部分: 用于描述数据流的语言,称为Pig Latin. 用于执行Pig Latin程序的执行环境,当前有两个环境:单JVM中的本地执行环境和Hadoo…
1. 数据模型 Schema Pig Latin表达式操作的是relation,FILTER.FOREACH.GROUP.SPLIT等关系操作符所操作的relation就是bag,bag为tuple的集合,tuple为有序的field列表集合,而field表示数据块(A field is a piece of data),可理解为数据字段. Schema为数据所遵从的类型格式,包括:field的名称及类型(names and types).用户常用as语句来自定义schema,或是load函数导…
1. 问题描述 收集日志avro数据中有两个Map字段appInstall.appUse分别表示已安装的app.正在使用的app,且key值为app的名称,value值为app使用信息.现在要得到一份匹配上购物类app支付宝|京东|淘宝|天猫的用户名单:MapReduce 解决办法如下: public static class M extends Mapper<String, Pair, String, Text> { Text text = new Text(); @SuppressWarn…
昨天成功运行第一个在hadoop集群上面的python版本的wordcount,今天白天继续看网上提供的文档.下午上头给定的回复是把hadoop家族都熟悉一下,那就恭敬不如从命,开始学习pig吧- 这一年多的编程之路让我知道学习任何一门新的技术的最入门的方式就看文档,let's geting started! 首先声明一下我的环境是在公司布置好的集群上面运行的程序,因此各位不愿意配置环境又木有条件的可以在cloudera提供的虚拟机配置的环境下跑程序.在进入公司的第一天就听说他们在用pig处理数…
1.pig与hive的区别 pig和hive比较类似的,都是类sql的语言,底层都是依赖于hadoop    走的mapreduce任务.    pig和hive的区别就是,想要实现一个业务逻辑的话,使用pig需要一步一步操作    而使用hive的话一条SQL就可以搞定.    如果想在很短时间内获取一个比较复杂的业务逻辑处理结果的话,建议使用pig.    如果需要定时执行的一些任务,建议使用hive. 2:pig和mapreduce对比 pig优点:针对一些基本的处理逻辑,已经做好了封装,…
一.pig的运行模式: Pig 有两种运行模式: Local 模式和 MapReduce 模式.当 Pig 在 Local 模式运行的时候, Pig 将只访问本地一台主机:当 Pig 在 MapReduce 模式运行的时候, Pig 将访问一个 Hadoop 集群和 HDFS 的安装位置.这时, Pig 将自动地对这个集群进行分配和回收.因为 Pig 系统可以自动地对 MapReduce 程序进行优化,所以当用户使用 Pig Latin 语言进行编程的时候,不必关心程序运行的效率, Pig 系统…
1. 重命名pig job name: 在Pig脚本中的一开始处,写上这一句: set job.name 'This is my job'; 2. 设置pig参数: 允许pig时,输入如下: pig -p JOBNAME="MyJob" test.pig ************test.pig********** set job.name '$JOBNAME'; ...... 3. pig分隔符定义: pig默认分隔符是/t,可以通过如下命令 using PigStorage(','…
初接触Hadoop技术的朋友肯定会对它体系下寄生的个个开源项目糊涂了,我敢保证Hive,Pig,HBase这些开源技术会把你搞的有些糊涂,不要紧糊涂的不止你一个,如某个菜鸟的帖子的疑问,when to use Hbase and when to use Hive?....请教了^_^没关系这里我帮大家理清每个技术的原理和思路. Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不…
:搭建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地…
原文地址:http://www.linuxidc.com/Linux/2014-03/99055.htm 我们用MapReduce进行数据分析.当业务比较复杂的时候,使用MapReduce将会是一个很复杂的事情,比如你需要对数据进行很多预处理或转换,以便能够适应MapReduce的处理模式,另一方面,编写MapReduce程序,发布及运行作业都将是一个比较耗时的事情. Pig的出现很好的弥补了这一不足.Pig能够让你专心于数据及业务本身,而不是纠结于数据的格式转换以及MapReduce程序的编写…
Install 首先是 Mac OS 下的安装 1 2 export JAVA_HOME=$(/usr/libexec/java_home) brew install pig Run Pig 运行分为两种模式,如果需要在本地调试的话,可以使用 shell 模式. 通过运行下面的 command 就行了 Shell mode 1 pig -x local Count Words 下面我们用个简单的统计单词次数的例子做进入 pig 世界的 hello world. 首先我们在网上随便找一篇文章做实验…
inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yahoo!捐献给Apache的一个项目,眼下还在Apache孵化器(incubator)阶段,眼下版本号是v0.5.0.Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-like语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运…
Python 真是无处不在国内. pig 0.9后python作为嵌入式语音,采用Jython解释器使用python2.5特征,此接口是最上层org.apache.pig.scripting.Pig首先python脚本将一些Pig Latin译.然后将在Python中定义的变量传递给它,最后运行它. 1) Pig.compile 或compilefromFile 对代码进行预编译2)Bind 方法将控制流中的变量绑定到Pig Latin脚本中的变量,会返回一个BoundScript对象3)针对B…
在这里贴一个pig源码的分析,做pig很长时间没做笔记,不包含任何细节,以后有机会再说吧 http://blackproof.iteye.com/blog/1769219 hadoop pig入门总结 pig简介 pig数据类型 pig latin语法 pig udf自定义 pig derived衍生 推荐书籍 programming pig 推荐网站 http://pig.apache.org/docs/r0.10.0/basic.html pig简介 pig是hadoop上层的衍生架构,与h…
Pig Pig是一种数据流语言,用来快速轻松的处理巨大的数据.Pig包含两个部分:Pig Interface,Pig Latin.Pig可以非常方便的处理HDFS和HBase的数据,和Hive一样,Pig可以非常高效的处理其需要做的,通过直接操作Pig查询可以节 省大量的劳动和时间. 当你想在你的数据上做一些转换,并且不想编写MapReduce jobs就可以用Pig. Hive 起源于FaceBook,Hive在Hadoop中扮演数据仓库的角色.建立在Hadoop集群的最顶层,对存储在Hado…
Apache Pig是一个高级过程语言,可以调用MapReduce查询大规模的半结构化数据集. 样例执行的环境为cloudera的单节点虚拟机 读取结构数据中的指定列 在hdfs上放置一个文件 [cloudera@quickstart ~]$ hdfs dfs -put /etc/passwd /user/cloudera/ 启动Apache Pig [cloudera@quickstart ~]$ pig -x mapreduce grunt> 使用Pig Latin进行数据提取 grunt>…
Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不过现在还是有些公司在用,不过我认为与其使用pig不如使用hive.:) Pig是一种数据流语言,用来快速轻松的处理巨大的数据. Pig包含两个部分:Pig Interface,Pig Latin. Pig可以非常方便的处理HDFS和HBase的数据,和Hive一样,Pig可以非常高效的处理其需要做的,通过直接操作Pig查询可以节…
shell命令:mv a b   将文件a改名为b, 可如果b已经存在,比如/test文件下有a和b两个文件,执行mv a b后,b被覆盖的了.也就是/test文件下只有a. 但是mv命令在pig的grunt中使用有问题,执行不稳定. pig编程指南中说,除了cd和pwd两个命令,其他命令不推荐使用. 在我测试后,确实如此,如果存在b文件,那么mv a b可能不被执行. 但是可以先rm b,然后在mv a b就可以执行了 我是因为在pig 脚本中涉及文件操作,所以在pig脚本中使用pig she…
pig脚本 放在本地当前目录(键入pig命令时,所处的目录),然后用进入grunt,用run或者exec调用 1云运行: 键入pig进入grunt,用run命令运行当前目录脚本.(或者外部用pig -f file) 这是云运行模式,脚本中操作文件路径都在云上,pig脚本里面要用云路径. 但是pig脚本路径要在本地当前目录下(键入pig命令时,所处的目录) 2本地运行: 键入pig -x local,本地grunt模式(或者pig -x local file命令) 本地模式,操作文件在本地…
pig的两种运行模式,local模式,mapreduce模式 local模式下,pig只能访问本地一台:在mapreduce模式下,pig可以访问一个hadoop集群和hdfs的安装位置.这时,pig将自动对这个集群进行分配和回收.因为pig系统可以自动对mapreduce程序进行优化,所以当用户使用pig latin编程时,不必关系程序的运行效率,pig系统会自动对程序进行优化. pig的local模式以及mapreduce模式都是有三种运行模式:Grunt shell方式,脚本文件方式,嵌入…
Apache Pig是MapReduce的一个抽象.它是一个工具/平台,用于分析较大的数据集,并将它们表示为数据流.Pig通常与 Hadoop 一起使用:我们可以使用Apache Pig在Hadoop中执行所有的数据处理操作. 要使用 Apache Pig 分析数据,程序员需要使用Pig Latin语言编写脚本.所有这些脚本都在内部转换为Map和Reduce任务.Apache Pig有一个名为 Pig Engine 的组件,它接受Pig Latin脚本作为输入,并将这些脚本转换为MapReduc…
Pig 一.Pig的介绍: Pig由Yahoo开发,主要应用于数据分析,Twitter公司大量使用Pig处理海量数据,Pig之所以是数据分析引擎,是因为Pig相当于一个翻译器,将PigLatin语句翻译成MapReduce程序(只有在执行dump和store命令时才会翻译成MapReduce程序),而PigLatin语句是一种用于处理大规模数据的脚本语言. 二.Pig与Hive的相同与区别: 相同: 1.Hive和Pig都是数据分析引擎,除此之外,还有Spark中的Spark SQL和Cloud…
测试数据位于:/home/hadoop/luogankun/workspace/sync_data/pigperson.txt中的数据以逗号分隔 ,zhangsan, ,lisi, ,wangwu, ,zhaoliu, score.txt中的数据以制表符分隔 pig只能针对HDFS上的文件进行操作,所以需要将文件先上传到HDFS中 cd /home/hadoop/luogankun/workspace/sync_data/pig hadoop fs -put person.txt input/p…
环境: hadoop-2.4.1.jdk1.6.0_45.pig-0.12.1   1.下载pig并解压 tar -xzvf pig-0.12.1.tar.gz 2.设置环境变量 export PIG_HOME=~/pig-0.12.1 export PATH=$PATH:$PIG_HOME/bin 3.测试 pig -help 4.说明 1)同一个pig支持多个hadoop版本 2)pig默认通过HADOOP_HOME确定hadoop的版本及安装位置,如果没有HADOOP_HOME环境变量,则…