Le composant SQL Script vous permet d'écrire des instructions SQL personnalisées et de les exécuter dans MaxCompute. Cette rubrique décrit la configuration du composant ainsi que ses cas d'utilisation.
Configuration du composant
Dans Machine Learning Designer, configurez les paramètres du composant SQL Script depuis son onglet de configuration.
|
Paramètre |
Description |
|
Use script mode |
En mode script, créez une table de sortie nommée ${o1} pour servir de port de sortie au nœud. Pour plus d'informations, consultez Mode script SQL. |
|
Input source |
Affiche les noms des tables d'entrée en amont. |
|
Whether the system adds a Create Table statement |
|
|
SQL Script |
Écrivez un script SQL personnalisé pour implémenter votre logique. Pour plus d'informations sur la syntaxe SQL, consultez Présentation de SQL. L'éditeur de code propose des fonctionnalités telles que la saisie semi-automatique (avec suggestions intelligentes de mots-clés) et des modèles de requête intégrés pour accélérer l'écriture du code. Pour plus d'informations, consultez Améliorer l'efficacité du développement de code. |
Le composant SQL Script prend en charge de zéro à quatre entrées et une sortie.
Lorsque le composant SQL Script est connecté à des tables en amont, il mappe automatiquement les sources d'entrée vers t1, t2, t3 et t4. Utilisez les variables ${t1}, ${t2}, ${t3} ou ${t4} pour référencer directement ces tables sans spécifier leurs noms de table source.
Le composant SQL Script prend en charge une seule sortie. Utilisez la variable ${o1} dans votre instruction SQL pour représenter la table de données de sortie.
-
Utilisez le paramètre ${lifecycle} dans vos instructions SQL pour appliquer le cycle de vie par défaut des tables temporaires configuré pour l'espace de travail. La valeur par défaut est de 28 jours.
RemarqueSi vous créez une table de données dans votre instruction SQL, définissez le cycle de vie de la table temporaire selon vos besoins. Pour plus d'informations, consultez Définir la durée de conservation des tables temporaires dans un espace de travail.
Si vous sélectionnez la case à cocher Whether the system adds a Create Table statement dans le panneau de configuration des paramètres, vous pouvez inclure d'autres instructions SQL dans le script, mais la dernière instruction doit être une instruction SELECT. PAI crée automatiquement une table temporaire pour stocker les résultats de la requête.
Cas d'utilisation
Le composant SQL Script prend en charge les cas d'utilisation suivants.
Scénario 1 : Analyser les données d'une seule table en amont
Cochez la case Whether the system adds a Create Table statement. PAI crée automatiquement une table temporaire comme sortie et la transmet aux composants en aval. Le code suivant illustre un exemple de script SQL :
select age,
(case sex when 'male' then 1 else 0 end) as sex,
(case cp when 'angina' then 0 when 'notang' then 1 else 2 end) as cp,
trestbps,
chol,
(case fbs when 'true' then 1 else 0 end) as fbs,
(case restecg when 'norm' then 0 when 'abn' then 1 else 2 end) as restecg,
thalach,
(case exang when 'true' then 1 else 0 end) as exang,
oldpeak,
(case slop when 'up' then 0 when 'flat' then 1 else 2 end) as slop,
ca,
(case thal when 'norm' then 0 when 'fix' then 1 else 2 end) as thal,
(case status when 'sick' then 1 else 0 end) as ifHealth
from ${t1};
Dans le volet des composants, recherchez SQL Script, puis faites glisser le composant SQL Script vers le canevas. Connectez la sortie du composant Read Data Table-1 à l'entrée du composant SQL Script-1.
Scénario 2 : Combiner les données de plusieurs tables en amont
Décochez la case Whether the system adds a Create Table statement. Utilisez les variables ${o1} et ${lifecycle} pour créer une table temporaire comme sortie. Le code suivant illustre un exemple de script SQL :
create table if not exists ${o1} lifecycle ${lifecycle}
as
with
a as (select * from ${t1}),
b as (select * from ${t2}),
c as (select * from ${t3})
select * from a
UNION all
select * from b
UNION all
select * from c;
Dans le volet des composants, recherchez SQL Script et faites-le glisser vers le canevas. Connectez trois nœuds Read Data Table au nœud SQL Script. Dans le panneau de configuration des paramètres, mappez les sources d'entrée comme suit : t1 vers Read Data Table-1, t2 vers Read Data Table-2 et t3 vers Read Data Table-3.
Scénario 3 : Lire les données par nom de table
Décochez la case Whether the system adds a Create Table statement. Utilisez les variables ${o1} et ${lifecycle} pour créer une table temporaire comme sortie. Le code suivant illustre un exemple de script SQL :
set odps.sql.mapper.split.size=128;
set odps.sql.executionengine.batch.rowcount=100;
drop table if exists test_a_5_1;
create table test_a_5_1
as
select * from pai_online_project.wumai_data;
drop table if exists test_a_5_2;
create table test_a_5_2
as
select * from pai_online_project.wumai_data;
create table if not exists ${o1}
LIFECYCLE ${lifecycle}
as
select a.pm2, a.pm10, a.so2, b.co, b.no2
from
test_a_5_1 a join test_a_5_2 b
on a.time = b.time
and a.hour = b.hour;
select * from ${o1};
Les instructions set au début du script SQL configurent les variables d'environnement d'exécution.
Scénario 4 : Exécuter une commande PAI
Décochez la case Whether the system adds a Create Table statement. Utilisez les variables ${o1} et ${lifecycle} pour créer une table temporaire comme sortie. Le code suivant illustre un exemple de script SQL :
drop table if exists ${o1};
PAI -name type_transform_v1 -project algo_public
-Dlifecycle=${lifecycle} -DoutputTable=${o1}
-Dcols_to_double="time,hour,pm2,pm10,so2,co,no2"
-Ddefault_double_value="0.0" -Ddefault_int_value="0"
-DreserveOldFeat="false" -DinputTable="pai_online_project.wumai_data";