L'analyse automatique lit les instructions SQL du code d'un nœud pour déduire les dépendances de planification. Elle ajoute automatiquement les sorties ou les nœuds ancêtres, sans configuration manuelle. Cette rubrique décrit le fonctionnement de l'analyse automatique pour chaque type de nœud et répertorie les scénarios non pris en charge.
Fonctionnement de l'analyse automatique
DataWorks analyse les instructions SQL du code d'un nœud. Selon les mots-clés SQL détectés, DataWorks identifie les données lues et écrites par le nœud :
Instructions d'écriture (CREATE, INSERT, etc.) : DataWorks ajoute une sortie au nœud. Le nom de la sortie correspond à la table cible de l'écriture.
Instructions de lecture (SELECT) : DataWorks ajoute un nœud ancêtre au nœud. Le nom du nœud ancêtre identifie la table amont lue.
Par exemple, si le Nœud A écrit dans orders_clean et que le Nœud B lit depuis orders_clean, DataWorks définit automatiquement le Nœud A comme ancêtre du Nœud B. Aucune configuration manuelle des dépendances n'est nécessaire.
Configuration par type de nœud
Le tableau suivant indique les instructions SQL qui déclenchent l'analyse automatique, ainsi que le format du nom de sortie ou de nœud ancêtre généré par DataWorks.
| Type de nœud | Instruction SQL | Élément ajouté par DataWorks | Format du nom de sortie |
|---|---|---|---|
| Nœud ODPS | CREATE, INSERT | Sortie | odps_project_name.table_name |
| Nœud ODPS | SELECT | Nœud ancêtre | project_name.table_name |
| Nœud SQL (hors ODPS) | CREATE, INSERT, ALTER, UPDATE | Sortie | Voir le tableau ci-dessous |
| Nœud SQL (hors ODPS) | SELECT | Nœud ancêtre | project_name.table_name |
| Nœud de synchronisation par lots | Toutes | Non pris en charge | Configurez manuellement les dépendances de planification |
Formats des noms de sortie pour les nœuds SQL non-ODPS :
| Moteur | Format |
|---|---|
| E-MapReduce (EMR) | workspace_name.db_name.table_name |
| AnalyticDB for PostgreSQL | workspace_name.db_name.schema_name.table_name |
| AnalyticDB for MySQL | workspace_name.db_name.schema_name.table_name |
| Hologres | workspace_name.db_name.schema_name.table_name |
Composants du format de nom :
| Espace réservé | Description |
|---|---|
odps_project_name |
Espace de travail DataWorks auquel appartient le nœud ODPS |
project_name |
Espace de travail propriétaire du nœud générant la table |
workspace_name |
Espace de travail DataWorks auquel appartient le nœud |
db_name |
Base de données dans laquelle les données sont écrites |
schema_name |
Schéma du nœud |
table_name |
Nom de la table générée |
Limitations
L'analyse automatique ne s'applique pas dans les scénarios suivants. Dans ces cas, ajoutez manuellement la table à la section Output du nœud.
Types de nœuds non pris en charge
Certains types de nœuds ne prennent pas en charge l'analyse automatique. Par exemple, les nœuds de synchronisation par lots et les nœuds AnalyticDB for PostgreSQL ne peuvent pas utiliser l'analyse automatique pour configurer les dépendances de planification. Vous devez ajouter manuellement les tables générées par ces nœuds aux sorties.
Pour vérifier si un type de nœud spécifique prend en charge l'analyse automatique, ouvrez le nœud dans la console DataWorks et inspectez sa configuration.
Tables temporaires
Les tables temporaires créées par des instructions SQL ne sont pas analysées automatiquement. Par exemple, si votre espace de travail considère les tables avec le préfixe t_ comme des tables temporaires, celles-ci ne peuvent pas être ajoutées automatiquement aux sections Output ou Parent Nodes. Ajoutez-les manuellement si nécessaire.
Tables générées par les nœuds de synchronisation
Après la génération d'une table par un nœud de synchronisation, ajoutez manuellement cette table en tant que sortie du nœud, en utilisant le format projectname.tablename. Une fois la sortie ajoutée, les nœuds descendants qui lisent la table peuvent utiliser l'analyse automatique pour configurer leurs propres dépendances de planification.