${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
我试图运行此查询最终导致错误。相同的查询在蜂巢,色调和甚至直线上运行都很好。
使用beeline时,以下查询给出了结果
0: jdbc:hive2://host> select concat("invalidate metadata ", trim(table_name)) from my_Table;
我尝试将查询存储在文件中,但最终出错。
${beeline_url} --silent=true --showHeader=false --outputformat=csv2 --verbose=false --showWarnings=false -f get_table_list.hql > /home/table_list.csv
get_table_list.hql具有
SELECT (CONCAT('invalidate metadata ', trim(table_name) , '; refresh ', trim(table_name) ,';')) from my_table;
错误:
错误:编译语句时出错:失败:ParseException行 1:59无法识别选择中“”附近的输入 表达式(状态= 42000,代码= 40000)
答案 0 :(得分:0)
分号需要使用\\
进行屏蔽:
SELECT (CONCAT('invalidate metadata ', trim(table_name) , '\\; refresh ', trim(table_name) ,'\\;')) from my_table;
或将其替换为\073
:
SELECT (CONCAT('invalidate metadata ', trim(table_name) , '\073 refresh ', trim(table_name) ,'\073')) from my_table;
这些变通办法之一应该起作用。