CRÉER UN MODÈLE - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le billet de blog .

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

CRÉER UN MODÈLE

Crée des modèles réutilisables pour les commandes Amazon Redshift telles que. COPY Les modèles stockent les paramètres couramment utilisés qui peuvent être référencés lors de plusieurs exécutions de commandes, ce qui améliore la cohérence et réduit la spécification manuelle des paramètres.

Les modèles éliminent le besoin de spécifier à plusieurs reprises les mêmes paramètres de formatage pour plusieurs opérations, tandis que les chemins source, les tables cibles et les autorisations peuvent varier d'une opération à l'autre.

Privilèges requis

Pour créer un modèle, vous devez disposer de l'un des éléments suivants :

  • Privilèges de superutilisateur

  • Autorisation CREATE sur le schéma dans lequel vous souhaitez créer le modèle, ou autorisation étendue CREATE sur les schémas de la base de données dans laquelle vous souhaitez créer le modèle

Syntaxe

CREATE [ OR REPLACE ] TEMPLATE [database_name.][schema_name.]template_name FOR COPY [ AS ] [ [ FORMAT ] [ AS ] data_format ] [ parameter [ argument ] [ , ... ] ];

Parameters

OU REMPLACEZ

Si un modèle du même nom existe déjà dans la base de données et le schéma spécifiés, le modèle existant est remplacé. Vous ne pouvez remplacer un modèle que par un nouveau modèle qui définit le même type d'opération, par exemple COPY. Vous devez disposer des privilèges nécessaires pour remplacer un modèle.

database_name

(Facultatif) Nom de la base de données dans laquelle le modèle sera créé. S'il n'est pas spécifié, le modèle est créé dans la base de données actuelle.

Si la base de données ou le schéma n'existe pas, le modèle n'est pas créé et l'instruction renvoie une erreur. Vous ne pouvez pas créer de modèles dans les bases de données système template0template1,padb_harvest, ousys:internal.

nom_schéma

(Facultatif) Nom du schéma dans lequel le modèle sera créé. S'il n'est pas spécifié, le modèle est créé dans le schéma actuel.

Si un nom de schéma est donné, le nouveau modèle est créé dans ce schéma (en supposant que le créateur ait accès au schéma). Le nom du modèle doit être un nom unique pour ce schéma.

nom_modèle

Nom du modèle à créer. Le nom du modèle peut éventuellement être qualifié par le nom de la base de données et du schéma. Dans l'exemple suivant, le nom de la base de données estdemo_database, le nom du schéma est demo_schema et le nom du modèle esttest. Pour plus d’informations sur les noms valides, consultez Noms et identificateurs.

CREATE TEMPLATE demo_database.demo_schema.test FOR COPY AS CSV;
COPY

Spécifie le type de commande Redshift pour lequel le modèle est créé. Actuellement, seule la commande COPY est prise en charge.

[[FORMAT] [AS] format de données]

Ce paramètre est facultatif. Ceci indique le format de données pour les opérations COPY.

[paramètre [argument]]

Tout paramètre valide pour la commande redshift spécifiée.

Par exemple, les modèles pour la commande COPY peuvent inclure :

Pour une liste complète des paramètres pris en charge, voir COPY commande.

Notes d’utilisation

  • Par défaut, tous les utilisateurs ont les privilèges CREATE et USAGE sur le schéma PUBLIC. Pour interdire aux utilisateurs de créer des objets dans le schéma PUBLIC d’une base de données, utilisez la commande REVOKE pour supprimer ce privilège.

  • Lorsqu'un paramètre existe à la fois dans le modèle et dans la commande, le paramètre de commande est prioritaire.

  • Les modèles sont des objets de base de données et suivent les règles d'autorisation et de dénomination des objets Redshift standard. Pour plus d’informations sur les noms valides, consultez Noms et identificateurs.

  • Les modèles ne peuvent pas contenir de spécifications de fichier manifeste pour les COPY commandes.

Limitations

  • Au moins un paramètre doit être spécifié lors de la création d'un modèle.

  • Paramètres exclus : les paramètres spécifiques à la commande tels que les chemins source, les tables cibles, les informations d'autorisation et les spécifications des fichiers manifestes ne peuvent pas être inclus dans les modèles. Ces paramètres doivent être spécifiés dans la commande elle-même.

  • Nombre maximum de modèles par cluster : vous pouvez créer un maximum de 1 000 modèles par cluster. Cette limite s'applique au nombre total de modèles dans l'ensemble des bases de données et des schémas du cluster.

  • Références entre bases de données : les modèles ne peuvent pas être référencés entre les bases de données.

  • Partage de données : les modèles ne peuvent pas être inclus dans les partages de données. Les modèles doivent être créés séparément dans chaque cluster où ils sont nécessaires.

Exemples

L'exemple suivant crée un modèle pour la commande COPY

CREATE TEMPLATE test_schema.demo_template FOR COPY AS FORMAT JSON 'auto' NULL AS '' MAXERROR 100;

Utilisez AFFICHER LE MODÈLE pour obtenir la définition du modèle :

SHOW TEMPLATE test_schema.demo_template; CREATE OR REPLACE TEMPLATE dev.test_schema.demo_template FOR COPY AS FORMAT AS JSON 'auto' NULL '' MAXERROR 100;

Interrogez la vue MODÈLE SYS_REDSHIFT_ système pour obtenir plus de détails sur un modèle.

SELECT * FROM SYS_REDSHIFT_TEMPLATE; database_name | schema_name | template_name | template_type | create_time | last_modified_time | owner_id | last_modified_by | template_parameters ---------------+-------------+---------------+---------------+----------------------------+----------------------------+----------+------------------+--------------------- dev | test_schema | demo_template | 1 | 2025-12-17 20:06:01.944171 | 2025-12-17 20:06:01.944171 | 1 | 1 | { "JSON": "auto", "MAXERROR": 100, "NULL": "" }