[
https://issues.apache.org/jira/browse/DRILL-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15201360#comment-15201360
]
ASF GitHub Bot commented on DRILL-4459:
---------------------------------------
Github user vdiravka commented on a diff in the pull request:
https://github.com/apache/drill/pull/431#discussion_r56645171
--- Diff:
contrib/storage-hive/core/src/test/java/org/apache/drill/exec/fn/hive/TestInbuiltHiveUDFs.java
---
@@ -43,4 +47,17 @@ public void testEncode() throws Exception {
.baselineValues(new Object[] { null })
.go();
}
+
+ @Test // DRILL-4459
+ public void testGetJsonObject() throws Exception {
+ setColumnWidths(new int[]{260});
+ String query = "select * from hive.simple_json where
GET_JSON_OBJECT(simple_json.json, '$.DocId') = 'DocId2'";
+ List<QueryDataBatch> results = testSqlWithResults(query);
+ String expected = "json\n" +
"{\"DocId\":\"DocId2\",\"User\":{\"Id\":122,\"Username\":\"larry122\",\"Name\":"
+
--- End diff --
I've led this test to a common design. Thanks.
@Test // DRILL-4459
public void testGetJsonObject() throws Exception {
testBuilder()
.sqlQuery("select convert_from(json, 'json') as json from
hive.simple_json " +
"where GET_JSON_OBJECT(simple_json.json, '$.employee_id') =
'Emp2'")
.ordered()
.baselineColumns("json")
.baselineValues(mapOf("employee_id","2","full_name","Kamesh","first_name","Bh","last_name","Venkata","position","Store"))
.go();
}
> SchemaChangeException while querying hive json table
> ----------------------------------------------------
>
> Key: DRILL-4459
> URL: https://issues.apache.org/jira/browse/DRILL-4459
> Project: Apache Drill
> Issue Type: Bug
> Components: Functions - Drill, Functions - Hive
> Affects Versions: 1.4.0
> Environment: MapR-Drill 1.4.0
> Hive-1.2.0
> Reporter: Vitalii Diravka
> Assignee: Vitalii Diravka
> Fix For: 1.7.0
>
>
> getting the SchemaChangeException while querying json documents stored in
> hive table.
> {noformat}
> Error: SYSTEM ERROR: SchemaChangeException: Failure while trying to
> materialize incoming schema. Errors:
>
> Error in expression at index -1. Error: Missing function implementation:
> [castBIT(VAR16CHAR-OPTIONAL)]. Full expression: --UNKNOWN EXPRESSION--..
> {noformat}
> minimum reproduce
> {noformat}
> created sample json documents using the attached script(randomdata.sh)
> hive>create table simplejson(json string);
> hive>load data local inpath '/tmp/simple.json' into table simplejson;
> now query it through Drill.
> Drill Version
> select * from sys.version;
> +-----------+----------------+-------------+-------------+------------+
> | commit_id | commit_message | commit_time | build_email | build_time |
> +-----------+----------------+-------------+-------------+------------+
> | eafe0a245a0d4c0234bfbead10c6b2d7c8ef413d | DRILL-3901: Don't do early
> expansion of directory in the non-metadata-cache case because it already
> happens during ParquetGroupScan's metadata gathering operation. | 07.10.2015
> @ 17:12:57 UTC | Unknown | 07.10.2015 @ 17:36:16 UTC |
> +-----------+----------------+-------------+-------------+------------+
> 0: jdbc:drill:zk=> select * from hive.`default`.simplejson where
> GET_JSON_OBJECT(simplejson.json, '$.DocId') = 'DocId2759947' limit 1;
> Error: SYSTEM ERROR: SchemaChangeException: Failure while trying to
> materialize incoming schema. Errors:
>
> Error in expression at index -1. Error: Missing function implementation:
> [castBIT(VAR16CHAR-OPTIONAL)]. Full expression: --UNKNOWN EXPRESSION--..
> Fragment 1:1
> [Error Id: 74f054a8-6f1d-4ddd-9064-3939fcc82647 on ip-10-0-0-233:31010]
> (state=,code=0)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)