[ 
https://issues.apache.org/jira/browse/DRILL-4858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15431040#comment-15431040
 ] 

jean-claude commented on DRILL-4858:
------------------------------------

Also handles the case of array of array
{code}

jccote@Jean-Claudes-MacBook-Air:~/GitHub/drill/exec/java-exec$  cat 
/Users/jccote/repeated_count.json 
{"listArray":[], "intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": 
"foo"}], "label": "foo"}
{"listArray":[[1,2],[3,4],[5,6]], "intArray": [1,2,3,4], "mapArray": [{"name": 
"foo"}], "label": "foo"}
{"listArray":[[1,2]], "intArray": [1,2,3,4], "mapArray": [], "label": "foo"}
{"listArray":[[1,2],[3,4]], "intArray": [1,2,3,4], "mapArray": [{"name": 
"foo"},{"name": "foo"},{"name": "foo"}], "label": "foo"}
{"listArray":[[1,2],[3,4],[5,6]], "intArray": [1,2,3,4], "mapArray": [{"name": 
"foo"},{"name": "foo"}], "label": "foo"}
{}
{"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"},{"name": 
"foo"},{"name": "foo"}], "label": "foo"}
{"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], "label": 
"foo"}
{code}

result
{code}
0: jdbc:drill:zk=local> select repeated_count(listArray) from 
dfs.`/Users/jccote/repeated_count.json`;
+---------+
| EXPR$0  |
+---------+
| 0       |
| 3       |
| 1       |
| 2       |
| 3       |
| 0       |
| 0       |
| 0       |
+---------+
8 rows selected (0.334 seconds)
{code}

> REPEATED_COUNT on JSON containing an array of maps
> --------------------------------------------------
>
>                 Key: DRILL-4858
>                 URL: https://issues.apache.org/jira/browse/DRILL-4858
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: jean-claude
>            Priority: Minor
>
> REPEATED_COUNT of JSON containing an array of map does not work.
> JSON file
> {code}
> drill$ cat /Users/jccote/repeated_count.json 
> {"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], 
> "label": "foo"}
> {"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], 
> "label": "foo"}
> {"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], 
> "label": "foo"}
> {"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], 
> "label": "foo"}
> {"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], 
> "label": "foo"}
> {"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], 
> "label": "foo"}
> {"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], 
> "label": "foo"}
> {"intArray": [1,2,3,4], "mapArray": [{"name": "foo"},{"name": "foo"}], 
> "label": "foo"}
> {code}
> select
> {code}
> 0: jdbc:drill:zk=local> select repeated_count(mapArray) from 
> dfs.`/Users/jccote/repeated_count.json`;
> {code}
> error
> {code}
> Error: SYSTEM ERROR: SchemaChangeException: Failure while trying to 
> materialize incoming schema.  Errors:
>  
> Error in expression at index -1.  Error: Missing function implementation: 
> [repeated_count(MAP-REPEATED)].  Full expression: --UNKNOWN EXPRESSION--..
> Fragment 0:0
> [Error Id: 1057bb8e-1cc4-4a9a-a748-3a6a14092858 on 192.168.1.3:31010] 
> (state=,code=0)
> {code}
> Looking at the org.apache.drill.exec.expr.fn.impl.SimpleRepeatedFunctions
> Looks like it's not enabled yet. 
> {code}
>   // TODO - need to confirm that these work   SMP: They do not
>   @FunctionTemplate(name = "repeated_count", scope = 
> FunctionTemplate.FunctionScope.SIMPLE)
>   public static class RepeatedLengthMap implements DrillSimpleFunc {
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to