[
https://issues.apache.org/jira/browse/HIVE-21282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ang Chen reassigned HIVE-21282:
-------------------------------
> Add reflect_complicated() UDF for reflective invocation of Java methods to
> generate non-primitive result
> --------------------------------------------------------------------------------------------------------
>
> Key: HIVE-21282
> URL: https://issues.apache.org/jira/browse/HIVE-21282
> Project: Hive
> Issue Type: Improvement
> Reporter: Ang Chen
> Assignee: Ang Chen
> Priority: Minor
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> The reflect/java_method only supports primitive return result. Would be great
> if we could add another UDF to return complicated result.
> {noformat}
> SELECT reflect_complicated(
> NAMED_STRUCT('k1', 's', 'k2', 's'),
> "org.apache.commons.lang3.StringUtils",
> "split", 'v1 v2'),
> reflect_complicated(
> ARRAY(),
> "org.apache.commons.lang3.StringUtils",
> "split", 'v1 v2'),
> FROM src LIMIT 1;
> {noformat}
>
> A more common use case will be add a user-created jar into hive and then call
> the function using reflect_complicated instead of creating a UDF.
>
> For example,
> You can create a class like below
> {noformat}
> package com.foo
> Class Bar
> { public static Object[] genStruct(String json) {...}
> }
> {noformat}
> And then call it from hive
> {noformat}
> SELECT reflect_complicated(
> NAMED_STRUCT('k1', 's', 'k2', 's'),
> "com.foo.Bar",
> "genStruct", json) FROM ...
> {noformat}
>
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)