從下列位置執行查詢Presto(C++) CLI 或查詢工作區

IBM® watsonx.data允許執行 SQL 查詢Presto(C++) CLI 或透過查詢工作區使用或不使用查詢最佳化器

關於此作業

您可以選擇運行選項Presto(C++) CLI 查詢使用或不使用查詢最佳化器運算符在watsonx.data透過使用以下步驟。

跑步Presto(C++) 查詢:

  1. 選項 1:跑步Presto(C++) 查詢使用查詢最佳化器

    a. 執行以下命令進入目錄 ibm-lh-client/bin

    cd ibm-lh-client/bin
    

    b. 建立 SQL 檔案並將檔案路徑匯出到 LH_SANDBOX_DIR。 例如,檔案名稱為 sql-files

    export LH_SANDBOX_DIR=<path to sql-files>
    

    c. 取得引擎名稱清單並選擇要使用的引擎名稱。 例如,引擎名稱 engine1

    ./manage-engines --op=list
     export engine_name=engine1
    

    d. 運行以下命令來運行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. 選項 2:跑步Presto(C++) CLI 查詢而不使用查詢最佳化器

    a. 執行以下指令,進入ibm-lh-client目錄/bin:

    cd ibm-lh-client/bin
    

    b. 建立 SQL 檔案並將檔案路徑匯出到 LH_SANDBOX_DIR。 例如,檔案名稱為 sql-files

    export LH_SANDBOX_DIR=<path to sql-files>
    

    c. 取得引擎名稱清單並選擇要使用的引擎名稱。 例如,引擎名稱為 engine1

    ./manage-engines --op=list
    export engine_name=engine1
    

    d. 執行下列指令,即可在不使用 Query Optimizer 的情況下執行 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 指令。

  3. 請依照以下步驟取得查詢的詳細資訊並驗證執行的查詢是否經過最佳化:

    1. 登入 watsonx.data 控制台。

    2. 從導覽功能表中,開啟基礎設施管理器頁面。

    3. 點選Presto (C++)引擎,開啟元件詳細資料頁面。

    4. 從詳細資料頁複製並瀏覽開啟 Presto (C++) 引擎的主機 URL,以開啟叢集總覽外部網頁。

    5. 輸入使用者名稱和密碼登入叢集概覽頁面。

      使用者名稱:使用者名稱是 ibmlhapikeyibmlhapikey_<watsonx.datauser_id>。 密碼:watsonx.data使用者的 API 金鑰。 有關檢索 API 金鑰的更多信息,請參閱 產生 API 金鑰

      自 watsonx.data 版本 起,使用 ibmlhapikeyibmlhtoken 作為使用者 2.2.0 名稱的驗證方式已廢棄。 這些格式將在 2.3.0 本次版本中逐步淘汰。 為確保與即將推出的版本相容,請使用新格式:ibmlhapikey_<username>ibmlhtoken_<username>

    6. 按一下您要驗證的查詢 ID。 這將開啟 “查詢詳細資料” 頁面。

    7. 「查詢詳細資料」 頁面開啟 JSON 文件,以驗證參數 is_query_rewriter_plugin_succeeded 值為 truefalse。 最佳化查詢的參數值設定為 true