首页 > 解决方案 > 如何在impala命令行中传递多个sql文件

问题描述

我有多个 .sql 文件,例如 (1.sql, 2.sql, 3.sql),它包含以下查询。

1.sql:

show databases;

2.sql:

use default;

3.sql:

show tables;

4.sql:

select count(*) from employee limit 5;

我正在尝试传递文件,如下所述。

impala-shell -f 1.sql; 2.sql; 3.sql; 4.sql

在这种情况下,该命令仅执行1.sql并从终端退出,说明2.sql .. command not found.

我知道我可以将上述所有查询放在一个 .sql 文件中,但我的问题是如何通过命令行传递多个 .sql 文件。

有人可以建议我如何从命令行将多个 .sql 文件传递​​给 impala 吗?

标签: hadoopimpala

解决方案


如果您拥有 Impala 2.3 或更高版本,这可能非常简单,因为您可以将查询文件替换为stdin. 所以这样的事情应该有效:

$ cat 1.sql 2.sql 3.sql | impala-shell -i "impala-host:port" -f -

(注意最后一个破折号-


推荐阅读