1
votes
${beeline_url} --silent=true --showHeader=false --outputformat=csv2 --showWarnings=false -e "select concat('invalidate metadata ', trim(table_name) , '; refresh ', trim(table_name) ,';') from my_Table " > /home/table_list.csv

I'm trying to run this query ends up with error. The same query runs fine in hive, hue and even with beeline.

while using beeline, the below query gave results

0: jdbc:hive2://host> select concat("invalidate metadata ", trim(table_name)) from my_Table; 

I tried storing the query in a file but it ends up in error.

${beeline_url} --silent=true --showHeader=false --outputformat=csv2 --verbose=false --showWarnings=false -f get_table_list.hql > /home/table_list.csv

where get_table_list.hql has

SELECT (CONCAT('invalidate metadata ', trim(table_name) , '; refresh ', trim(table_name) ,';')) from my_table;

Error:

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

1

1 Answers

0
votes

Semicolons need to be shielded using \\:

SELECT (CONCAT('invalidate metadata ', trim(table_name) , '\\; refresh ', trim(table_name) ,'\\;')) from my_table;

Or replace them with \073:

SELECT (CONCAT('invalidate metadata ', trim(table_name) , '\073 refresh ', trim(table_name) ,'\073')) from my_table;

One of these workarounds should work.