Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Split string by SemiColon not working in Beeline but works in Hive

Solved Go to solution
Highlighted

Split string by SemiColon not working in Beeline but works in Hive

Hi All,

I am trying to split a string with semicolon using the below query. In Beeline, Its thrwing me Parse execption error. But in Hive its working fine. I am properly escaping the semicolan in my query. Below is my query.

select split(fieldname,'\;') from table name

I also tried

select split(fieldname,'\\;') from table name

I also tried with double quotes. But Nothing is working in Beeline shell. But in Hive shell, no issues. Query is running fine.

Beeline is throwing below error

Error: Error while compiling statement: FAILED: ParseException line 1:29 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in select expression (state=42000,code=40000)

Kindly let me know the proper way to escape the semi colans.

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Split string by SemiColon not working in Beeline but works in Hive

Rising Star

@Padmanabhan Vijendran

Can you try with '\073'

select split(fieldname,'\073')[0] from table name

Similar issue seen in beeswax connection used by Hue.

https://issues.cloudera.org/browse/HUE-1332

View solution in original post

5 REPLIES 5

Re: Split string by SemiColon not working in Beeline but works in Hive

Rising Star

@Padmanabhan Vijendran

Can you try with '\073'

select split(fieldname,'\073')[0] from table name

Similar issue seen in beeswax connection used by Hue.

https://issues.cloudera.org/browse/HUE-1332

View solution in original post

Highlighted

Re: Split string by SemiColon not working in Beeline but works in Hive

It worked.. Thanks..

Highlighted

Re: Split string by SemiColon not working in Beeline but works in Hive

New Contributor

It really works after replacing ';' with '\073' !

I met this problem when using split and ';' in crontab hql, it returns " ParseException line 3:121 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in select expression".

Highlighted

Re: Split string by SemiColon not working in Beeline but works in Hive

Mentor

Please use backtick for column name and it will treat all characters in the field literally

Table names and column names are case insensitive.

  • In Hive 0.12 and earlier, only alphanumeric and underscore characters are allowed in table and column names.
  • In Hive 0.13 and later, column names can contain any Unicode character (see HIVE-6013). Any column name that is specified within backticks (`) is treated literally. Within a backtick string, use double backticks (``) to represent a backtick character.

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

Highlighted

Re: Split string by SemiColon not working in Beeline but works in Hive

Contributor

it's not only an issue with split, also with eg concat. escaping a semicolon in hue works fine but beeline errors with the same error as above.

Replacing the semicolon with \073 works here as well.

Don't have an account?
Coming from Hortonworks? Activate your account here