我正在编写一个 bash 脚本,除其他外,它必须创建一个配置单元表并将一个 csv 文件(其名称事先未知)加载到该表中。我已将文件名导出foo.csv
到环境变量myfile
中并尝试了命令
hive --hiveconf mf=$myfile -e 'set mf; set hiveconf:mf; load data local inpath ${hiveconf:mf} into table mytable'
它返回错误
FAILED: ParseException line 1:23 mismatched input 'foo' expecting StringLiteral near 'inpath' in load statement
我已经尝试使用文件的绝对路径,但它也不起作用:如果路径是/mypath/foo.csv
错误将是
FAILED: ParseException line 1:23 mismatched input '/' expecting StringLiteral near 'inpath' in load statement
甚至尝试像这样直接放文件名
hive -e 'load data local inpath foo.csv into table mytable'
根本不起作用,抛出的错误和以前一样。
有人知道这些命令有什么问题吗?我真的很感激一些帮助,谢谢。