pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Dai <da...@hortonworks.com>
Subject Re: Questions about dependencies included in withouth-hadoop jar file and lib directory.
Date Tue, 24 Jun 2014 18:34:03 GMT
On Mon, Jun 23, 2014 at 8:13 PM, lulynn_2008 <lulynn_2008@163.com> wrote:
> Hi All,
> In build.xml in branch-0.13,
> 1. following jars are included into lib directory during packaging:
>         <copy todir="${tar.dist.dir}/lib">
>             <fileset dir="${ivy.lib.dir}" includes="jython-*.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="jruby-*.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="groovy-*.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="js-*.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="hbase-*.jar" excludes="hbase-*tests.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="protobuf-java-*.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="zookeeper-*.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="accumulo-*.jar" excludes="accumulo-minicluster*.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="avro-*.jar" excludes="avro-*tests.jar"/>
>             <fileset dir="${ivy.lib.dir}" includes="json-simple-*.jar"/>
>         </copy>
> 2. following jars are included in without hadoop jar file:
>     <fileset dir="${ivy.lib.dir}" id="runtime.dependencies-withouthadoop.jar">
>         <patternset id="pattern.runtime.dependencies-withouthadoop.jar">
>             <include name="antlr-runtime-${antlr.version}.jar"/>
>             <include name="ST4-${stringtemplate.version}.jar"/>
>             <include name="jline-${jline.version}.jar"/>
>             <include name="jackson-mapper-asl-${jackson.version}.jar"/>
>             <include name="jackson-core-asl-${jackson.version}.jar"/>
>             <include name="joda-time-${joda-time.version}.jar"/>
>             <include name="guava-${guava.version}.jar"/>
>             <include name="automaton-${automaton.version}.jar"/>
>             <include name="jansi-${jansi.version}.jar"/>
>             <include name="avro-${avro.version}.jar"/>
>             <include name="avro-mapred-${avro.version}.jar"/>
>             <include name="trevni-core-${avro.version}.jar"/>
>             <include name="trevni-avro-${avro.version}.jar"/>
>             <include name="snappy-java-${snappy.version}.jar"/>
>             <include name="asm*.jar"/>
>         </patternset>
>     </fileset>
> Questions:
> 1. Could you tell what the jars in 1# and 2# are used for? What are the differences between
them?
> 1. Seems all the jars in 1# and 2# will be necessary when pig running at hadoop cluster.
Correct?

#2 are core dependency Pig depends on, those will be wrapped into
pig-withouthadoop.jar. #1 are the convenience jar used only when user
are using specific loader, such as HBaseStorage/AvroStorage, those are
not needed if you don't use such loader, and will not be wrapped into
pig-withouthadoop.jar

> 2. without hadoop jar file will be invoked during pig running in hadoop cluster, and
this jar file includes pig core and some dependencies. Could we just generate pig core jar
and move all the dependencies into lib directory? Then in pig script, we could alwayse add
pig core into classpath add the dependencies into classpath in "if [ -n "$HADOOP_BIN" ]; then"
option. If this:
> -  it would be clear for user to check dependencies version
> -  it would be easiler to mantain dependencies, Like version update. Sometime, I would
like to check whether pig could work with difference version dependencies.

Yes, that's a better solution. However, those jars are also needed in
the backend and we need to ship those jars into distributed cache.
There will be some code change to make it happen. Just change pig
script is not sufficient.

> Do you have any concern?
>
> Thanks
>

-- 
CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader 
of this message is not the intended recipient, you are hereby notified that 
any printing, copying, dissemination, distribution, disclosure or 
forwarding of this communication is strictly prohibited. If you have 
received this communication in error, please contact the sender immediately 
and delete it from your system. Thank You.

Mime
View raw message