Créer un module de produit de données
Pour définir votre propre logique métier et vos propres modèles analytiques, créez un module de produit de données personnalisé. Cela vous permet d'effectuer des calculs sur vos tables de base ou vos produits de données en amont, et de regrouper les résultats dans des ensembles de données déployables.
Prérequis
Nous vous recommandons de créer des modules de produits de données personnalisés dans un espace de noms personnalisé dédié pour une meilleure gestion du cycle de vie. Assurez-vous également que la table source que vous prévoyez d'utiliser existe dans l'ensemble de données de base data foundation.
Créer un module de produit de données
Pour définir un module de produit de données, procédez comme suit :
- Enregistrez le module de produit de données dans le fichier
config/config.yamlen ajoutant l'entrée à la listedata.modules.products:
data:
# Configuration for data foundation and product modules.
modules:
# List of data product modules.
product:
# Recommended naming for product_module_id:
# custom_namespace_data_product_module_type
- moduleId: product_module_id
# Type of the data product (namespaced).
type: custom_namespace.data_product_module_type
# Map of module dependencies.
dependsOn:
sapModule: erp
sapModuleCustNS: foundation_module_id
# Reference to the target dataset ID.
dataTargetId: product_target
# Whether the module is enabled.
# enabled: true
# Whether the foundation is external (does not create target dataset).
# external: false
# Custom table settings file, relative to 'config/' file directory
# Recommended path: '{custom_namespace}/data_product/{data_product_module_type}/table_settings.yaml'
# If omitted, defaults to '../src/data_modules/{custom_namespace}/data_product/{data_product_module_type}/table_settings.default.yaml'
# tableSettings: "{custom_namespace}/data_product/{data_product_module_type}/table_settings.yaml"
- Création du fichier par défaut
tableSettings(par exemple,src/data_modules/custom_namespace/data_product/data_product_module_type/table_settings.default.yaml).
Ce fichier YAML contrôle les configurations de table, telles que les matérialisations et les détails d'optimisation BigQuery :
common:
custom_sales_summary:
materialization_type: "table"
tags: ["custom", "sales", "reporting"]
partition_details:
column: "created_date"
partition_type: "date"
time_grain: "day"
cluster_details:
columns:
- "customer_id"
- Créez un fichier d'annotation.
Le fichier d'annotation tablename.yaml est créé pour chaque artefact de sortie du produit de données (table, vue) et décrit les colonnes et les champs au format YAML. Lors de la compilation, le compilateur recherche automatiquement les annotations dans le dossier annotations/ du produit (par exemple, src/data_modules/custom_namespace/data_product/data_product_module_type/annotations/custom_sales_summary.yaml), puis fusionne ces chaînes directement dans les définitions de schéma Dataform de sortie afin qu'elles soient conservées dans les métadonnées de la table BigQuery.
Un fichier d'annotation src/data_modules/custom_namespace/data_product/data_product_module_type/annotations/tablename.yaml a le format suivant :
description: "Description of the table or view purpose"
fields:
- name: "customer_id" # column name
description: "Customer identifier" # column description
- name: "column2"
description: "Description of Column 2"
- name: "column3"
description: "Description of Column 3"
- Créez un fichier
manifest.yamldans le dossier de votre produit de donnéessrc/data_modules/custom_namespace/data_product/data_product_module_type/, en conservant le type, les tables et les dépendances du module. Le fichier manifeste a le format suivant :
type: sales_performance
builder: sap_product # Automatically resolves to the global SapProductBuilder fallback
dependencies:
sapModule:
type: sap
supportedVersions:
- ecc
- s4
Exemple de module de produit de données
Voici les étapes à suivre pour implémenter le produit de données flights_usd dans l'espace de noms sap_bookingdatamodel de l'exemple de vols flights example :
- Enregistrez le module de produit de données dans le fichier
config/config.yamlen ajoutant l'entrée à la listedata.modules.products:
data:
modules:
product:
- moduleId: sap_bookingdatamodel_flights_usd
type: sap_bookingdatamodel.flights_usd
dependsOn:
sapModule