Apache Drill > sqlline:如何运行包含变量的 sql 脚本

问题描述 投票:0回答:3

我是Apache Drill的新手,我需要通过sqlline运行SQL脚本。在大多数SQL客户端中,是允许在sqlline中使用一些变量的,所以想问一下Apache Drill的sqlline中可以使用变量吗?

apache-drill sqlline
3个回答
1
投票

有人在 Drill 用户邮件列表上提出了类似的问题。这是来自同一链接的答案:

You could achieve this by writing a wrapper script:

#!/bin/env bash
VARIABLE="testvalue"

SQL="SELECT '${VARIABLE}' from sys.version;"

sqlline -u jdbc:drill: -n cmatta -p xxxx <<< $SQL

1
投票

这是一个真实世界的示例,我使用 sed 将钻取文件中所有出现的文本“staticLoadTime”替换为变量 ${staticLoadTime},然后将结果通过管道传输到 sqlline。这避免了创建包装器或其他临时文件。

sed 's/staticLoadTime/${staticLoadTime}/g' ${Source}.drill | sqlline -u jdbc:drill:zk=local


0
投票

在 2024 年,现在有一个适用于 sqlline 的

--run
参数(记录在此处):

/opt/drill/bin/sqlline -u jdbc:drill:drillbit=localhost --run=/data/setup.sql
© www.soinside.com 2019 - 2024. All rights reserved.