Pig加载配置的四种方式
来源:互联网 发布:淘宝主图素材怎么制作 编辑:程序博客网 时间:2024/05/18 02:44
Pig加载配置的四种方式
由于要在开发机器上源码调试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种加载方式,并且都有自己的优先级,值得借鉴!
- Pig加载配置的四种方式
- Mybatis 加载 Mapper配置的四种方式
- android: activitity 的四种加载方式
- Android Activity的四种加载方式
- Android的四种加载方式
- jquery 的四种加载方式
- Activity的四种加载方式
- Activity的四种加载方式
- Activity的四种加载方式
- jquery加载的四种方式
- 加载配置文件的四种方式
- 加载配置文件的四种方式
- AssetBundle加载的四种方式
- AssetBundle加载的四种方式(补充 三,四)
- Pig的安装配置
- java过滤器的四种配置方式
- Spring配置数据源的四种方式
- struts2--Action的四种配置方式
- 技术人员谈管理之成本管理案例论文
- oracle事务之oracle读一致性
- “The library 'aaa.jar' contains native libraries that will not run on the device.”问题解决
- 浅谈C语言的数据存储(一)
- 理解 Android 上的安全性
- Pig加载配置的四种方式
- 面试准备
- sql 语句的limit的用法
- 微软等面试100题筛选答案-25-求最长连续数字子串
- 利用window自带防火墙限制ip访问。
- android中的单选和多选按钮的使用
- 回归测试——游戏版本发布前的最后关口
- wap开发
- gdb教程