hadoop 配置单元中绝对 URI 中的相对路径 shell

Relative path in absolute URI in hadoop hive shell

当我尝试从 shell 提示符下执行 .hql 文件时,出现以下错误。谁能告诉我我错过了什么?

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: hdfs://localhost:9000./=/usr/local/hadoop/usr/Move

Query.hql 包含:

create table if not exists MOVE(value string) location '${hiveconf:Move_Path}';

在shell提示符下我使用这个命令执行文件:

$ HIVE_HOME/bin/hive  -hiveconf Move_Path =/usr/POC/Move -f /home/ram/Source_Files/Source_code/Query.hql

我不确定我需要传递给 "Move_Path" 参数的确切内容 - 目前我将其设置为 "/usr/POC/Move" - 这是正确的吗?

您在 Move_Path 和 =/usr/POC/Move 之间有一个额外的 space(应该删除)。试试这个它会起作用:

$HIVE_HOME/bin/hive -hiveconf Move_Path=/usr/POC/Move -f /home/ram/Source_Files/Source_code/Query.hql