一天,我在dwd操作时建立一张表
create external table if not exists dwd_farm_n.fact_product_general(
rowkey string,--rowkey
product_code string,--产品代码
desc_loc string,--中文名
desc_eng string,--英文名
commercial_name string,
search_code string,
account_product_type string,
mis_product_type string,
cancel_flag string,
user_create string,
create_date string,
last_user_id string,
last_update_date string,
last_function string,
sap_material_group string,
sap_product_group string,
packing_convert_flag string,
ref_account_product string,
short_product_code string
)
row format delimited fields terminated by '\001'
stored as textfile;
粘入linux命令行里,回车却出现这样的错误
查了一下,发现hive环境下复制整段语句时,出现 非常多Display all xxx(多少行数字) possibilities? (y or n)错误的时是因为SQL语句中存在tab键导致,tab键在linux系统中是有特殊含义的。所以hive环境才会N多提示这种鬼东西
结论:hive环境中SQL执行语句中应避免使用tab键。SQL语句也建议先处理好格式再去复制执行吧
建议:可以采用空格分隔开(感觉也挺憨憨的),或者保存为sql脚本使用hive -f xx.sql执行