我正在通过命令行运行查询并收到此错误。
命令:hive -e query1.hql
失败:ParseException 行 1:0 无法识别“query1”附近的输入。 'hql'
CREATE TABLE dcarlo.new_table AS
SELECT ma.name, ma.address, ma.state
FROM main_db AS ma
WHERE ma.dt>=20180301 AND ma.dt<=20180331;
最佳答案
使用 -f
而不是 -e
从文件运行脚本。
hive -f query1.hql
用法: hive
-d,--define key=value 应用于 Hive 的变量替换 命令。例如-d A=B 或 --define A=B
-e 来自命令行的“quoted-query-string”SQL
-f 文件名 SQL 来自文件
-H,--help 打印帮助信息
-h hostname 连接到远程主机上的 Hive Server --hiveconf property=value 使用给定属性的值 --hivevar key=value 应用于配置单元的变量替换 命令。例如--hivevar A=B
-i 文件名初始化SQL文件
-p port 在端口号上连接到 Hive Server
-S,--silent 交互式shell中的静默模式
-v,--verbose 详细模式(将执行的 SQL 回显到 控制台)
关于hadoop - 通过命令行运行 HQL 查询时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50935759/