配置 Drill Shell
在启动 Drill Shell 一节中,你可以在命令行上键入查询。在 Drill 命令行提示,键入 “help” 列出设置或其他选项,你可以设置管理这些功能。Apache Drill 1.0 及之后的版本集成了结果集输出表。在该版本中,列有 70 个字符或更多的不能被格式化。
格式化表会花时间,你可能注意到如果运行一个巨大的查询,使用默认的 outputFormat 设置,这是一个 Drill 表。你可以设置其他,更高性能的表格式,例如 CSV。
Drill 命令
下表列出了你可以在 Drill 命令行中运行的命令。
| 命令 | 描述 |
|---|---|
| !brief | 关闭 verbose 模式。 |
| !close | 关闭当前数据库连接。 |
| !closeall | 关闭当前所有的连接。 |
| !connect | 打开一个新的连接。当开启 Drill 的认证模式时,使用该命令隐藏密码。 |
| !help | 打印出帮助信息。 |
| !history | 显示历史记录。 |
| !list | 列出当前连接。 |
| !outputformat | 给显示的结果设置输出格式。 |
| !properties | 指定属性文件去连接数据库。 |
| !quit | 退出 Drill 控制台。 |
| !reconnect | 重连数据库。 |
| !record | 记录所有的数据到指定文件。 |
| !run | 从指定文件运行一个脚本。 |
| !save | 保存当前变量和别名。 |
| !script | 保存一个脚本到文件。 |
| !set | 设置变量。 |
| !tables | 列出数据库中所有的表。 |
| !verbose | 显示详细的错误信息。 |
启动 Drill 时隐藏密码
当使用 Drill 认证模式, 你可以使用 !connect 命令。例如,在你运行 sqlline 脚本后,你可以输入该命令来连接 Drill:
1. sqlline> !connect jdbc:drill:zk=localhost:2181
当提示你输入用户名和密码时,此时你输入的密码是隐藏的。
设置 Drill 控制台
例如,退出命令如下所示:
1. 0: jdbc:drill:zk=local> !quit
列出当前连接。
1. 0: jdbc:drill:zk=local> !list
2. 1 active connection:
3. #0 open jdbc:drill:zk=local
设置 Drill 控制台的最大宽度为 10000。
1. 0: jdbc:drill:zk=local> !set maxwidth 10000
设置输出格式为 CSV,来提升大查询的性能。
1. 0: jdbc:drill:zk=local> !set outputFormat csv
设置命令变量
| 变量名 | 变量值 | 描述 |
|---|---|---|
| autoCommit | true/false | 启用/禁止自动提交。默认保留为启用(true)。 |
| autoSave | true/false | 自动保存。 |
| color | true/false | 控制显示的颜色。 |
| fastConnect | true/false | 跳过构建表/列。 |
| force | true/false | 在出现错误后,继续运行脚本。 |
| headerInterval | 显示的头之间的间隔。 | |
| historyFile | 保存历史命令的文件。默认在 $HOME/.sqlline/history (UNIX, Linux, Mac OS), $HOME/sqlline/history (Windows)。 | |
| incremental | true/false | 在打印第一行之前,不会从服务器上接受所有的行。 |
| isolation | 设置事务隔离级别。 | |
| maxColumnWidth | 显示列的最大宽度。 | |
| maxHeight | 终端的最大高度。 | |
| maxWidth | 终端的最大宽度。 | |
| numberFormat | 使用 DecimalFormat 模式格式化数字。 | |
| outputFormat | table/vertical/csv/tsv | 格式化显示结果。 |
| properties | 从文件中读取属性启动控制台。默认在 $HOME/.sqlline/sqlline.properties (UNIX, Linux, Mac OS), $HOME/sqlline/sqlline.properties (Windows)。 | |
| rowLimit | 返回查询结果的最大行数;0 表示不限制。 | |
| showElapsedTime | true/false | 显示执行时间。 |
| showHeader | true/false | 在查询结果中显示列名。 |
| showNestedErrs | true/false | 显示嵌套错误。 |
| showWarnings | true/false | 显示连接警告。 |
| silent | true/false | 禁用或启用显示命令所指定的信息。 |
| timeout | 查询超时;小于 0 的表示是没有超时。单位为秒。 | |
| trimScripts | true/false | 删除从脚本文件读取的行中的尾随空格。 |
| verbose | true/false | 显示详细的错误信息和调试信息。 |
自动提交
Drill 执行只读操作时,会自动提交。如果自动提交被禁用,Drill 的 JDBC 会抛出异常。
