I am using IBM BigInsights Hadoop distribution(Version 4.1) having Hbase
version 1.1.1.
My Apache phoenix version is 4.7. I am facing an issue as described below:

I created a Hbase table as below inserted few rows :

create 'emp' , 'cf'

put 'emp' , '1' , 'cf:age' ,'21'
put 'emp' , '2' , 'cf:age' ,'28'
put 'emp' , '1' , 'cf:bmi' ,'21.2'
put 'emp' , '2' , 'cf:bmi' ,'19.9'

Then I created a table in Phoenix

create table "emp" (pk varchar primary key,"cf"."age" varchar , "cf"."bmi"
DOUBLE);

but querying the table results in below error. If i change DOUBLE data type
to any other datatype ,it works fine. But I need double.


select * from "emp";
Error: ERROR 201 (22000): Illegal data. Expected length of at least 8
bytes, but had 4 (state=22000,code=201)
java.sql.SQLException: ERROR 201 (22000): Illegal data. Expected length of
at least 8 bytes, but had 4
        at
org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:422)
        at
org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145)
        at
org.apache.phoenix.schema.KeyValueSchema.next(KeyValueSchema.java:211)
        at
org.apache.phoenix.expression.ProjectedColumnExpression.evaluate(ProjectedColumnExpression.java:115)
        at
org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:69)
        at
org.apache.phoenix.jdbc.PhoenixResultSet.getObject(PhoenixResultSet.java:524)
        at sqlline.Rows$Row.<init>(Rows.java:157)
        at sqlline.BufferedRows.<init>(BufferedRows.java:38)
        at sqlline.SqlLine.print(SqlLine.java:1650)
        at sqlline.Commands.execute(Commands.java:833)
        at sqlline.Commands.sql(Commands.java:732)
        at sqlline.SqlLine.dispatch(SqlLine.java:808)
        at sqlline.SqlLine.begin(SqlLine.java:681)
        at sqlline.SqlLine.start(SqlLine.java:398)
        at sqlline.SqlLine.main(SqlLine.java:292)

Please have a look and help me.

Many thanks in advance.

Anupriya

Reply via email to