> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > hbase-handler/src/java/org/apache/hadoop/hive/hbase/CompositeHBaseKeyFactory.java,
> >  line 98
> > <https://reviews.apache.org/r/18179/diff/8/?file=544997#file544997line98>
> >
> >     Can we pass those as constructor arguments instead of individual set 
> > methods?

It was like that long before and not fixed even in your refactoring patch. I 
cannot sure it's meaningful to change those columns to be arguments of 
constructor, if the analyzer has add method. Or you mean we should remove add 
method altogether?


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/index/IndexPredicateAnalyzer.java, 
> > line 212
> > <https://reviews.apache.org/r/18179/diff/8/?file=545019#file545019line212>
> >
> >     What is this change for?

Currently, IndexSearchCondition does not allow field, so I've improvised 
string[] to describe fields not hurting other codes. Wish I could have a better 
idea.


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java, line 264
> > <https://reviews.apache.org/r/18179/diff/8/?file=545025#file545025line264>
> >
> >     Can we have some comments here describing what we are doing?

sure


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java, line 277
> > <https://reviews.apache.org/r/18179/diff/8/?file=545025#file545025line277>
> >
> >     Same as above.

sure


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java, line 73
> > <https://reviews.apache.org/r/18179/diff/8/?file=545026#file545026line73>
> >
> >     I don't quite follow the need of serializing filter object.

In the HIVE-6290, analyzer makes a Scan object rather than ExprDesc. So made 
generic way of handling this kind of special predicates. I used similar way for 
handling over predicate object into non-native system and felt it's quite 
useful.


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java, 
> > line 174
> > <https://reviews.apache.org/r/18179/diff/8/?file=545034#file545034line174>
> >
> >     I don't see any use of this method.

Remnant of previous patch. removed.


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > hbase-handler/src/java/org/apache/hadoop/hive/hbase/ColumnMappings.java, 
> > line 40
> > <https://reviews.apache.org/r/18179/diff/8/?file=544996#file544996line40>
> >
> >     I think I had a previous comment that hasn't been addressed. It' 
> > scopied here:
> >     
> >     Can we use List? I don't see any advantages of array in this case. 
> > Rather, it brings additional code handling the list-array conversion.

commented above as 

"I prefer arrays than lists for non-mutables, which implies it's ready and 
would not be added or removed further"

Yes, I just prefer array. If you don't like it, I'll change.


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > hbase-handler/src/java/org/apache/hadoop/hive/hbase/CompositeHBaseKeyFactory.java,
> >  line 93
> > <https://reviews.apache.org/r/18179/diff/8/?file=544997#file544997line93>
> >
> >     Can we have come comments describe what we achieve here functionally? 
> > It's hard to understand what's going on here.
> >     
> >     I didn't see this part of code in previous review.

Much of codes are included from the patch of HIVE-6290, cause I didn't bother 
Swarnim to rebase it on this. I should do some investigation for proper 
comments on it.


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/index/IndexPredicateAnalyzer.java, 
> > line 190
> > <https://reviews.apache.org/r/18179/diff/8/?file=545019#file545019line190>
> >
> >     Is this to fix some bug?

Regretfully, I've appended null marker to discern const-column between 
column-const in HIVE-3617. That became more complicated by supporting 
ExprNodeFieldDesc to be analyzed. Now we know the order by comparing the first 
ExprDesc of array is constant.


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/index/IndexPredicateAnalyzer.java, 
> > line 281
> > <https://reviews.apache.org/r/18179/diff/8/?file=545019#file545019line281>
> >
> >     There seems to have some indention problem.

You mean 100 columns limit? I thought anyone respects code convention in theses 
days. I'll fix that.


> On April 6, 2014, 4:32 a.m., Xuefu Zhang wrote:
> > serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyObjectBase.java, line 
> > 21
> > <https://reviews.apache.org/r/18179/diff/8/?file=545033#file545033line21>
> >
> >     The class name doesn't sound like an interface.

When this be done, users would implement or extend this class. From the aspect 
of freedom provided, I thought interface would be (much) better for them. 
Wanted the name 'LazyObject', but it's already occupied and couldn't find 
excuses for further changes.


- Navis


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18179/#review39628
-----------------------------------------------------------


On April 2, 2014, 6:28 a.m., Navis Ryu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18179/
> -----------------------------------------------------------
> 
> (Updated April 2, 2014, 6:28 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/AbstractHBaseKeyFactory.java
>  PRE-CREATION 
>   hbase-handler/src/java/org/apache/hadoop/hive/hbase/ColumnMappings.java 
> PRE-CREATION 
>   
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/CompositeHBaseKeyFactory.java
>  PRE-CREATION 
>   
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/DefaultHBaseKeyFactory.java
>  PRE-CREATION 
>   hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseCompositeKey.java 
> 5008f15 
>   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/HBaseRowSerializer.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 5fe35a5 
>   
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDeParameters.java 
> b64590d 
>   
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseStorageHandler.java 
> 4fe1b1b 
>   
> hbase-handler/src/java/org/apache/hadoop/hive/hbase/HiveHBaseTableInputFormat.java
>  142bfd8 
>   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/org/apache/hadoop/hive/hbase/TestLazyHBaseObject.java 
> 7c4fc9f 
>   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 e52d364 
>   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 f0c0ecf 
>   ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcStruct.java 293b74e 
>   
> ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ArrayWritableObjectInspector.java
>  bb02bab 
>   
> 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 ecb82d7 
>   ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java c0a8269 
>   serde/src/java/org/apache/hadoop/hive/serde2/BaseStructObjectInspector.java 
> PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/NullStructSerDe.java dba5e33 
>   serde/src/java/org/apache/hadoop/hive/serde2/StructObject.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/LazySimpleSerDe.java 
> 82c1263 
>   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 
>   
> serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ColumnarStructObjectInspector.java
>  7d0d91c 
>   
> serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/DelegatedStructObjectInspector.java
>  5e1a369 
>   
> serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ReflectionStructObjectInspector.java
>  bd3cdd4 
>   
> serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StructField.java 
> 67827d6 
>   
> serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/UnionStructObjectInspector.java
>  60e55ec 
> 
> Diff: https://reviews.apache.org/r/18179/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Navis Ryu
> 
>

Reply via email to