由于要在开发机器上源码调试Pig,同时也要在单机上通过PIG_HOME/bin/下的pig脚本去执行Pig,以及在内网集群,生产环境上运行Pig...所以不同的配置环境会导致一些问题,比如Lzo压缩.有时明显你机器上安装了lzo,你CLASS_PATH中也加载hadoop这些配置,但还是不行.所以花了点时间,看了下Pig这方面的源码,终于搞明白.这里分享下.
pig中最终的配置都由java.util.Properties管理。通过以下四种方式来加载Pig运行所需要的配置。
1)从System.getProperty("user.home") + "/.pigrc"获取
2)从CLASS_PATH中读取/pig-default.properties和/pig.properties
实际上是获取的org.apache.pig.impl.util.PropertiesUtil.class.getResource("").getPath()
其中/pig.properties会覆盖/pig-default.properties中的配置
3)读取系统属性
System.getProperties()
4)读取Hadoop/conf中的配置
以上4会覆盖3,3会覆盖2,2会覆盖1的属性,权重逐级递增.其实这也类似于一个操作系统,用户变量会覆盖系统变量,要运行的某个程序变量又会覆盖用户变量.
知道这些后,我会在我的开发机器上的$HOME/.pigrc下配置,配置成功后在日志中会有这样的提示:
2012-03-06 14:56:55,859 WARN util.PropertiesUtil (PropertiesUtil.java:loadPropertiesFromFile(81)) -
/home/guoyun/.pigrc exists but will be deprecated soon. Use conf/pig.properties instead!
集群环境下就在Hadoop/conf下部署,当然也可以在pig.properties.
相信配置是每个程序基本要有的东西,Pig这4种加载方式,并且都有自己的优先级,值得借鉴!
更多技术文章、感悟、分享、勾搭,请用微信扫描:
相关推荐
Hadoop源码分析(完整版),详细分析了Hadoop源码程序,为学习Hadoop的人提供很好的入门指导
网站访问日志,可以用来进行Hadoop pig分析使用
Hadoop源码分析视频下载
经典大作 hadoop the definitve guide programming hive programming pig
Hadoop源码分析,Map-Reduce作业提交运行入手分析这个过程中涉及到的Hadoop源码架构,此外本文基于的Hadoop版本是2.6.4
caibinbupt的Hadoop源码分析完整版,包括 HDFS 和 MapReduce。 HDFS: 41章 MapReduce: 14章
Hadoop源码分析完整版..
Hadoop及源码 Hadoop及源码 Hadoop及源码 Hadoop及源码
Hadoop源代码分析(完整版).pdf
hadoop源码,官方,放心下载,完整版,阅读hadoop源代码的目的不一定非是工作的需要,你可以把他看成一种修养,通过阅读hadoop源代码,加深自己对分布式系统的理解,培养自己踏实做事的心态。
NULL 博文链接:https://zqhxuyuan.iteye.com/blog/1879292
hadoop源码
学习Hadoop源码过程中做的源码分析,共享一下,PPT中有我的邮箱,可以互相探讨。Hadoop源码分析(client端提交job到rm端)
win 7 64上编译 Hadoop 2.7.3 源码 的真实经历。
NULL 博文链接:https://hadoopcn.iteye.com/blog/1165888
hadoop 源码分析 文档
包含hadoop2.6.0源码和eclipse开发hadoop所用插件,下载即可用。
实战hadoop,源码,刘鹏,开启通向云计算的捷径
Hadoop学习总结合源码分析,网上收集整理