Amit Katti created DRILL-1214:
---------------------------------
Summary: Query with filter conditions fail while querying against
Views built against Hbase tables
Key: DRILL-1214
URL: https://issues.apache.org/jira/browse/DRILL-1214
Project: Apache Drill
Issue Type: Bug
Components: Storage - HBase
Reporter: Amit Katti
I created a Hbase table called hbase_student as follows in hbase shell:
{code}
create 'hbase_student', 'stats'
put 'hbase_student', '1', 'stats:name', 'fred ovid'
put 'hbase_student', '1', 'stats:age', '76'
put 'hbase_student', '1', 'stats:gpa', '1.55'
put 'hbase_student', '1', 'stats:studentnum', '692315658449'
put 'hbase_student', '1', 'stats:create_time', '2014-05-27 00:26:07'
put 'hbase_student', '2', 'stats:name', 'bob brown'
put 'hbase_student', '2', 'stats:age', '63'
put 'hbase_student', '2', 'stats:gpa', '3.18'
put 'hbase_student', '2', 'stats:studentnum', '650706039334'
put 'hbase_student', '2', 'stats:create_time', '2014-12-04 21:43:14'
put 'hbase_student', '3', 'stats:name', 'bob hernandez'
put 'hbase_student', '3', 'stats:age', '28'
put 'hbase_student', '3', 'stats:gpa', '1.09'
put 'hbase_student', '3', 'stats:studentnum', '293612255322'
put 'hbase_student', '3', 'stats:create_time', '2014-05-31 14:33:06'
{code}
I then logged in to sqlline using dfs.root schema and am able to successfully
create a view & query it as long as filter conditions are not present
{code}
create view student_view as
select cast(tbl.row_key as int)rownum,
cast(tbl.stats.name as varchar(20))name,
cast(tbl.stats.age as int)age,
cast(tbl.stats.gpa as float)gpa,
cast(tbl.stats.studentnum as bigint)studentnum,
cast(tbl.stats.create_time as varchar(20))create_time
from hbase.hbase_student tbl
order by rownum;
Select * from student_view;
+------------+------------+------------+------------+------------+-------------+
| rownum | name | age | gpa | studentnum | create_time |
+------------+------------+------------+------------+------------+-------------+
| 1 | fred ovid | 76 | 1.55 | 692315658449 | 2014-05-27
00:26:07 |
| 2 | bob brown | 63 | 3.18 | 650706039334 | 2014-12-04
21:43:14 |
| 3 | bob hernandez | 28 | 1.09 | 293612255322 |
2014-05-31 14:33:06 |
+------------+------------+------------+------------+------------+-------------+
Select name,age,create_time from student_view;
+------------+------------+-------------+
| name | age | create_time |
+------------+------------+-------------+
| fred ovid | 76 | 2014-05-27 00:26:07 |
| bob brown | 63 | 2014-12-04 21:43:14 |
| bob hernandez | 28 | 2014-05-31 14:33:06 |
+------------+------------+-------------+
{code}
However if I have a filter condition, the query fails as follows:
{code}
select * from student_view where age > 50;
error_type: 0
message: "Screen received stop request sent. < SchemaChangeException:[ Failure
while attempting to load generated class ] < ClassTransformationException:[
Failure generating transformation classes for value:
package org.apache.drill.exec.test.generated;
import org.apache.drill.exec.exception.SchemaChangeException;
import org.apache.drill.exec.ops.FragmentContext;
import org.apache.drill.exec.record.RecordBatch;
import org.apache.drill.exec.vector.IntVector;
import org.apache.drill.exec.vector.NullableBigIntVector;
import org.apache.drill.exec.vector.NullableFloat4Vector;
import org.apache.drill.exec.vector.NullableIntVector;
import org.apache.drill.exec.vector.NullableVarCharVector;
public class CopierGen287 {
IntVector vv0;
IntVector vv3;
NullableVarCharVector vv6;
NullableVarCharVector vv9;
NullableIntVector vv12;
NullableIntVector vv15;
NullableFloat4Vector vv18;
NullableFloat4Vector vv21;
NullableBigIntVector vv24;
NullableBigIntVector vv27;
NullableVarCharVector vv30;
NullableVarCharVector vv33;
public void doSetup(FragmentContext context, RecordBatch incoming,
RecordBatch outgoing)
throws SchemaChangeException
{
{
int[] fieldIds1 = new int[ 1 ] ;
fieldIds1 [ 0 ] = 0;
Object tmp2 = (incoming).getValueAccessorById(IntVector.class,
fieldIds1).getValueVector();
if (tmp2 == null) {
throw new SchemaChangeException("Failure while loading vector
vv0 with id: org.apache.drill.exec.record.TypedFieldId@21b323dc.");
}
vv0 = ((IntVector) tmp2);
int[] fieldIds4 = new int[ 1 ] ;
fieldIds4 [ 0 ] = 0;
Object tmp5 = (outgoing).getValueAccessorById(IntVector.class,
fieldIds4).getValueVector();
if (tmp5 == null) {
throw new SchemaChangeException("Failure while loading vector
vv3 with id: org.apache.drill.exec.record.TypedFieldId@21b323dc.");
}
vv3 = ((IntVector) tmp5);
int[] fieldIds7 = new int[ 1 ] ;
fieldIds7 [ 0 ] = 1;
Object tmp8 =
(incoming).getValueAccessorById(NullableVarCharVector.class,
fieldIds7).getValueVector();
if (tmp8 == null) {
throw new SchemaChangeException("Failure while loading vector
vv6 with id: org.apache.drill.exec.record.TypedFieldId@f66d7cdd.");
}
vv6 = ((NullableVarCharVector) tmp8);
int[] fieldIds10 = new int[ 1 ] ;
fieldIds10 [ 0 ] = 1;
Object tmp11 =
(outgoing).getValueAccessorById(NullableVarCharVector.class,
fieldIds10).getValueVector();
if (tmp11 == null) {
throw new SchemaChangeException("Failure while loading vector
vv9 with id: org.apache.drill.exec.record.TypedFieldId@f66d7cdd.");
}
vv9 = ((NullableVarCharVector) tmp11);
int[] fieldIds13 = new int[ 1 ] ;
fieldIds13 [ 0 ] = 2;
Object tmp14 =
(incoming).getValueAccessorById(NullableIntVector.class,
fieldIds13).getValueVector();
if (tmp14 == null) {
throw new SchemaChangeException("Failure while loading vector
vv12 with id: org.apache.drill.exec.record.TypedFieldId@2376fc9d.");
}
vv12 = ((NullableIntVector) tmp14);
int[] fieldIds16 = new int[ 1 ] ;
fieldIds16 [ 0 ] = 2;
Object tmp17 =
(outgoing).getValueAccessorById(NullableIntVector.class,
fieldIds16).getValueVector();
if (tmp17 == null) {
throw new SchemaChangeException("Failure while loading vector
vv15 with id: org.apache.drill.exec.record.TypedFieldId@2376fc9d.");
}
vv15 = ((NullableIntVector) tmp17);
int[] fieldIds19 = new int[ 1 ] ;
fieldIds19 [ 0 ] = 3;
Object tmp20 =
(incoming).getValueAccessorById(NullableFloat4Vector.class,
fieldIds19).getValueVector();
if (tmp20 == null) {
throw new SchemaChangeException("Failure while loading vector
vv18 with id: org.apache.drill.exec.record.TypedFieldId@3d6b2cfd.");
}
vv18 = ((NullableFloat4Vector) tmp20);
int[] fieldIds22 = new int[ 1 ] ;
fieldIds22 [ 0 ] = 3;
Object tmp23 =
(outgoing).getValueAccessorById(NullableFloat4Vector.class,
fieldIds22).getValueVector();
if (tmp23 == null) {
throw new SchemaChangeException("Failure while loading vector
vv21 with id: org.apache.drill.exec.record.TypedFieldId@3d6b2cfd.");
}
vv21 = ((NullableFloat4Vector) tmp23);
int[] fieldIds25 = new int[ 1 ] ;
fieldIds25 [ 0 ] = 4;
Object tmp26 =
(incoming).getValueAccessorById(NullableBigIntVector.class,
fieldIds25).getValueVector();
if (tmp26 == null) {
throw new SchemaChangeException("Failure while loading vector
vv24 with id: org.apache.drill.exec.record.TypedFieldId@c6480360.");
}
vv24 = ((NullableBigIntVector) tmp26);
int[] fieldIds28 = new int[ 1 ] ;
fieldIds28 [ 0 ] = 4;
Object tmp29 =
(outgoing).getValueAccessorById(NullableBigIntVector.class,
fieldIds28).getValueVector();
if (tmp29 == null) {
throw new SchemaChangeException("Failure while loading vector
vv27 with id: org.apache.drill.exec.record.TypedFieldId@c6480360.");
}
vv27 = ((NullableBigIntVector) tmp29);
int[] fieldIds31 = new int[ 1 ] ;
fieldIds31 [ 0 ] = 5;
Object tmp32 =
(incoming).getValueAccessorById(NullableVarCharVector.class,
fieldIds31).getValueVector();
if (tmp32 == null) {
throw new SchemaChangeException("Failure while loading vector
vv30 with id: org.apache.drill.exec.record.TypedFieldId@fd40df59.");
}
vv30 = ((NullableVarCharVector) tmp32);
int[] fieldIds34 = new int[ 1 ] ;
fieldIds34 [ 0 ] = 5;
Object tmp35 =
(outgoing).getValueAccessorById(NullableVarCharVector.class,
fieldIds34).getValueVector();
if (tmp35 == null) {
throw new SchemaChangeException("Failure while loading vector
vv33 with id: org.apache.drill.exec.record.TypedFieldId@fd40df59.");
}
vv33 = ((NullableVarCharVector) tmp35);
}
}
public boolean doEval(int inIndex, int outIndex)
throws SchemaChangeException
{
{
if (!vv3 .copyFromSafe(((inIndex)& 65535), (outIndex), vv0
[((inIndex)>>> 16)])) {
return false;
}
if (!vv9 .copyFromSafe(((inIndex)& 65535), (outIndex), vv6
[((inIndex)>>> 16)])) {
return false;
}
if (!vv15 .copyFromSafe(((inIndex)& 65535), (outIndex), vv12
[((inIndex)>>> 16)])) {
return false;
}
if (!vv21 .copyFromSafe(((inIndex)& 65535), (outIndex), vv18
[((inIndex)>>> 16)])) {
return false;
}
if (!vv27 .copyFromSafe(((inIndex)& 65535), (outIndex), vv24
[((inIndex)>>> 16)])) {
return false;
}
if (!vv33 .copyFromSafe(((inIndex)& 65535), (outIndex), vv30
[((inIndex)>>> 16)])) {
return false;
}
}
{
return true;
}
}
}
] < CompileException:[ Line 123, Column 36: No applicable constructor/method
found for actual parameters "int, int, java.lang.Object"; candidates are:
"public boolean org.apache.drill.exec.vector.IntVector.copyFromSafe(int, int,
org.apache.drill.exec.vector.IntVector)" ]"
]
{code}
The Exception in the drillbit.log is:
{code}
2014-07-28 17:33:31,496 [7b0e3219-8f05-480e-a5f5-bcf1e505c044:frag:0:0] ERROR
o.a.d.e.w.f.AbstractStatusReporter - Error
373d229a-9697-46c0-a776-a747d5b0cf7a: Failure while running fragment.
org.codehaus.commons.compiler.CompileException: Line 123, Column 36: No
applicable constructor/method found for actual parameters "int, int,
java.lang.Object"; candidates are: "public boolean
org.apache.drill.exec.vector.IntVector.copyFromSafe(int, int,
org.apache.drill.exec.vector.IntVector)"
at
org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:10056)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:7466)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:7336)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:7239)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3860)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.access$6900(UnitCompiler.java:182)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler$10.visitMethodInvocation(UnitCompiler.java:3261)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:3978)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3288)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4354)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:2854)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.access$4800(UnitCompiler.java:182)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2815)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:3978)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:2842)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:2872)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.access$4900(UnitCompiler.java:182)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler$8.visitUnaryOperation(UnitCompiler.java:2808)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.Java$UnaryOperation.accept(Java.java:3651)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:2842)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1743)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.access$1200(UnitCompiler.java:182)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler$4.visitIfStatement(UnitCompiler.java:941)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.Java$IfStatement.accept(Java.java:2145)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:962)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1004)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:989)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.access$1000(UnitCompiler.java:182)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler$4.visitBlock(UnitCompiler.java:939)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.Java$Block.accept(Java.java:2005)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:962)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1004)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2284)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:826)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:798)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:503)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:389)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:182)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:343)
~[janino-2.7.4.jar:2.7.4]
at
org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1136)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:350)
~[janino-2.7.4.jar:2.7.4]
at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:318)
~[janino-2.7.4.jar:2.7.4]
at
org.apache.drill.exec.compile.JaninoClassCompiler.getByteCode(JaninoClassCompiler.java:48)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.compile.AbstractClassCompiler.getClassByteCode(AbstractClassCompiler.java:43)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.compile.QueryClassLoader$ClassCompilerSelector.getClassByteCode(QueryClassLoader.java:127)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.compile.QueryClassLoader$ClassCompilerSelector.access$000(QueryClassLoader.java:100)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.compile.QueryClassLoader.getClassByteCode(QueryClassLoader.java:93)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.compile.ClassTransformer.getImplementationClass(ClassTransformer.java:254)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.ops.FragmentContext.getImplementationClass(FragmentContext.java:182)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.svremover.RemovingRecordBatch.getGenerated4Copier(RemovingRecordBatch.java:264)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.svremover.RemovingRecordBatch.getGenerated4Copier(RemovingRecordBatch.java:250)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.svremover.RemovingRecordBatch.setupNewSchema(RemovingRecordBatch.java:80)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:66)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.svremover.RemovingRecordBatch.innerNext(RemovingRecordBatch.java:96)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:91)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:116)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:72)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:65)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:45)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:95)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:91)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:116)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:58)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:97)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:48)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:100)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:242)
[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[na:1.7.0_55]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_55]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_55]
{code}
But The same filter condition works if I apply it directly on Hbase table
instead of the view
{code}
select cast(tbl.row_key as int)rownum,
cast(tbl.stats.name as varchar(20))name,
cast(tbl.stats.age as int)age,
cast(tbl.stats.gpa as float)gpa,
cast(tbl.stats.studentnum as bigint)studentnum,
cast(tbl.stats.create_time as varchar(20))create_time
from hbase.hbase_student tbl
where tbl.stats.age > 50;
+------------+------------+------------+------------+------------+-------------+
| rownum | name | age | gpa | studentnum | create_time |
+------------+------------+------------+------------+------------+-------------+
| 1 | fred ovid | 76 | 1.55 | 692315658449 | 2014-05-27
00:26:07 |
| 2 | bob brown | 63 | 3.18 | 650706039334 | 2014-12-04
21:43:14 |
+------------+------------+------------+------------+------------+-------------+
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)