1

我正在使用 Cloudera Quickview VM 5.10

以下是我的实现,它不起作用。

  1. 使用 Hue 在“user/hive/warehouse”中创建了一个新文件 (sample.sql)。扩展名是 sql。
  2. 在编辑模式下,我编写了一些 SQL 代码(使用 testdb;select * from sometable;)
  3. 保存更改。在HDFS终端输入以下命令
hive -f /user/hive/warehouse/sample.sql

它说找不到文件。如果我将文件位置更改为“/user/cloudera/sample.sql”,那么也是同样的问题。如果我将文件位置更改为“/home/cloudera/sample.sql”,那么它正在调用 Hive 并按预期工作。

似乎是权限问题。如何解决?请帮忙。

4

1 回答 1

1

目前尚不清楚您要执行哪个文件:在 HDFS 或本地文件系统中。

hive -f <filename>命令运行本地文件,而不是在 HDFS 中。

检查文件是否位于运行 hive 的机器上(使用ls -l <path>

如果要运行位于 HDFS 中的文件,则需要先将其加载到本地计算机(使用hdfs dfs -get)或使用以下命令:

hive -f <(hdfs dfs -cat /path/in_HDFS/sample.sql)
于 2020-11-27T13:51:15.467 回答