[ 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)