SchemaScanner

Produit un élément de schéma représentant la définition du type d'entité pour chaque groupe d'entités de données d'entrée.

Aller à la configuration

Cas d'utilisations typiques

  • Génération d'une entité de schéma pour les données destination dynamiques

  • Génération d'entités de schéma à des fins de comparaison pour la validation et la dérive des schémas

  • Générer des schémas après avoir fusionné ou manipulé des jeux de données

Comment fonctionne-t-il ?

SchemaScanner reçoit les entités et détermine leur schéma en recherchant les noms d'attributs et les types de données, sur la base de la structure et des valeurs d'attributs des entités.

Il analysera soit toutes les entités, soit un nombre spécifié d'entre elles, et peut exclure certains attributs en fonction des noms, tels que les attributs spécifiques au format ou les attributs internes de FME.

Le schéma résultant est édité sous la forme d'une nouvelle entité de schéma, qui possède une forme spécifique d'attribut de liste et sort via le port <Schema>. Elle reçoit également un attribut et une valeur spéciaux : fme_schema_handling = 'schema_only', qui indique à un Writer dynamique d'utiliser cette entité en tant que schéma et de la supprimer ensuite de la sortie.

Les entités d'entrée originales sont transmises via le port de sortie Output.

L'ordre de sortie des entités de schéma par rapport aux données (entités d'entrée) peut être contrôlé à l'aide de l'option Générer le schéma avant les entités de données. Pour une utilisation avec des données destinations dynamiques, les entités de schéma doivent être éditées en premier.

Génération d'attribut

Les schémas peuvent être générés avec des types de données standard ou explicitement définis, en fonction des paramètres de types de données Numerique et Chaîne de caractères :

  • Types standards produisent des types tels que fme_real64 , fme_int8 et fme_buffer.

  • Précision et largeur explicites produit des données comme :

    • fme_decimal(a,b) a est le nombre de chiffres avant la virgule et b le nombre après (précision).

    • fme_varchar(a) a est le nombre maximum de caractères dans une chaîne de caractères.

Lors de l'utilisation de précision et largeur explicites, il convient d'examiner toutes les entités (nombre d'entités à analyser) afin de s'assurer que toutes les longueurs de valeurs d'attributs existantes sont prises en compte.

Travailler avec des dates

Les dates et heures peuvent être analysées en option.

Si les chaînes correspondent au format de date FME %Y%m%d%H%M%S, elles peuvent être recherchées à l'aide de la fonction Détecter les dates FME.

Pour rechercher les chaînes qui correspondent à un autre format de date ou d'heure, utilisez l'option Convertir le format de date en entrée en date FME. Notez que cette option n'est disponible que si l'option Générer le schéma avant les entités de données est réglée sur Oui.

Voir Formats standards FME d'heure et de date pour les détails de formatage.

Exclure des attributs

SchemaScanner traite tous les attributs des entités entrantes, y compris les attributs fme et format. Il est possible d'ignorer des attributs à l'aide du paramètre Ignorer les attributs contenant.

Entrez une expression régulière, et les attributs correspondants seront ignorés.

Par exemple, si les données sources sont de type CSV, vous pouvez utiliser l'expression régulière ^fme_|^multi_|^csv_ pour ignorer tous les attributs commençant par fme_, multi_, ou csv_.

Entités schéma

Les entités de schéma peuvent être utilisées pour stocker ou transmettre des structures de schéma - à des données destinations, par exemple. Le schéma est stocké dans un attribut de liste nommé attribut , comme indiqué ici.

Chaque attribut a un nom et un type de données fme_data_type - notez que l'attribut LAT a un type de données correspondant fme_real64 .

Les types de données sont des types de données internes à FME.

Notes

  • Les entités de schéma peuvent également être générées manuellement, ou en utilisant les options de schéma de FeatureReader. Deux Readers génèrent également des schémas : le Reader Schema (Any Format) et le Reader Schema (From Table).
  • Lorsque le SchemaScanner est utilisé avec un Writer dynamique, le paramètre Générer le schéma avant les entités de données doit être réglé sur Oui, afin que le schéma arrive au Writer avant les entités de données.

Configuration

Ports d'entrée

Ports de sortie

Paramètres

Éditer les paramètres des Transformers

À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments de traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.

Définir les valeurs

Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres de traitement. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.

Options - Tables

Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.

Références

Comportement

Basé sur le regroupement

Stockage des entités

Si l'option Générer les entités de schéma avant les données est Oui, le Transformers bloquera toutes les entités des données entrantes. Cela est généralement nécessaire si vous utilisez l'entité schéma avec un Writer dynamique.

L'option Nombre d'entités à analyser bloque également les entités de données - jusqu'au nombre d'entités sélectionné (ou toutes les entités, si l'option est laissée vide).

Dépendances Aucun
Alias  
Historique  

FME Community

FME Community est l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.

Voir tous les résultats à propos de ce Transformer sur FME Community.

 

Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.