在Pig 0.10.0中 piggybank源程序已经包含在contrib文件夹中,但是没有编译成jar包形式,需要自己用ant编译,官方的参考文档https://cwiki.apache.org/confluence/display/PIG/PiggyBank,但似乎只适合以前的版本

下面是我的编译步骤,仅供参考,过程中有很多自己不懂的地方,希望起到一个抛砖引玉的作用:

第一步:进入build.xml所在文件夹

[root@master java]# cd /home/swxing/pig-0.10.0/contrib/
[root@master contrib]# ls
CHANGES.txt  penny  piggybank  zebra
[root@master contrib]# cd piggybank/
[root@master piggybank]# ls
java
[root@master piggybank]# cd java
[root@master java]# ls
build  build.xml  lib  src

第二步:使用ant编译

[root@master java]# ant -file build.xml 

提示错误:

BUILD FAILED
/home/swxing/pig-0.10.0/contrib/piggybank/java/build.xml:92: /home/swxing/pig-0.10.0/build/ivy/lib not found.

看了一下的确不存在这个目录,但是看到pig-0.10.0根目录下有ivy文件夹,然后我就在pig-0.10.0目录下自己建了一个子目录:build/ivy/lib,然后把ivy文件夹和lib文件夹都拷贝进去了

这个地方我也不知到原因。。。。然后再用ant编译,提示80个错误。。。

View Code
compile:
     [echo]  *** Compiling Pig UDFs ***
    [javac] Compiling 154 source files to /home/swxing/pig-0.10.0/contrib/piggybank/java/build/classes
    [javac] 警告: [options] 未与 -source 1.6 一起设置引导类路径
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:33: 错误: 程序包org.apache.hadoop.hive.conf不存在
    [javac] import org.apache.hadoop.hive.conf.HiveConf;
    [javac]                                   ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:34: 错误: 程序包org.apache.hadoop.hive.ql.session不存在
    [javac] import org.apache.hadoop.hive.ql.session.SessionState;
    [javac]                                         ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:35: 错误: 程序包org.apache.hadoop.hive.serde不存在
    [javac] import org.apache.hadoop.hive.serde.Constants;
    [javac]                                    ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:36: 错误: 程序包org.apache.hadoop.hive.serde2不存在
    [javac] import org.apache.hadoop.hive.serde2.SerDeException;
    [javac]                                     ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:37: 错误: 程序包org.apache.hadoop.hive.serde2.columnar不存在
    [javac] import org.apache.hadoop.hive.serde2.columnar.BytesRefArrayWritable;
    [javac]                                              ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:38: 错误: 程序包org.apache.hadoop.hive.serde2.columnar不存在
    [javac] import org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe;
    [javac]                                              ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:39: 错误: 程序包org.apache.hadoop.hive.serde2.columnar不存在
    [javac] import org.apache.hadoop.hive.serde2.columnar.ColumnarStruct;
    [javac]                                              ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:23: 错误: 程序包org.apache.hadoop.hive.ql.io不存在
    [javac] import org.apache.hadoop.hive.ql.io.RCFileRecordReader;
    [javac]                                    ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:24: 错误: 程序包org.apache.hadoop.hive.serde2.columnar不存在
    [javac] import org.apache.hadoop.hive.serde2.columnar.BytesRefArrayWritable;
    [javac]                                              ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:35: 错误: 找不到符号
    [javac]     RecordReader<LongWritable, BytesRefArrayWritable> {
    [javac]                                ^
    [javac]   符号: 类 BytesRefArrayWritable
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:229: 错误: 找不到符号
    [javac]     ColumnarSerDe serde = null;
    [javac]     ^
    [javac]   符号:   类 ColumnarSerDe
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:235: 错误: 找不到符号
    [javac]     BytesRefArrayWritable buff = null;
    [javac]     ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:238: 错误: 找不到符号
    [javac]     private HiveConf hiveConf;
    [javac]             ^
    [javac]   符号:   类 HiveConf
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:316: 错误: 找不到符号
    [javac]     public InputFormat<LongWritable, BytesRefArrayWritable> getInputFormat()
    [javac]                                      ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:442: 错误: 找不到符号
    [javac]     private ColumnarStruct readColumnarStruct(BytesRefArrayWritable buff) {
    [javac]                                               ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:442: 错误: 找不到符号
    [javac]     private ColumnarStruct readColumnarStruct(BytesRefArrayWritable buff) {
    [javac]             ^
    [javac]   符号:   类 ColumnarStruct
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:465: 错误: 找不到符号
    [javac]     private Tuple readColumnarTuple(ColumnarStruct struct, Path path)
    [javac]                                     ^
    [javac]   符号:   类 ColumnarStruct
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:38: 错误: 找不到符号
    [javac]     BytesRefArrayWritable value;
    [javac]     ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveRCRecordReader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:40: 错误: 找不到符号
    [javac]     RCFileRecordReader<LongWritable, BytesRefArrayWritable> rcFileRecordReader;
    [javac]     ^
    [javac]   符号:   类 RCFileRecordReader
    [javac]   位置: 类 HiveRCRecordReader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:40: 错误: 找不到符号
    [javac]     RCFileRecordReader<LongWritable, BytesRefArrayWritable> rcFileRecordReader;
    [javac]                                      ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveRCRecordReader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:56: 错误: 找不到符号
    [javac]     public BytesRefArrayWritable getCurrentValue() throws IOException,
    [javac]            ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveRCRecordReader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:59: 错误: 程序包org.json.simple不存在
    [javac] import org.json.simple.JSONObject;
    [javac]                       ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:60: 错误: 程序包org.json.simple.parser不存在
    [javac] import org.json.simple.parser.JSONParser;
    [javac]                              ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:61: 错误: 程序包org.json.simple.parser不存在
    [javac] import org.json.simple.parser.ParseException;
    [javac]                              ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:109: 错误: 找不到符号
    [javac]     public AvroStorage(String[] parts) throws IOException, ParseException {
    [javac]                                                            ^
    [javac]   符号:   类 ParseException
    [javac]   位置: 类 AvroStorage
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:332: 错误: 找不到符号
    [javac]     protected Map<String, Object> parseJsonString(String jsonString) throws ParseException {
    [javac]                                                                             ^
    [javac]   符号:   类 ParseException
    [javac]   位置: 类 AvroStorage
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCInputFormat.java:29: 错误: 程序包org.apache.hadoop.hive.ql.io不存在
    [javac] import org.apache.hadoop.hive.ql.io.RCFile;
    [javac]                                    ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCInputFormat.java:30: 错误: 程序包org.apache.hadoop.hive.serde2.columnar不存在
    [javac] import org.apache.hadoop.hive.serde2.columnar.BytesRefArrayWritable;
    [javac]                                              ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCInputFormat.java:53: 错误: 找不到符号
    [javac]     FileInputFormat<LongWritable, BytesRefArrayWritable> {
    [javac]                                   ^
    [javac]   符号: 类 BytesRefArrayWritable
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCInputFormat.java:189: 错误: 找不到符号
    [javac]     public RecordReader<LongWritable, BytesRefArrayWritable> createRecordReader(
    [javac]                                       ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveRCInputFormat
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:28: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyArray;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:29: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyBoolean;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:30: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyByte;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:31: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyDouble;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:32: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyFloat;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:33: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyInteger;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:34: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyLong;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:35: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyMap;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:36: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyShort;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:37: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac] import org.apache.hadoop.hive.serde2.lazy.LazyString;
    [javac]                                          ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:256: 错误: 找不到符号
    [javac]     public static InternalMap parseLazyMapToPigMap(LazyMap map) {
    [javac]                                                    ^
    [javac]   符号:   类 LazyMap
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:281: 错误: 找不到符号
    [javac]     public static Tuple parseLazyArrayToPigArray(LazyArray arr) {
    [javac]                                                  ^
    [javac]   符号:   类 LazyArray
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:329: 错误: 找不到符号
    [javac]         BytesRefArrayWritable buff = reader.getCurrentValue();
    [javac]         ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:330: 错误: 找不到符号
    [javac]         ColumnarStruct struct = readColumnarStruct(buff);
    [javac]         ^
    [javac]   符号:   类 ColumnarStruct
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:375: 错误: 找不到符号
    [javac]         serde = new ColumnarSerDe();
    [javac]                     ^
    [javac]   符号:   类 ColumnarSerDe
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:377: 错误: 找不到符号
    [javac]     } catch (SerDeException e) {
    [javac]              ^
    [javac]   符号:   类 SerDeException
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:405: 错误: 找不到符号
    [javac]     hiveConf = new HiveConf(conf, SessionState.class);
    [javac]                    ^
    [javac]   符号:   类 HiveConf
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:405: 错误: 找不到符号
    [javac]     hiveConf = new HiveConf(conf, SessionState.class);
    [javac]                                   ^
    [javac]   符号:   类 SessionState
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:427: 错误: 找不到符号
    [javac]     props.setProperty(Constants.LIST_COLUMNS,
    [javac]                       ^
    [javac]   符号:   变量 Constants
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:429: 错误: 找不到符号
    [javac]     props.setProperty(Constants.LIST_COLUMN_TYPES,
    [javac]                       ^
    [javac]   符号:   变量 Constants
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:444: 错误: 找不到符号
    [javac]     ColumnarStruct struct = null;
    [javac]     ^
    [javac]   符号:   类 ColumnarStruct
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:446: 错误: 找不到符号
    [javac]         struct = (ColumnarStruct) serde.deserialize(buff);
    [javac]                   ^
    [javac]   符号:   类 ColumnarStruct
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/HiveColumnarLoader.java:447: 错误: 找不到符号
    [javac]     } catch (SerDeException e) {
    [javac]              ^
    [javac]   符号:   类 SerDeException
    [javac]   位置: 类 HiveColumnarLoader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:79: 错误: 找不到符号
    [javac]     rcFileRecordReader = new RCFileRecordReader<LongWritable, BytesRefArrayWritable>(
    [javac]                              ^
    [javac]   符号:   类 RCFileRecordReader
    [javac]   位置: 类 HiveRCRecordReader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCRecordReader.java:79: 错误: 找不到符号
    [javac]     rcFileRecordReader = new RCFileRecordReader<LongWritable, BytesRefArrayWritable>(
    [javac]                                                               ^
    [javac]   符号:   类 BytesRefArrayWritable
    [javac]   位置: 类 HiveRCRecordReader
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:335: 错误: 找不到符号
    [javac]         JSONParser parser = new JSONParser();
    [javac]         ^
    [javac]   符号:   类 JSONParser
    [javac]   位置: 类 AvroStorage
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:335: 错误: 找不到符号
    [javac]         JSONParser parser = new JSONParser();
    [javac]                                 ^
    [javac]   符号:   类 JSONParser
    [javac]   位置: 类 AvroStorage
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:336: 错误: 找不到符号
    [javac]         JSONObject obj = (JSONObject) parser.parse(jsonString);
    [javac]         ^
    [javac]   符号:   类 JSONObject
    [javac]   位置: 类 AvroStorage
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java:336: 错误: 找不到符号
    [javac]         JSONObject obj = (JSONObject) parser.parse(jsonString);
    [javac]                           ^
    [javac]   符号:   类 JSONObject
    [javac]   位置: 类 AvroStorage
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCInputFormat.java:223: 错误: 找不到符号
    [javac]     return RCFile.SYNC_INTERVAL;
    [javac]            ^
    [javac]   符号:   变量 RCFile
    [javac]   位置: 类 HiveRCInputFormat
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:218: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac]     if (value instanceof org.apache.hadoop.hive.serde2.lazy.LazyArray) {
    [javac]                                                            ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:219: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac]         value = parseLazyArrayToPigArray((org.apache.hadoop.hive.serde2.lazy.LazyArray) value);
    [javac]                                                                             ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:220: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac]     } else if (value instanceof org.apache.hadoop.hive.serde2.lazy.LazyMap) {
    [javac]                                                                   ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:221: 错误: 程序包org.apache.hadoop.hive.serde2.lazy不存在
    [javac]         value = parseLazyMapToPigMap((org.apache.hadoop.hive.serde2.lazy.LazyMap) value);
    [javac]                                                                         ^
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:224: 错误: 找不到符号
    [javac]         if (value instanceof LazyString) {
    [javac]                              ^
    [javac]   符号:   类 LazyString
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:225: 错误: 找不到符号
    [javac]         value = ((LazyString) value).getWritableObject().toString();
    [javac]                   ^
    [javac]   符号:   类 LazyString
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:226: 错误: 找不到符号
    [javac]         } else if (value instanceof LazyInteger) {
    [javac]                                     ^
    [javac]   符号:   类 LazyInteger
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:227: 错误: 找不到符号
    [javac]         value = ((LazyInteger) value).getWritableObject().get();
    [javac]                   ^
    [javac]   符号:   类 LazyInteger
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:228: 错误: 找不到符号
    [javac]         } else if (value instanceof LazyLong) {
    [javac]                                     ^
    [javac]   符号:   类 LazyLong
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:229: 错误: 找不到符号
    [javac]         value = ((LazyLong) value).getWritableObject().get();
    [javac]                   ^
    [javac]   符号:   类 LazyLong
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:230: 错误: 找不到符号
    [javac]         } else if (value instanceof LazyFloat) {
    [javac]                                     ^
    [javac]   符号:   类 LazyFloat
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:231: 错误: 找不到符号
    [javac]         value = ((LazyFloat) value).getWritableObject().get();
    [javac]                   ^
    [javac]   符号:   类 LazyFloat
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:232: 错误: 找不到符号
    [javac]         } else if (value instanceof LazyDouble) {
    [javac]                                     ^
    [javac]   符号:   类 LazyDouble
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:233: 错误: 找不到符号
    [javac]         value = ((LazyDouble) value).getWritableObject().get();
    [javac]                   ^
    [javac]   符号:   类 LazyDouble
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:234: 错误: 找不到符号
    [javac]         } else if (value instanceof LazyBoolean) {
    [javac]                                     ^
    [javac]   符号:   类 LazyBoolean
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:235: 错误: 找不到符号
    [javac]         boolean boolvalue = ((LazyBoolean) value).getWritableObject()
    [javac]                               ^
    [javac]   符号:   类 LazyBoolean
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:238: 错误: 找不到符号
    [javac]         } else if (value instanceof LazyByte) {
    [javac]                                     ^
    [javac]   符号:   类 LazyByte
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:239: 错误: 找不到符号
    [javac]         value = (int) ((LazyByte) value).getWritableObject().get();
    [javac]                         ^
    [javac]   符号:   类 LazyByte
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:240: 错误: 找不到符号
    [javac]         } else if (value instanceof LazyShort) {
    [javac]                                     ^
    [javac]   符号:   类 LazyShort
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/hiverc/HiveRCSchemaUtil.java:241: 错误: 找不到符号
    [javac]         value = ((LazyShort) value).getWritableObject().get();
    [javac]                   ^
    [javac]   符号:   类 LazyShort
    [javac]   位置: 类 HiveRCSchemaUtil
    [javac] 注: 某些输入文件使用或覆盖了已过时的 API。
    [javac] 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
    [javac] 注: /home/swxing/pig-0.10.0/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/IndexedStorage.java使用了未经检查或不安全的操作。
    [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
    [javac] 80 个错误
    [javac] 1 个警告

仔细看发现都是在/piggybank/storage/中java文件的错误,因为我的机子没装hive,所以提示没法引用,反正现在也永不到storage中的自定义函数,所以我就将storage中的内容清空了,再编译,就okay了。

附上我自己编译的piggybank jar包

 

posted on 2012-07-19 17:11  siwei1988  阅读(1767)  评论(0编辑  收藏  举报