Lorsque j'utilise un classifieur intégré pour analyser un fichier de données à largeur fixe, l'analyseur AWS Glue le classe comme INCONNU.

Date de la dernière mise à jour : 31/05/2019

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

Brève description

Les classifieurs intégrés ne parviennent 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 distincte. Pour plus d'informations, consultez la section Valeurs de classifieur personnalisé dans AWS Glue.

4.    Sélectionnez 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.    Sélectionnez Suivant, puis confirmez si vous souhaitez 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 Configure the crawler's output (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 Prêt, cochez la case en regard du nom de l'analyseur, puis sélectionnez Run crawler (Exécuter l'analyseur).

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