在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个错误。。。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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包