2024-09-27 22:19:23 发布
网友
我能够运行一个文本文件,该文件包含以“;”分隔的查询在黑斑羚壳里。但是,我有一些查询需要另一个查询的结果。例如,如果Query1给我name | age | birthday,那么下面的查询类似于SELECT * FROM table1 WHERE age in (...),这些年龄来自第一个查询的年龄列
name | age | birthday
SELECT * FROM table1 WHERE age in (...)
我知道您可以使用--vars选项指定,但这似乎是用于插入特定值。有没有办法创建Python脚本来处理在impala shell中运行的类似内容
--vars
您可以创建脚本.sh或.py或.???,并从impala shell运行它们
.sh
.py
.???
impala shell
要从impala-shell类型调用linux shell命令行,请执行以下操作:
impala-shell
impala> shell <linux shell command>;
例如
[localhost.localdomain:21000] > shell ls -ltr /home; [localhost.localdomain:21000] > shell hdfs dfs -ls /; [localhost.localdomain:21000] > shell spark-submit master yarn /home/cloudera/query.py; [localhost.localdomain:21000] > shell /home/cloudera/check-services.sh; Graphite: ko Zookeeper: ko KafkaServer: ko [localhost.localdomain:21000] > shell python /home/cloudera/executable.py
我认为创建临时表在这里会有所帮助。 仅黑斑羚解决方案- 步骤0-从文件加载表。 步骤1-创建临时表tmp_表作为查询1。 步骤2:从表1中选择*的年龄(tmp_表)。 步骤3-放下表格tmp_表格。 如果所有数据都在impala表中,也可以使用子查询。 从年龄所在的表1中选择*(从查询1中选择年龄)
是的,您可以始终使用python运行impala shell查询。但它们就像一个接一个的调用脚本,根据您的需求,您可以完全在impala中完成它们
您可以创建脚本
.sh
或.py
或.???
,并从impala shell
运行它们要从
impala-shell
类型调用linux shell命令行,请执行以下操作:例如
我认为创建临时表在这里会有所帮助。 仅黑斑羚解决方案-
步骤0-从文件加载表。
步骤1-创建临时表tmp_表作为查询1。
步骤2:从表1中选择*的年龄(tmp_表)。
步骤3-放下表格tmp_表格。
如果所有数据都在impala表中,也可以使用子查询。
从年龄所在的表1中选择*(从查询1中选择年龄)
是的,您可以始终使用python运行impala shell查询。但它们就像一个接一个的调用脚本,根据您的需求,您可以完全在impala中完成它们
相关问题 更多 >
编程相关推荐