Support Questions

Find answers, ask questions, and share your expertise

Don't we have a way to select normal column along with UDTF in hive??

avatar
Expert Contributor

I would like to select one normal datatype column(primitive) column along with UDTF as follows.But it is throwing error like

SemanticException [Error 10081]: UDTF's are not supported outside the SELECT clause, nor nested in expressions

I understood the problem.Don't we have any way to do this.

Query is : select col1,explode(split(col2,'\\s')) from table_name;

assume col2 is int type and col2 is string.

1 ACCEPTED SOLUTION

avatar
@Suresh Bonam

You have to use LATERAL VIEW to do it.

See this:

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+LateralView

And an example here:

  select s.code, exp.splitted
  from sample_07 s
  lateral view explode(split('asdfa adsfa asdaf asdfad','\\s')) exp as splitted

View solution in original post

2 REPLIES 2

avatar
@Suresh Bonam

You have to use LATERAL VIEW to do it.

See this:

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+LateralView

And an example here:

  select s.code, exp.splitted
  from sample_07 s
  lateral view explode(split('asdfa adsfa asdaf asdfad','\\s')) exp as splitted

avatar
Expert Contributor

@Guilherme Braccialli thank you.its working.