private static HBaseKeyFactory createKeyFactory(Configuration job, Properties tbl) throws Exception { String factoryClassName = tbl.getProperty(HBaseSerDe.HBASE_COMPOSITE_KEY_FACTORY); if (factoryClassName != null) { Class<?> factoryClazz = loadClass(factoryClassName, job); return (HBaseKeyFactory) ReflectionUtils.newInstance(factoryClazz, job); } String keyClassName = tbl.getProperty(HBaseSerDe.HBASE_COMPOSITE_KEY_CLASS); if (keyClassName != null) { Class<?> keyClass = loadClass(keyClassName, job); return new CompositeHBaseKeyFactory(keyClass); } return new DefaultHBaseKeyFactory(); }
private List<HBaseValueFactory> createValueFactories(Configuration conf, Properties tbl) throws SerDeException { List<HBaseValueFactory> valueFactories = new ArrayList<HBaseValueFactory>(); try { for (int i = 0; i < columnMappings.size(); i++) { String serType = getSerializationType(conf, tbl, columnMappings.getColumnsMapping()[i]); if (AVRO_SERIALIZATION_TYPE.equals(serType)) { Schema schema = getSchema(conf, tbl, columnMappings.getColumnsMapping()[i]); valueFactories.add(new AvroHBaseValueFactory(i, schema)); } else if (STRUCT_SERIALIZATION_TYPE.equals(serType)) { String structValueClassName = tbl.getProperty(HBaseSerDe.HBASE_STRUCT_SERIALIZER_CLASS); if (structValueClassName == null) { throw new IllegalArgumentException(HBaseSerDe.HBASE_STRUCT_SERIALIZER_CLASS + " must be set for hbase columns of type [" + STRUCT_SERIALIZATION_TYPE + "]"); } Class<?> structValueClass = loadClass(structValueClassName, job); valueFactories.add(new StructHBaseValueFactory(i, structValueClass)); } else { valueFactories.add(new DefaultHBaseValueFactory(i)); } } } catch (Exception e) { throw new SerDeException(e); } return valueFactories; }
deserializerClass = loadClass(serClassName, conf);
private static HBaseKeyFactory createKeyFactory(Configuration job, Properties tbl) throws Exception { String factoryClassName = tbl.getProperty(HBaseSerDe.HBASE_COMPOSITE_KEY_FACTORY); if (factoryClassName != null) { Class<?> factoryClazz = loadClass(factoryClassName, job); return (HBaseKeyFactory) ReflectionUtils.newInstance(factoryClazz, job); } String keyClassName = tbl.getProperty(HBaseSerDe.HBASE_COMPOSITE_KEY_CLASS); if (keyClassName != null) { Class<?> keyClass = loadClass(keyClassName, job); return new CompositeHBaseKeyFactory(keyClass); } return new DefaultHBaseKeyFactory(); }
deserializerClass = loadClass(serClassName, conf);
private List<HBaseValueFactory> createValueFactories(Configuration conf, Properties tbl) throws SerDeException { List<HBaseValueFactory> valueFactories = new ArrayList<HBaseValueFactory>(); try { for (int i = 0; i < columnMappings.size(); i++) { String serType = getSerializationType(conf, tbl, columnMappings.getColumnsMapping()[i]); if (AVRO_SERIALIZATION_TYPE.equals(serType)) { Schema schema = getSchema(conf, tbl, columnMappings.getColumnsMapping()[i]); valueFactories.add(new AvroHBaseValueFactory(i, schema)); } else if (STRUCT_SERIALIZATION_TYPE.equals(serType)) { String structValueClassName = tbl.getProperty(HBaseSerDe.HBASE_STRUCT_SERIALIZER_CLASS); if (structValueClassName == null) { throw new IllegalArgumentException(HBaseSerDe.HBASE_STRUCT_SERIALIZER_CLASS + " must be set for hbase columns of type [" + STRUCT_SERIALIZATION_TYPE + "]"); } Class<?> structValueClass = loadClass(structValueClassName, job); valueFactories.add(new StructHBaseValueFactory(i, structValueClass)); } else { valueFactories.add(new DefaultHBaseValueFactory(i)); } } } catch (Exception e) { throw new SerDeException(e); } return valueFactories; }