We are running into this antlr runtime version compatibility issue in 
conjunction with hcat in the following cases:


 1.  A create table statement, such as:

create table mytable (id int, name string) partitioned by (dt string) STORED AS 
inputformat 'org.apache.pig.builtin.PigStorage' outputformat 
'org.apache.hadoop.hive.ql.io.RCFileOutputFormat' inputdriver 
'org.apache.hcatalog.pig.drivers.PigStorageInputDriver' outputdriver 
'org.apache.hcatalog.rcfile.RCFileOutputDriver'

Requires both, pig and hcat/hive in the classpath. Above statement will fail 
unless the hive antlr version comes first in the path (the more recent antlr 
version of pig won’t do).

To make this happen, a user will have to construct a HADOOP_CLASSPATH that has 
the hive antlr-runtime-3.0.1.jar, followed by pig and finally call the hcat 
script, which will add all other hcat jar files to the end of the path.


2. Pig (0.9) script with HCatLoader

Will require the opposite order of antlr-runtime. The script won’t parse with 
the 3.0.1 version.

So in this case, the user needs to be instructed to drop the 3.0.1 version from 
the class path (or make sure it appears in order after pig.jar. Typical use 
case for this is the workflow lib in oozie.

Above is difficult to comprehend for the user.

Are there plans to address this issue or other workarounds?



Reply via email to