问题记录
run.hql 文件内容如下
-- line1
-- line2 ;
select 1;
或者
-- line1
-- line2
在执行 hive -f run.hql
时会报错,原因是第二行没有
作为注释 被过滤掉,当正常代码执行
查看Hive源码
https://github.com/apache/hive/blob/master/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
第7行
public int processReader(BufferedReader r) throws IOException {
String line;
StringBuilder qsb = new StringBuilder();
while ((line = r.readLine()) != null) {
// Skipping through comments
// 出问题的地方,应该是 line.trim().startsWith("--")
if (! line.startsWith("--")) {
qsb.append(line + "\n");
}
}
return (processLine(qsb.toString()));
}
需要先将 空格
先去除