zoukankan      html  css  js  c++  java
  • 【原创】Pig 0.10.0 piggybank 如何编译

    在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包

  • 相关阅读:
    linux文件编辑VI命令详解
    超级方便的linux命令手册
    查看两个集合中有没有相同的元素的方法。Collections disjoint
    list集合的遍历3种方法
    优秀的linux学习网站
    Linix CentOS6.5 下载安装图解(转)
    创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备
    VBA小记
    JSON FILE NOT FOUND?
    WPF之Binding【转】
  • 原文地址:https://www.cnblogs.com/siwei1988/p/2599672.html
Copyright © 2011-2022 走看看