`
qindongliang1922
  • 浏览: 2147122 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:116320
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:124587
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:58453
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:70348
社区版块
存档分类
最新评论

Pig使用问题总结

    博客分类:
  • Pig
阅读更多

1,如果是a::tags#'pic'作为参数,传递给另一个函数方法,需要转义多次,

二次调用函数,就是这个方法里,又调用了其他方方法,参数也是层层传递,需要转义两次,尤其是map里的函数,
C1 = two_use_cart_filter_by_clkloc_distinct_vid_and_ic(C,0,2,'vid','cvid','tags#\\\'pic\\\'','cpic') ;

一次调用函数,只需转一次即可
cx = get_distinct_data_by_field(cx,B::vid,'bvid','B::tags#\'pic\'','bpic') ;

2,在pig函数中,如果传入的变量join后有别名的标量,不要使用A:tags#'et'语法写,直接使用tags#'et'引用


3,在function脚本中,
注册变量,必须使用单引号引起来 ,如下
REGISTER '/home/lib/dhpig.jar';
REGISTER '/home/lib/event-log.jar';
在非函数脚本中,则不需要

4, 在a.pig脚本中,如果引用了一个函数脚本function.pig,则注意a脚本的参数名字,不能和function.pig脚本中函数名字一样

5,单引号里嵌套单引号,需要转义使用

6,在a.pig中,引用了一个b.pig 如果b.pig 里面 定义了一个函数,然后别名x,
在a.pig里面使用 x2 = getx()接收,此时需要注意,x2 不能够和b.pig里面的函数里面加载数据的schema的别名一样 ,如果getx里面
有这么一段代码:
bb = load  'xx' as (x2:chararray)
 

7, a和b通过join后的得到的一个结果集r,如果传给下一个函数使用时,需要采用r::a::xx引用
如果有扩展字段,可以使r::a::map#'field'引用
 
 
8, 在使用转换一些类型时候,如果默认不设置任何schema,那么它将会是bytearray类型,如果想进行一些join操作,或者union,cross操作时,
一定要确保两边的join键的字符类型一致
ho = join $a by bvik left outer , $b by okey; ,如果bvik和okey的字符类型不一致,那么将会出现如下异常:
                        int errCode = 1075;
                        String msg = "Received a bytearray from the UDF. Cannot determine how to convert the bytearray to string.";
所以在,进行join前,一定确保类型一致,如下面的pig语句:$11和$3是要明确声明所属类型的
mz = foreach mf generate CONCAT((chararray)$11,(chararray)$3) as vidic , $4 as gno:chararray ;
mp = group mz by vidic;
$ord = foreach mp generate  group  as okey , BagToString($1.$1,'#') as rfxnos  ;



分享到:
评论

相关推荐

    [原创]Apache_Pig的一些基础概念及用法总结

    这是一个学习pig的极好的资料,通俗易懂

    pig学习笔记

    这是学习pig的极好学习资料总结了很多知识,通俗易懂

    Apache Pig用法总结

    从网上搜索而来,虽然不是自己总结,但把网上最好的总结都归列在内。

    AutoRollup:为 Apache Pig 实施新的 ROLLUP 运算符,从而产生最佳执行计划

    对于那些有兴趣使用并查看新运算符增强功能的人,请在指南下方找到: ##Compiling Pig 与新的 ROLLUP 运算符我们的 ROLLUP 运算符已集成到最新的 Apache Pig 版本 (0.14.0)。 它是使用 Ant 编译的。 为运行在 ...

    Hadoop权威指南(中文版)2015上传.rar

    使用Pig和Wukong来探索10亿数量级边的 网络图 测量社区 每个人都在和我说话:Twitter回复关系图 (度)degree 对称链接 社区提取 附录A 安装Apache Hadoop 附录B Cloudera’s Distribution for Hadoop 附录C 准备...

    大数据基础知识培训

    MapRedce:并行计算架构,将计算任务拆分成大量可以独立运行的子任务,接着并行运算,另外会有一个系统调度的架构负责收集和汇总每个子任务的分析结果 HBase: 类似Google BigTable的分布式列式数据库,与Pig/Hive很...

    Hadoop权威指南 第二版(中文版)

     使用Pig和Wukong来探索10亿数量级边的 网络图  测量社区  每个人都在和我说话:Twitter回复关系图  degree(度)  对称链接  社区提取 附录A 安装Apache Hadoop  先决条件  安装  配置  本机模式  伪分布...

    大数据处理的三大流程以及大数据的价值.doc

    使用的产品:InfoBright,Hadoop(Pig和Hive),YunTable, SAP Hana和OracleExadata,除Hadoop以做离线分析为主之外,其他产品可做实时分析。 挖掘数据 定义:基于前面的查询数据进行数据挖掘,来满足高级别 的...

    informed-traveler

    我使用Pig Latin清理了数据并进行了必要的汇总,以显示每个类别的延迟率。 数据不干净,并且缺少字段。 结果,并非所有延迟都被分类,因此我添加了一个结合所有此类延迟的未分类类别。 作为NoSQL数据库,我使用了...

    大数据猩球(英文版)

    本书以实用的、可操作的视角解释了大数据——采用黑猩猩和大象的隐喻,基于棒球统计数据集,使用Apache Hadoop和Pig等工具展示了如何处理大规模数据。此外,通过处理真实数据、解决现实问题,作者还以实例的形式总结...

    大数据系统基础(自主模式)-清华大学-王建民、徐葳、陈康等 视频.txt

    │ 14 2.15虚拟化技术总结.mp4 │ 15 2.16OPENSTACK.mp4 │ 16 2.17云计算小结.mp4 │ 2 2.3规模经济理念.mp4 │ 3 2.4从仓库规模计算机到云.mp4 │ 4 2.5云计算商业模式概述.mp4 │ 5 2.6云计算带来的价值.mp4 │ 6...

    apache-tez-0.9.0-bin.tar.gz

    Tez是Apache开源的支持DAG作业...总结起来,Tez有以下特点: (1)Apache二级开源项目(源代码今天发布的) (2)运行在YARN之上 (3) 适用于DAG(有向图)应用(同Impala、Dremel和Drill一样,可用于替换Hive/Pig等)

    apache-tez-0.8.3-src.tar.gz

    Tez是Apache开源的支持DAG作业的...总结起来,Tez有以下特点: (1)Apache二级开源项目(源代码今天发布的) (2)运行在YARN之上 (3) 适用于DAG(有向图)应用(同Impala、Dremel和Drill一样,可用于替换Hive/Pig等

    数据分析方法与技术.pptx

    Volume 海量的数据规模 Variety 多样的数据类型 Value Velocity 快速的数据流转 发现数据价值 要解决的问题 大数据技术被设计用于在成本可承受的条件下,通过非常快速(velocity)地采集、发现和分析,从大量...

    大数据基础知识入门.pdf

    Spark 优点: 运行速度快:使用DAG执行引擎以支持循环数据流与内存计算 容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell 进行交互式编程 通用性:Spark提供了完整而强大的技术

    航空订票系统java源码-resume:NikhilPrabhakar的简历作为Git时间线

    当前/以前的工作总结: 在 Cleartrip Travels [],我是开发航班/酒店搜索/预订系统的后端团队的一员。 我在飞行队。 我和我的导师一起使用 ITA API 在 Common Lisp 中设计和实现了国际航班搜索产品。 我还致力于构建...

    ambari 大数据组件部署手册

    Apache Ambari是一种基于...Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。 本文档个人工作总结,描述如何部署、如何自定义服务、ambari基本架构等经验总结

    common-crawl

    由于数据集的庞大性和非结构化性,我们计划使用Hadoop生态系统中的工具(带有Tez,Apache Hive和HBase的Apache Pig)。 具体来说,具有相似html布局的页面将具有相似的html组件。 因此,叶节点的文档对象模型(DOM...

    大数据工程师学习计划.pdf

    想系统学习⼤数据的话,可以加⼊⼤数据技术学习交流扣群:数字4583+数字45782,私信管理员即可免费 领取开发⼯具以及⼊门学习资料 针对以上主要的4个特征我们需要考虑以下问题: 数据来源⼴,该如何采集汇总?...

Global site tag (gtag.js) - Google Analytics