Pourquoi l'analyseur AWS Glue classe-t-il mon fichier de données à largeur fixe comme INCONNU lorsque j'utilise un classifieur intégré pour analyser le fichier ?

Lecture de 3 minute(s)
0

Lorsque j'analyse un fichier .dat à largeur fixe à l'aide d'un classifieur intégré, mon analyseur AWS Glue classe le fichier comme INCONNU.

Brève description

Les classifieurs intégrés ne peuvent pas analyser des fichiers de données à largeur fixe. Utilisez plutôt un classifieur grok personnalisé.

Résolution

Créer le classifieur grok personnalisé

1.    Ouvrez la console AWS Glue.

2.    Dans le volet de navigation, choisissez Classifiers (Classifieurs).

3.    Choisissez Add classifier (Ajouter un classifieur), puis saisissez ce qui suit :
Pour Classifier name (Nom du classifieur), entrez un nom unique.
Pour Classifier type (Type de classifieur), sélectionnez Grok.
Pour Classification, saisissez une description du format ou du type de données classé, comme « special-logs ».
Pour Grok pattern (Modèle grok), entrez les modèles intégrés que vous souhaitez qu'AWS Glue utilise pour trouver des correspondances dans vos données. Pour analyser un fichier .dat, aucun délimiteur n'est requis entre les champs. Étant donné que chaque champ possède une longueur connue, vous pouvez utiliser un modèle regex pour trouver des correspondances.
Exemple :

(?<col0>.{7})(?<col1>.{8})(?<col2>.{14})(?<col3>.{52})

(Facultatif) Pour Custom patterns (Modèles personnalisés), entrez n'importe quel modèle personnalisé que vous souhaitez utiliser. Ces modèles sont référencés par le modèle grok qui classe vos données. Chaque modèle personnalisé doit se trouver sur une ligne séparée. Pour plus d'informations, consultez la section Valeurs de classifieur personnalisé dans AWS Glue.

4.    Choisissez Create (Créer).

Créer et exécuter l'analyseur

1.    Dans le volet de navigation, sélectionnez Crawlers (Analyseurs).

2.    Sélectionnez Add crawler (Ajouter un analyseur).

3.    Pour Crawler name (Nom de l'analyseur), saisissez un nom unique.

4.    Sélectionnez la flèche en regard de la section Tags, description, security configuration, and classifiers (optional) (Balises, description, configuration de sécurité et classifieurs (facultatif)), puis recherchez la section Custom classifiers (Classifieurs personnalisés).

5.    Sélectionnez Ajouter en regard du classifieur personnalisé que vous avez créé précédemment, puis sélectionnez Suivant.

6.    Sur la page Specify crawler source type (Spécifier le type de source de l'analyseur), choisissez Data stores (Magasins de données), puis Suivant.

7.    Sur la page Add a data store (Ajouter un magasin de données), entrez les informations suivantes :
Pour Choose data store (Sélectionner un magasin de données), sélectionnez le magasin de données de votre choix.
Pour Inclure path (Inclure un chemin), entrez le chemin d'accès à votre fichier .dat.

8.    Choisissez Next (Suivant),puis confirmez si vous voulez ajouter un autre magasin de données ou non.

9.    Sur la page Choose an IAM role (Sélectionner un rôle IAM), sélectionnez un rôle AWS Identity and Access Management (IAM) existant ou créez-en un. Sélectionnez Suivant.

10.    Dans Fréquence, sélectionnez Exécuter, puis Suivant.

11.    Sur la page Configurer la sortie de l'analyseur, pour Base de données, sélectionnez la base de données dans laquelle vous souhaitez que la table soit créée. Sélectionnez Suivant.

12.    Sélectionnez Terminer pour créer l'analyseur.

13.    Lorsque l'analyseur passe à l'état Ready (Prêt), sélectionnez le nom de l'analyseur, puis choisissez Run crawler (Exécuter l'analyseur).

14.    Attendez que l'analyseur ait fini, puis choisissez Tables dans le panneau de navigation. La classification doit correspondre à la celle que vous avez entrée pour le classifieur grok personnalisé (par exemple, « special-logs »).


Informations connexes

Utilisation de classifieurs sur la console AWS Glue

Écriture de classifieurs grok personnalisés

Ajout de classifieurs à un analyseur

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans