从运行查询Presto(C++) CLI 或查询工作区
IBM® watsonx.data允许运行 SQL 查询Presto(C++)CLI 或通过查询工作区或不使用查询优化器。
关于本任务
您可以选择运行Presto(C++)使用或不使用的 CLI 查询查询优化器运算符watsonx.data使用以下步骤。
跑步Presto(C++)查询:
-
选项 1:跑步Presto(C++)使用以下方式进行查询查询优化器。
a. 运行以下命令进入目录 "
ibm-lh-client/bincd ibm-lh-client/binb. 创建 SQL 文件并将文件路径导出为 "
LH_SANDBOX_DIR。 例如,文件名为 "sql-files。export LH_SANDBOX_DIR=<path to sql-files>c. 获取引擎名称列表并选择要使用的引擎名称。 例如,发动机名称为 "
engine1。./manage-engines --op=list export engine_name=engine1d. 运行以下命令运行Presto(C++)使用以下方式查询查询优化器。
./presto-run --engine=$engine_name --session is_query_rewriter_plugin_enabled=true -f $LH_SANDBOX_DIR/sql-files.sql必须在 USE 语句中使用全限定名称(3 部分名称,如 "
<catalog.schema.table>)或 2 部分名称来限定目录和模式。举例说明:3 部分名称:"
select * from "catalog".schema.table;2 零件名称:"
use "catalog".schema; followed by select * from schema.table; -
选项 2:跑步Presto(C++)不使用 CLI 查询查询优化器。
a. 运行以下命令进入目录 ibm-lh-client/bin:
cd ibm-lh-client/binb. 创建 SQL 文件并将文件路径导出为 "
LH_SANDBOX_DIR。 例如,文件名为 "sql-files。export LH_SANDBOX_DIR=<path to sql-files>c. 获取引擎名称列表并选择要使用的引擎名称。 例如,发动机名称为 "
engine1。./manage-engines --op=list export engine_name=engine1d. 运行以下命令可在不使用查询优化器的情况下运行 Presto (C++) 查询。
./presto-run --engine=$engine_name --session is_query_rewriter_plugin_enabled=false -f $LH_SANDBOX_DIR/sql-files.sql如果会话参数
is_query_rewriter_plugin_enabled设置为false,则无法执行ExecuteWxdQueryOptimizer命令。 -
按照步骤获取查询详情,并验证执行的查询是否经过优化:
-
登录控制台 watsonx.data。
-
从导航菜单打开基础设施管理器页面。
-
单击Presto(C++) 引擎,打开组件详细信息页面。
-
复制并浏览主机 URL 的 Presto (C++)引擎的详细信息页面,打开集群概览外部网页。
-
输入用户名和密码登录群集概览页面。
用户名:用户名为“
ibmlhapikey或”ibmlhapikey_<watsonx.datauser_id>。 密码:watsonx.data用户的 API 密钥。 有关检索 API 密钥的更多信息,请参阅 生成 API 密钥。从 watsonx.data 版本 开始,使用
ibmlhapikey和ibmlhtoken作为 2.2.0 用户名的身份验证已被弃用。 这些格式将在发布 2.3.0 中逐步淘汰。 为确保与即将推出的版本兼容,请使用新格式:ibmlhapikey_<username>和ibmlhtoken_<username>。 -
单击要验证的查询 ID。 这将打开查询详细信息页面。
-
从 "查询详情"页面打开 JSON 文件,验证参数 "
is_query_rewriter_plugin_succeeded的值是否为 "true或 "false。 优化查询的参数值设置为 "true。
-