Tous les produits
Search
Centre de documentation

DataWorks:Comparaison des valeurs des paramètres personnalisés

Dernière mise à jour :Aug 09, 2026

DataWorks propose deux familles de paramètres de planification pour injecter des valeurs temporelles dynamiques dans les noms de partitions, les noms de fichiers et les requêtes SQL : la syntaxe basée sur ${...} qui repose sur la date métier, et celle basée sur $[...] qui utilise l'heure planifiée. Cette rubrique compare leurs formats, leur précision et leurs capacités de décalage afin de vous aider à choisir l'option la plus adaptée.

Important

Pour connaître les définitions de l'heure de référence et les règles de transformation, consultez la rubrique Formats pris en charge pour les paramètres de planification.

Aperçu des formats de paramètres

Le tableau suivant présente les six formats de paramètres intégrés. Supposons que l'heure actuelle soit le 1er novembre 2025 et qu'une tâche s'exécute quotidiennement à 00:00. Le paramètre est référencé dans le code sous la forme pt=${datetime}.

Format du paramètre Description Exemple d'affectation Valeur résolue
${yyyymmdd} Date métier (J-1), précise au jour près. Utilisez ce format pour les jobs batch quotidiens partitionnés par date ; aucun décalage manuel n'est nécessaire. datetime=${yyyymmdd} datetime=20251031
$[yyyymmddhh24miss] Heure de déclenchement planifiée, précise à la seconde près. Privilégiez cette option lorsque vous avez besoin d'une précision infra-journalière. datetime=$[yyyymmddhh24miss] datetime=20251101000000
$bizdate Récupère l'heure métier. Équivalent à ${yyyymmdd}. datetime=$bizdate datetime=20251031
$cyctime Récupère l'heure planifiée, précise à la seconde près. Équivalent à $[yyyymmddhh24miss]. datetime=$cyctime datetime=20251101000000
$gmtdate Récupère l'heure actuelle, précise au jour près. datetime=$gmtdate datetime=20251101
$bizmonth Mois métier. Retourne le mois précédent si l'heure métier et l'heure actuelle tombent dans le même mois ; sinon, retourne le mois correspondant à l'heure métier. datetime=$bizmonth datetime=202510 (voir la note ci-dessous)
Remarque

Exemple avec $bizmonth — si l'heure actuelle est le 1er novembre 2025 :

  • Heure métier = 2 novembre 2025 (même mois que l'heure actuelle) → datetime=202510

  • Heure métier = 31 octobre 2025 (mois différent de l'heure actuelle) → datetime=202510

Différences fondamentales entre ${...} et $[...]

**${...} (date métier)** **$[...] (heure planifiée)**
Référentiel temporel Date métier (J-1) Heure de déclenchement planifiée (T)
Précision temporelle Jour (année, mois, jour) Seconde (année, mois, jour, heure, minute, seconde)
Prise en charge des décalages Années, mois, semaines, jours Jours, heures, minutes
Limitations Ne permet pas d'exprimer les heures, minutes ou secondes. Aucune syntaxe directe pour les décalages d'année ou de mois ($[yyyy±N], $[mm±N]). Utilisez plutôt add_months.
Équivalent abrégé ${yyyymmdd} = $bizdate $[yyyymmddhh24miss] = $cyctime

Quand utiliser quelle syntaxe

  • Privilégiez ${...} pour les partitions de date au niveau journalier dans les jobs batch quotidiens : cette syntaxe reflète automatiquement la date des données de la veille (J-1) sans nécessiter de décalage manuel.

  • Optez pour $[...] lorsque vous avez besoin d'une précision horaire ou minutée, ou pour calculer des décalages mensuels ou annuels (via add_months).

  • Utilisez $bizdate ou $cyctime comme raccourcis lorsque le format correspond exactement à vos besoins.

  • Recourez à $gmtdate si vous devez obtenir l'heure actuelle avec une précision au jour près.

Pour plus de détails sur l'utilisation, consultez les rubriques Formats pris en charge pour les paramètres de planification et Configurer et utiliser les paramètres de planification.

Exemples d'utilisation

Les exemples suivants s'appuient sur un nœud SQL ODPS. L'heure planifiée est fixée à 10:30:00 le 20 juillet 2025.

Valeur cible **${...}** **$[...]**
Année : 2025 datetime=${yyyy} → pt=2025 datetime=$[yyyy] → pt=2025
Année courte : 25 datetime=${yy} → pt=25 datetime=$[yy] → pt=25
Année précédente : 2024 datetime=${yyyy-1} → pt=2024 datetime=$[add_months(yyyymmdd,-12)] → pt=2024
Mois : 07 datetime=${mm} → pt=07 datetime=$[mm] → pt=07
Jour : 20 datetime=${dd} → pt=20 datetime=$[dd] → pt=20
Date avec un mois de recul : 2025-06-20 datetime=${yyyy-mm-dd-29} → pt=2025-06-20Non recommandé — vous devez tenir compte du nombre variable de jours selon les mois. Privilégiez plutôt $[...]. datetime=$[add_months(yyyymmdd,-1)] → pt=2025-06-20
Veille : 2025-07-19 datetime=${yyyy-mm-dd} → pt=2025-07-19 datetime=$[yyyy-mm-dd-1] → pt=2025-07-19
Même date, il y a un an : 2024-07-20 datetime=${yyyy-mm-dd-364} → pt=2024-07-20Non recommandé — vous devez gérer les années bissextiles. Privilégiez plutôt $[...]. datetime=$[add_months(yyyymmdd,-12)] → pt=2024-07-20
Heure uniquement : 10:30:00 Non pris en charge datetime=$[hh24:mi:ss] → pt=10:30:00
Date et heure complètes : 2025-07-20 10:30:00 Non pris en charge Définissez deux paramètres séparés par un espace : datetime1=$[yyyy-mm-dd] datetime2=$[hh24:mi:ss] ; référence dans le code : pt=${datetime1} ${datetime2} → pt=2025-07-20 10:30:00
Une minute plus tôt : 2025-07-20 10:29:00 Non pris en charge datetime1=$[yyyy-mm-dd] datetime2=$[hh24:mi:ss-1/24/60] → pt=2025-07-20 10:29:00
Une heure plus tôt : 2025-07-20 09:30:00 Non pris en charge datetime1=$[yyyy-mm-dd] datetime2=$[hh24:mi:ss-1/24] → pt=2025-07-20 09:30:00
Date et heure de la veille (sans espace) : 2025071910:30:00 Non pris en charge datetime=$[yyyymmddhh24miss-1] → pt=2025071910:30:00
Date et heure de la veille (avec espace) : 20250719 10:30:00 Non pris en charge Les expressions de paramètre ne prennent pas en charge les espaces. Définissez deux paramètres : datetime1=$[yyyymmdd-1] datetime2=$[hh24:mi:ss] ; référence dans le code : pt=${datetime1} ${datetime2} → pt=20250719 10:30:00

Étapes suivantes