Ausführen von Abfragen aus demPresto (C++) CLI oder Abfrage-Arbeitsbereich

IBM® watsonx.data ermöglicht das Ausführen von SQL-Abfragen vonPresto (C++) CLI oder über die Abfragearbeitsbereich mit oder ohne Verwendung Abfrage-Optimierer.

Informationen zu dieser Task

Sie können die Option zum Ausführen auswählenPresto (C++) CLI-Abfragen mit oder ohne Verwendung Abfrage-Optimierer Betreiber inwatsonx.data indem Sie die folgenden Schritte ausführen.

LäuftPresto (C++) Abfragen:

  1. Option 1: LaufenPresto (C++) Abfragen durch Verwendung Abfrage-Optimierer.

    a. Führen Sie den folgenden Befehl aus, um in das Verzeichnis " ibm-lh-client/bin zu gelangen:

    cd ibm-lh-client/bin
    

    b. Erstellen Sie eine SQL-Datei und exportieren Sie den Dateipfad nach " LH_SANDBOX_DIR. Zum Beispiel mit dem Dateinamen " sql-files.

    export LH_SANDBOX_DIR=<path to sql-files>
    

    c. Holen Sie sich die Liste mit den Engine-Namen und wählen Sie den zu verwendenden Motor aus. Zum Beispiel: Motorname " engine1.

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

    d. Führen Sie den folgenden Befehl aus, umPresto (C++) Abfragen mit Abfrage-Optimierer.

    ./presto-run --engine=$engine_name --session is_query_rewriter_plugin_enabled=true -f $LH_SANDBOX_DIR/sql-files.sql
    

    Sie müssen entweder einen voll qualifizierten Namen (3-teiliger Name wie ' <catalog.schema.table>) oder einen 2-teiligen Namen mit der USE-Anweisung verwenden, um den Katalog und das Schema zu qualifizieren.

    Beispiele: 3 Teile Name: ' select * from "catalog".schema.table;

    2 Teilname: ' use "catalog".schema; followed by select * from schema.table;

  2. Option 2: LaufenPresto (C++) CLI-Abfragen ohne Verwendung Abfrage-Optimierer.

    a. Führen Sie den folgenden Befehl aus, um in das Verzeichnis ibm-lh-client zu gelangen/bin:

    cd ibm-lh-client/bin
    

    b. Erstellen Sie eine SQL-Datei und exportieren Sie den Dateipfad nach " LH_SANDBOX_DIR. Zum Beispiel mit dem Dateinamen " sql-files.

    export LH_SANDBOX_DIR=<path to sql-files>
    

    c. Holen Sie sich die Liste mit den Engine-Namen und wählen Sie den zu verwendenden Motor aus. Zum Beispiel mit dem Motornamen " engine1.

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

    d. Führen Sie den folgenden Befehl aus, um Presto (C++)-Abfragen ohne Verwendung von Query Optimizer auszuführen.

    ./presto-run --engine=$engine_name --session is_query_rewriter_plugin_enabled=false -f $LH_SANDBOX_DIR/sql-files.sql
    

    Wenn der Sitzungsparameter is_query_rewriter_plugin_enabled auf false gesetzt ist, können Sie die Befehle ExecuteWxdQueryOptimizer nicht ausführen.

  3. Folgen Sie den Schritten, um Details zu den Abfragen zu erhalten und zu überprüfen, ob die ausgeführten Abfragen optimiert sind:

    1. Melden Sie sich an der watsonx.data-Konsole an.

    2. Öffnen Sie über das Navigationsmenü die Seite Infrastrukturmanager.

    3. Klicken Sie auf die Presto (C++) Engine, um die Komponentendetailseite zu öffnen.

    4. Kopieren Sie die Host URL der Presto (C++)-Engine und öffnen Sie sie auf der Detailseite, um die externe Webseite „Clusterübersicht“ zu öffnen.

    5. Geben Sie den Benutzernamen und das Passwort ein, um sich auf der Seite Cluster-Übersicht anzumelden.

      Benutzername : Der Benutzername ist ' ibmlhapikey oder ' ibmlhapikey_<watsonx.datauser_id>. Kennwort : Der API-Schlüssel des Benutzers watsonx.data. Weitere Informationen zum Abrufen des API-Schlüssels finden Sie unter Generieren des API-Schlüssels.

      Ab watsonx.data Version ist die Authentifizierung mit ibmlhapikey 2.2.0 und ibmlhtoken als Benutzernamen veraltet. Diese Formate werden in 2.3.0 der Version auslaufen. Um die Kompatibilität mit kommenden Versionen zu gewährleisten, verwenden Sie das neue Format:ibmlhapikey_<username> und ibmlhtoken_<username>.

    6. Klicken Sie auf die Abfrage-ID, die Sie überprüfen möchten. Daraufhin wird die Seite Abfragedetails geöffnet.

    7. Öffnen Sie die JSON-Datei auf der Seite Abfragedetails, um zu überprüfen, ob der Wert des Parameters " is_query_rewriter_plugin_succeeded " true oder " false" ist. Bei den optimierten Abfragen ist der Parameterwert auf " true gesetzt.