You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Nataraj Gnanavadivel (JIRA)" <ji...@apache.org> on 2016/09/13 20:56:21 UTC
[jira] [Updated] (DRILL-4887) KVGEN throws a Heterogenous Type
error while applying on a JSON when querying a JDBC Storage Plugin
[ https://issues.apache.org/jira/browse/DRILL-4887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nataraj Gnanavadivel updated DRILL-4887:
----------------------------------------
Description:
We are using Apache Drill 1.8.0 to query mysql DB via JDBC storage plugin.
One of the columns is of type BLOB and it contains a JSON document.
We intended to access that JSON properties as follows:
select
name,
flatten(kvgen(jsonContent)) as json
from
(select
regular_col1 as name,
convert_from(blob_column_having_json, 'JSON') as jsonContent
from
mysqlstorageplugin.someschema.sometable)
we are seeing an error similar to this:
org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: DrillRuntimeException: Mappify/kvgen does not support heterogeneous value types. All values in the input map must be of the same type. The field [ppu] has a differing type [minor_type: FLOAT8 mode: OPTIONAL ]. Fragment 0:0 [Error Id: 8b572aba-f1ad-4aa4-93ed-b3dbee502e8d on kaiburr-bigdata-engine-01.c.erudite-gate-118302.internal:31010]
The sample JSON that is stored as BLOB in mysql is as follows:
{
"id": "0001",
"type": "donut",
"name": "Cake",
"ppu": 0.55,
"sales": 35
}
gg
Any workarounds or the right approach to access JSON that is stored as BLOB in any RDBMS columns and query them at the field/property level and applying aggregation logics on them is what we are looking for.
please help us giving the right directions.
Thanks a lot!
was:
We are using Apache Drill 1.8.0 to query mysql DB via JDBC storage plugin.
One of the columns is of type BLOB and it contains a JSON document.
We intended to access that JSON properties as follows:
select
name,
flatten(kvgen(jsonContent)) as json
from
(select
regular_col1 as name,
convert_from(blob_column_having_json, 'JSON') as jsonContent
from
mysqlstorageplugin.someschema.sometable)
we are seeing an error similar to this:
org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: DrillRuntimeException: Mappify/kvgen does not support heterogeneous value types. All values in the input map must be of the same type. The field [ppu] has a differing type [minor_type: FLOAT8 mode: OPTIONAL ]. Fragment 0:0 [Error Id: 8b572aba-f1ad-4aa4-93ed-b3dbee502e8d on kaiburr-bigdata-engine-01.c.erudite-gate-118302.internal:31010]
The sample JSON that is stored as BLOB in mysql is as follows:
{
"id": "0001",
"type": "donut",
"name": "Cake",
"ppu": 0.55,
"sales": 35
}
Any workarounds or the right approach to access JSON that is stored as BLOB in any RDBMS columns and query them at the field/property level and applying aggregation logics on them is what we are looking for.
please help us giving the right directions.
Thanks a lot!
> KVGEN throws a Heterogenous Type error while applying on a JSON when querying a JDBC Storage Plugin
> ---------------------------------------------------------------------------------------------------
>
> Key: DRILL-4887
> URL: https://issues.apache.org/jira/browse/DRILL-4887
> Project: Apache Drill
> Issue Type: Bug
> Components: Storage - JDBC
> Affects Versions: 1.8.0
> Reporter: Nataraj Gnanavadivel
>
> We are using Apache Drill 1.8.0 to query mysql DB via JDBC storage plugin.
> One of the columns is of type BLOB and it contains a JSON document.
> We intended to access that JSON properties as follows:
> select
> name,
> flatten(kvgen(jsonContent)) as json
> from
> (select
> regular_col1 as name,
> convert_from(blob_column_having_json, 'JSON') as jsonContent
> from
> mysqlstorageplugin.someschema.sometable)
> we are seeing an error similar to this:
> org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: DrillRuntimeException: Mappify/kvgen does not support heterogeneous value types. All values in the input map must be of the same type. The field [ppu] has a differing type [minor_type: FLOAT8 mode: OPTIONAL ]. Fragment 0:0 [Error Id: 8b572aba-f1ad-4aa4-93ed-b3dbee502e8d on kaiburr-bigdata-engine-01.c.erudite-gate-118302.internal:31010]
> The sample JSON that is stored as BLOB in mysql is as follows:
> {
> "id": "0001",
> "type": "donut",
> "name": "Cake",
> "ppu": 0.55,
> "sales": 35
> }
> gg
> Any workarounds or the right approach to access JSON that is stored as BLOB in any RDBMS columns and query them at the field/property level and applying aggregation logics on them is what we are looking for.
> please help us giving the right directions.
> Thanks a lot!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)