Exécution de requêtes à partir duPresto (C++) Espace de travail CLI ou requête
IBM® watsonx.data permet d'exécuter des requêtes SQL à partir dePresto (C++) CLI ou via le Espace de travail de requête avec ou sans utilisation Optimiseur de requête.
A propos de cette tâche
Vous pouvez sélectionner l'option d'exécutionPresto (C++) Requêtes CLI avec ou sans utilisation Optimiseur de requête opérateur danswatsonx.data en suivant les étapes suivantes.
En cours d'exécutionPresto Requêtes (C++):
-
Option 1 : courirPresto (C++) requêtes en utilisant Optimiseur de requête.
a. Exécutez la commande suivante pour entrer dans le répertoire "
ibm-lh-client/bin:cd ibm-lh-client/binb. Créez un fichier SQL et exportez le chemin d'accès au fichier vers "
LH_SANDBOX_DIR". Par exemple, avec le nom de fichier "sql-files.export LH_SANDBOX_DIR=<path to sql-files>c. Obtenez la liste des noms de moteurs et choisissez celui à utiliser. Par exemple, le nom du moteur "
engine1../manage-engines --op=list export engine_name=engine1d. Exécutez la commande suivante pour exécuterPresto (C++) requêtes utilisant Optimiseur de requête.
./presto-run --engine=$engine_name --session is_query_rewriter_plugin_enabled=true -f $LH_SANDBOX_DIR/sql-files.sqlVous devez utiliser un nom pleinement qualifié (nom en trois parties tel que "
<catalog.schema.table>) ou un nom en deux parties avec l'instruction USE pour qualifier le catalogue et le schéma.Exemples : 3 nom de la partie : "
select * from "catalog".schema.table;2 nom de la partie : "
use "catalog".schema; followed by select * from schema.table; -
Option 2 : courirPresto (C++) Requêtes CLI sans utiliser Optimiseur de requête.
a. Exécutez la commande suivante pour entrer dans le répertoire ibm-lh-client/bin:
cd ibm-lh-client/binb. Créez un fichier SQL et exportez le chemin d'accès au fichier vers "
LH_SANDBOX_DIR". Par exemple, avec le nom de fichier "sql-files.export LH_SANDBOX_DIR=<path to sql-files>c. Obtenez la liste des noms de moteurs et choisissez celui à utiliser. Par exemple, avec le nom du moteur "
engine1../manage-engines --op=list export engine_name=engine1d. La commande suivante permet d'exécuter les requêtes Presto (C++) sans utiliser Query Optimizer.
./presto-run --engine=$engine_name --session is_query_rewriter_plugin_enabled=false -f $LH_SANDBOX_DIR/sql-files.sqlSi le paramètre de session
is_query_rewriter_plugin_enabledest défini surfalse, vous ne pourrez pas exécuter les commandesExecuteWxdQueryOptimizer. -
Suivez les étapes pour obtenir les détails des requêtes et vérifier si les requêtes exécutées sont optimisées :
-
Connectez-vous à la console watsonx.data.
-
Dans le menu de navigation, ouvrir la page Gestionnaire d'infrastructure.
-
Cliquez sur le moteur Presto (C++) pour ouvrir la page de détails du composant.
-
Copiez et ouvrez l'hôte URL du moteur Presto (C++) à partir de la page de détails pour ouvrir la page web externe Cluster Overview.
-
Saisissez le nom d'utilisateur et le mot de passe pour vous connecter à la page de présentation du cluster.
Nom d'utilisateur : Le nom d'utilisateur est '
ibmlhapikeyou 'ibmlhapikey_<watsonx.datauser_id>. Mot de passe : La clé API de l'utilisateur watsonx.data Pour plus d'informations sur la récupération de la clé API, voir Générer la clé API.À partir de watsonx.data la version 2.2.0, l'authentification à l'aide de
ibmlhapikeyetibmlhtokencomme noms d'utilisateur est obsolète. Ces formats sont progressivement supprimés dans 2.3.0 la version. Pour assurer la compatibilité avec les prochaines versions, utilisez le nouveau format :ibmlhapikey_<username>etibmlhtoken_<username>. -
Cliquez sur l'ID de la requête que vous souhaitez vérifier. La page Détails de la requête s'ouvre.
-
Ouvrez le fichier JSON à partir de la page Détails de la requête pour vérifier que la valeur du paramètre "
is_query_rewriter_plugin_succeededest bien "trueou "false. La valeur du paramètre de la requête optimisée est "true.
-