Pig加载配置的四种方式

2024-08-20 18:18
文章标签 配置 加载 方式 四种 pig

本文主要是介绍Pig加载配置的四种方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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加载配置的四种方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090813

相关文章

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

C# List.Sort四种重载总结

《C#List.Sort四种重载总结》本文详细分析了C#中List.Sort()方法的四种重载形式及其实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录1. Sort方法的四种重载2. 具体使用- List.Sort();- IComparable

java敏感词过滤的实现方式

《java敏感词过滤的实现方式》文章描述了如何搭建敏感词过滤系统来防御用户生成内容中的违规、广告或恶意言论,包括引入依赖、定义敏感词类、非敏感词类、替换词类和工具类等步骤,并指出资源文件应放在src/... 目录1.引入依赖2.定义自定义敏感词类3.定义自定义非敏感类4.定义自定义替换词类5.最后定义工具类