You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Igor Guzenko (JIRA)" <ji...@apache.org> on 2019/05/27 08:26:00 UTC

[jira] [Commented] (DRILL-7280) Support Hive UDFs for arrays

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

Igor Guzenko commented on DRILL-7280:
-------------------------------------

Sample tests to add into TestInbuiltHiveUDFs:

{code:java}

   @Test
  public void arraySize() throws Exception {
    testBuilder()
        .sqlQuery("SELECT size(arr_n_0) from hive.int_array order by rid")
        .ordered()
        .baselineColumns("EXPR$0")
        .baselineValuesForSingleColumn(3)
        .baselineValuesForSingleColumn(0)
        .baselineValuesForSingleColumn(1)
        .go();
  }

  @Test
  public void arrayContains() throws Exception {
    testBuilder()
        .sqlQuery("SELECT array_contains(arr_n_0, 0) FROM hive.int_array order by rid")
        .ordered()
        .baselineColumns("EXPR$0")
        .baselineValuesForSingleColumn(true)
        .baselineValuesForSingleColumn(false)
        .baselineValuesForSingleColumn(false)
        .go();
  }

  @Test
  public void sortArray() throws Exception {
    testBuilder()
        .sqlQuery("SELECT sort_array(arr_n_0) FROM hive.int_array order by rid")
        .ordered()
        .baselineColumns("EXPR$0")
        .baselineValues(asList(-1,0,1))
        .baselineValues(asList())
        .baselineValues(asList(100500))
        .go();
  }

  @Test
  public void concatWs() throws Exception {
    testBuilder()
        .sqlQuery("SELECT concat_ws(',',arr_n_0) FROM hive.string_array order by rid")
        .ordered()
        .baselineColumns("EXPR$0")
        .baselineValues("First Value Of Array,komlnp,The Last Value")
        .baselineValues("")
        .baselineValues("ABCaBcA-1-2-3")
        .go();
  }

{code}

 

> Support Hive UDFs for arrays
> ----------------------------
>
>                 Key: DRILL-7280
>                 URL: https://issues.apache.org/jira/browse/DRILL-7280
>             Project: Apache Drill
>          Issue Type: Sub-task
>            Reporter: Igor Guzenko
>            Assignee: Igor Guzenko
>            Priority: Minor
>
> Add support for Hive UDFs accepting or returning arrays: [https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF] . Some examples of such UDFs are: 
>  
> ||Hive UDF||Drill alternative||
> |size(array)|repeated_count(array)|
> |array_contains(array, value)|repeated_contains(array, value)|
> |sort_array(arr_n_0)|NA|
> |concat_ws(string SEP, array<string>)|NA|
> etc. 
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)