高级特性
仅计划执行模式
登录后可跨设备保存划线和私人笔记登录
仅计划执行模式当前仅支持 Spark 和 Flink 引擎。
通过配置 kyuubi.operation.plan.only.mode 参数,其取值可以为 parse、analyze、optimize、optimize_with_stats、physical、execution 或 none。当值为 none 时,表示语句将被完整执行;否则只生成执行计划而不执行查询。不同引擎当前支持的模式不同:Spark 引擎支持所有模式,Flink 引擎支持 parse、physical 和 execution,其他引擎目前不支持仅计划模式。该参数支持应用级和会话级设置,使用方式如下。
应用级参数设置
在建立 JDBC 连接时,可以向 URL 中添加参数,参数为 kyuubi.operation.plan.only.mode=parse/analyze/optimize。JDBC URL 格式如下:
jdbc:hive2://<host>:<port>/<dbName>;<sessionVars>?kyuubi.operation.plan.only.mode=parse/analyze/optimize/optimize_with_stats/physical/execution/none;<kyuubiConfs>#<[spark|hive]Vars>其他参数的详细信息请参阅 hive_jdbc 文档。
示例:
使用 beeline 工具连接本地服务,Shell 命令为:
beeline -u 'jdbc:hive2://0.0.0.0:10009/default?kyuubi.operation.plan.only.mode=parse' -n {user_name}运行以下 SQL:
SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id结果如下:
# SQL:
0: jdbc:hive2://0.0.0.0:10009/default> SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id;
#Result:
+----------------------------------------------------+
| plan |
+----------------------------------------------------+
| 'Project [*]
+- 'Join LeftOuter, ('t1.id = 't2.id)
:- 'UnresolvedRelation [t1], [], false
+- 'UnresolvedRelation [t2], [], false
|
+----------------------------------------------------+
1 row selected (3.008 seconds)
0: jdbc:hive2://0.0.0.0:10009/default>会话级参数设置
也可以在建立连接之后,通过执行 set 命令来设置 kyuubi.operation.plan.only.mode 参数。
beeline -u 'jdbc:hive2://0.0.0.0:10009/default' -n {user_name}执行以下 SQL:
set kyuubi.operation.plan.only.mode=parse;
SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id结果如下:
#set command:
0: jdbc:hive2://0.0.0.0:10009/default> set kyuubi.operation.plan.only.mode=parse;
#set command result:
+----------------------------------+--------+
| key | value |
+----------------------------------+--------+
| kyuubi.operation.plan.only.mode | parse |
+----------------------------------+--------+
1 row selected (0.568 seconds)
#execute SQL:
0: jdbc:hive2://0.0.0.0:10009/default> SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id;
# SQL result:
+----------------------------------------------------+
| plan |
+----------------------------------------------------+
| 'Project [*]
+- 'Join LeftOuter, ('t1.id = 't2.id)
:- 'UnresolvedRelation [t1], [], false
+- 'UnresolvedRelation [t2], [], false
|
+----------------------------------------------------+
1 row selected (0.404 seconds)
0: jdbc:hive2://0.0.0.0:10009/default>评论
登录后参与评论
正在加载评论…
KnowForge