示例#1
0
 public static ObjectInspector createColumnarStructInspector(
     List<String> columnNames, List<TypeInfo> columnTypes) {
   ArrayList<ObjectInspector> columnObjectInspectors =
       new ArrayList<ObjectInspector>(columnTypes.size());
   for (int i = 0; i < columnTypes.size(); i++) {
     columnObjectInspectors.add(
         LazyBinaryUtils.getLazyBinaryObjectInspectorFromTypeInfo(columnTypes.get(i)));
   }
   return ObjectInspectorFactory.getColumnarStructObjectInspector(
       columnNames, columnObjectInspectors);
 }
示例#2
0
  /*
   * (non-Javadoc)
   *
   * @see org.apache.hadoop.hive.serde2.AbstractSerDe#initialize(org.apache.hadoop.conf.Configuration,
   * java.util.Properties)
   */
  @Override
  public void initialize(Configuration conf, Properties tbl) throws SerDeException {
    String columnNameProperty = tbl.getProperty(LIST_COLUMNS);
    String columnTypeProperty = tbl.getProperty(LIST_COLUMN_TYPES);
    List<String> columnNames = Arrays.asList(columnNameProperty.split(","));
    List<TypeInfo> columnTypes = TypeInfoUtils.getTypeInfosFromTypeString(columnTypeProperty);

    List<ObjectInspector> columnObjectInspectors =
        new ArrayList<ObjectInspector>(columnNames.size());
    ObjectInspector colObjectInspector;
    for (int col = 0; col < columnNames.size(); col++) {
      colObjectInspector =
          TypeInfoUtils.getStandardJavaObjectInspectorFromTypeInfo(columnTypes.get(col));
      columnObjectInspectors.add(colObjectInspector);
    }

    cachedObjectInspector =
        ObjectInspectorFactory.getColumnarStructObjectInspector(
            columnNames, columnObjectInspectors);
  }