> On March 10, 2014, 9:25 p.m., Xuefu Zhang wrote:
> > hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDe.java, line
> > 730
> > <https://reviews.apache.org/r/18179/diff/5/?file=513392#file513392line730>
> >
> > Can we define serielize() interface in HBaseKeyFactory, move the
> > existing implementation here to HBaseCompositeKeyFactory? Serialize() seems
> > seems generic enough to expect from all key factories. Doing this will
> > eliminate HBaseWritableKeyFactory and use of the class to detect what
> > method to call.
If the default serialization can be done by simple decent method call, I would
have done like that. But current implementation needs seven argument for
that(+serdeParams), which made me think twice of it.
byte[] serialize(
int i,
List<ColumnMapping> mapping,
List<? extends StructField> fields,
List<Object> list,
List<? extends StructField> declaredFields,
boolean useJSONSerialize,
ByteStream.Output serializeStream) throws IOException;
- Navis
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18179/#review36688
-----------------------------------------------------------
On March 7, 2014, 7:46 a.m., Navis Ryu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18179/
> -----------------------------------------------------------
>
> (Updated March 7, 2014, 7:46 a.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-6411
> https://issues.apache.org/jira/browse/HIVE-6411
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> HIVE-2599 introduced using custom object for the row key. But it forces key
> objects to extend HBaseCompositeKey, which is again extension of LazyStruct.
> If user provides proper Object and OI, we can replace internal key and keyOI
> with those.
>
> Initial implementation is based on factory interface.
> {code}
> public interface HBaseKeyFactory {
> void init(SerDeParameters parameters, Properties properties) throws
> SerDeException;
> ObjectInspector createObjectInspector(TypeInfo type) throws SerDeException;
> LazyObjectBase createObject(ObjectInspector inspector) throws
> SerDeException;
> }
> {code}
>
>
> Diffs
> -----
>
> hbase-handler/pom.xml 132af43
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseCompositeKey.java
> 5008f15
>
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseCompositeKeyFactory.java
> PRE-CREATION
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseKeyFactory.java
> PRE-CREATION
>
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseLazyObjectFactory.java
> PRE-CREATION
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseScanRange.java
> PRE-CREATION
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDe.java 2cd65cb
>
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseStorageHandler.java
> 29e5da5
>
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseWritableKeyFactory.java
> PRE-CREATION
>
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HiveHBaseTableInputFormat.java
> 704fcb9
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/LazyHBaseRow.java
> fc40195
>
> hbase-handler/src/test/org/apache/hadoop/hive/hbase/HBaseTestCompositeKey.java
> 13c344b
>
> hbase-handler/src/test/org/apache/hadoop/hive/hbase/TestHBaseKeyFactory.java
> PRE-CREATION
>
> hbase-handler/src/test/org/apache/hadoop/hive/hbase/TestHBaseKeyFactory2.java
> PRE-CREATION
> hbase-handler/src/test/queries/positive/hbase_custom_key.q PRE-CREATION
> hbase-handler/src/test/queries/positive/hbase_custom_key2.q PRE-CREATION
> hbase-handler/src/test/results/positive/hbase_custom_key.q.out PRE-CREATION
> hbase-handler/src/test/results/positive/hbase_custom_key2.q.out
> PRE-CREATION
> itests/util/pom.xml e9720df
> ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java b966d33
> ql/src/java/org/apache/hadoop/hive/ql/index/IndexPredicateAnalyzer.java
> d39ee2e
> ql/src/java/org/apache/hadoop/hive/ql/index/IndexSearchCondition.java
> 5f1329c
> ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java 647a9a6
>
> ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveStoragePredicateHandler.java
> 9f35575
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java e50026b
> ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java 10bae4d
> ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java 40298e1
> serde/src/java/org/apache/hadoop/hive/serde2/StructObject.java PRE-CREATION
> serde/src/java/org/apache/hadoop/hive/serde2/StructObjectBaseInspector.java
> PRE-CREATION
>
> serde/src/java/org/apache/hadoop/hive/serde2/columnar/ColumnarStructBase.java
> 1fd6853
> serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyObject.java 10f4c05
> serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyObjectBase.java
> 3334dff
> serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyStruct.java 8a1ea46
>
> serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazySimpleStructObjectInspector.java
> 8a5386a
>
> serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryObject.java
> 598683f
>
> serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryStruct.java
> caf3517
>
> Diff: https://reviews.apache.org/r/18179/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Navis Ryu
>
>