`
guoyunsky
  • 浏览: 854295 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
3d3a22a0-f00f-3227-8d03-d2bbe672af75
Heritrix源码分析
浏览量:206243
Group-logo
SQL的MapReduce...
浏览量:0
社区版块
存档分类
最新评论

Hadoop 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种加载方式,并且都有自己的优先级,值得借鉴!

 

更多技术文章、感悟、分享、勾搭,请用微信扫描:

0
0
分享到:
评论

相关推荐

    pig的源码包

    本文将基于"Pig的源码包"这一主题,深入探讨Pig的核心概念、架构设计以及源码分析。 1. Pig Latin:Pig Latin是Pig的专用脚本语言,它的设计目标是简化MapReduce编程。通过抽象出一系列操作(如LOAD、FILTER、JOIN...

    pig源码0.15版

    Pig Latin是Pig所使用的声明式数据流语言,它允许用户以一种接近SQL的方式描述数据处理任务。在Pig 0.15源码中,我们可以看到如何将Pig Latin语句转化为可执行的MapReduce任务的过程。这涉及到词法分析、语法分析...

    pig编程指南源码

    源码中可能包含了如何在Hadoop集群上运行Pig脚本的示例,以及如何配置Pig与Hadoop的交互,如设置HDFS路径、处理错误和监控性能。 七、Pig与大数据生态系统 Pig不仅可以与其他Hadoop组件如HBase、Hive和Spark集成,...

    hadoop pig vertica

    这种方式结合了 Hadoop 的大数据处理能力、Pig 的灵活性和 Vertica 的分析性能,为大数据工作流提供了一个强大的解决方案。 源码分析 "DBStorage.java" 可能涉及以下关键技术点: 1. JDBC 连接:Java Database ...

    hadoop权威指南4和源码

    6. **Hadoop源码分析**:通过阅读Hadoop源码,可以深入了解其内部机制,例如NameNode如何管理文件系统元数据、DataNode如何进行数据块的读写、MapReduce的作业调度算法等。这对于优化Hadoop集群性能、开发自定义插件...

    完整版大数据云计算课程 Hadoop数据分析平台系列课程 Hadoop 08 Pig安装与Pig Latin语言,应用案例 共2

    安装过程包括获取Pig的源码或者二进制包,配置Hadoop环境,将Pig添加到Hadoop的类路径中,以及启动Pig的交互式shell(Pig grunt shell)。了解这些基础步骤是使用Pig的前提,也是日后维护和调试Pig脚本的关键。 ...

    基于hadoop平台的pig语言对apache日志系统的分析

    标题 "基于Hadoop平台的Pig语言对Apache日志系统的分析" 涉及到的主要知识点包括Hadoop、Pig语言以及Apache服务器日志的处理。以下是对这些关键概念的详细解释: 1. Hadoop平台: Hadoop是Apache软件基金会开发的...

    hadoop-3.1.2-src.tar.gz

    3. 数据集成:Hadoop可以与其他数据处理工具(如Spark、Hive、Pig等)结合,构建复杂的数据处理流水线,实现数据的ETL(提取、转换、加载)过程。 总结,Hadoop 3.1.2的源码分析不仅是对技术的深度探究,也是提升...

    pig-0.17.0.tar的安装包,

    Apache Pig 是一个用于大数据分析的平台,它提供了一种高级语言 Pig Latin 来处理大规模数据集。Pig-0.17.0 是该平台的一个稳定版本,包含了多项优化和改进,适用于Hadoop生态系统中的数据处理任务。本文将详细介绍...

    sqoop-1.4.7.bin__hadoop-2.6.0.tar

    在 Hadoop 生态系统中,Sqoop 提供了一种高效、可扩展的方式,用于将大量结构化数据导入到 Hadoop 分布式文件系统(HDFS)中,或者将数据导出回传统的关系型数据库。这使得 Hadoop 能够处理来自企业级数据库的数据,...

    Hadoop技术-Hadoop架构简介.pptx

    Pig是一个基于Hadoop的大规模数据分析平台,定义了一种类似于SQL的数据流语言-Pig Latin,提供了各种操作符,程序员可以利用它们开发自己的用于读取、写入和处理数据功能的程序。 Mahout是机器学习和数据挖掘的一个...

    pig基础操作

    在大数据处理领域,Apache Pig 是一个高级的并行数据处理框架,它允许用户使用一种名为 Pig Latin 的简单脚本语言来处理大规模数据集。Pig Latin 提供了一种抽象层,使得用户可以不直接编写 MapReduce 程序,而是...

    pig-0.11.1.tar.gz

    Apache Pig 是一个用于大数据分析的平台,它提供了一种高级的编程语言 Pig Latin,使得用户可以方便地处理大规模数据集,而无需深入理解底层分布式计算框架如 Hadoop MapReduce。在本文中,我们将深入探讨 Pig ...

    hadoop关于txt convert orcfile的应用

    ORC是一种高效、压缩的数据存储格式,特别适合大规模数据分析任务,因为它能提供快速的读写速度和优秀的数据压缩率。 描述中虽然没有具体信息,但从一般的转换流程来看,我们可以推断这个过程可能包括以下几个关键...

    Hadoop相关书籍

    它提供了一种SQL-like查询语言(HQL)来方便地对存储在Hadoop分布式文件系统(HDFS)上的数据进行查询和分析。Hive将复杂的MapReduce作业转换为用户友好的SQL查询,降低了大数据分析的门槛。 在"Programming Hive....

    如何使用Pig集成分词器来统计新闻词频?

    在大数据分析领域,Apache Pig是一种高级的脚本语言,用于处理大规模数据集。Pig Latin是Pig的编程语法,它允许用户通过简单的语句执行复杂的MapReduce任务。在这个场景中,我们探讨的是如何将分词器与Pig集成,以便...

    log4j-pig-master.zip

    Apache Pig是大数据处理领域的一个重要工具,它提供了一种高级的编程语言Pig Latin,用于构建大规模数据处理的流程。Pig Latin简洁、易于理解,使得非Java程序员也能方便地进行大数据分析。在“log4j-pig-master.zip...

    学习-hive源码.doc

    虽然Hive提供了一种简单的方式来查询Hadoop集群上的大数据,但它并不适合所有场景。对于实时或低延迟查询,HBase和Spark SQL可能是更好的选择。此外,Hive的查询性能受到MapReduce的限制,因此在需要高性能查询的...

    Hadoop-Projects

    Hadoop不仅仅是一个框架,更是一个生态系统,包括Hive(SQL-like查询工具)、Pig(数据分析工具)、Spark(快速计算引擎)、HBase(NoSQL数据库)、Oozie(工作流调度系统)等。理解这些工具如何与Hadoop协同工作,...

    大数据相关知识、数据集、项目源码及面试习题

    - **Pig**:一种高级数据流语言和执行框架,用于处理和分析大型数据集。 - **HBase**:一个分布式的、面向列的开源数据库,基于Google的Bigtable设计。 ##### 4. Spark生态系统 - **Spark Core**:Spark的核心模块...

Global site tag (gtag.js) - Google Analytics