Format de données de la boutique hors ligne Amazon SageMaker Feature Store - Amazon SageMaker

Format de données de la boutique hors ligne Amazon SageMaker Feature Store

Les données de la boutique hors ligne Amazon SageMaker Feature Store sont stockées dans un compartiment Amazon S3 de votre compte. Lorsque vous appelez PutRecord, vos données sont mises en tampon, mises en lot et écrites dans Amazon S3 en moins de 15 minutes. Feature Store prend uniquement en charge le format de fichier Parquet. Plus précisément, lorsque vos données sont écrites dans votre boutique hors ligne, elles ne peuvent être extraites de votre compartiment Amazon S3 qu'au format Parquet. Chaque fichier peut contenir plusieurs Records.

Les fichiers sont organisés selon la convention de dénomination suivante :

s3://<bucket-name>/<customer-prefix>/<account-id>/sagemaker/<aws-region>/offline-store/<feature-group-name>-<feature-group-creation-time>/data/year=<event-time-year>/ month=<event-time-month>/day=<event-time-day>/hour=<event-time-hour>/<timestamp_of_latest_event_time_in_file>_<16-random-alphanumeric-digits>.parquet

Les Records dans le magasin hors ligne sont partitionnés par heure de l'événement en partitions horaires, comme indiqué dans l'exemple précédent. Le schéma de partitionnement n'est pas configurable. Le code suivant présente un exemple de fichier Parquet :

s3://my-bucket/my-prefix/123456789012/sagemaker/us-east-1/offline-store/ customer-purchase-history-patterns-1593511200/data/year=2020/month=06/day=31/hour=00/20200631T064401Z_108934320012Az11.parquet

Feature Store expose également le champ OfflineStoreConfig.S3StorageConfig.ResolvedOutputS3Uri, qui peut être trouvé dans l'appel d'API DescribeFeatureGroup. Il s'agit du chemin d'accès S3 sous lequel les fichiers du groupe de fonctions spécifique sont écrits.

Exemple de valeur de   ResolvedOutputS3Uri:

s3://my-bucket/my-prefix/123456789012/sagemaker/us-east-1/offline-store/customer-purchase-history-patterns-1593511200/data

Les champs supplémentaires suivants sont ajoutés par Feature Store à chaque enregistrement résidant dans la boutique hors ligne :

  • api_invocation_time : horodatage de l'instant où le service reçoit l'appel PutRecord ou DeleteRecord. Si vous utilisez l'intégration gérée (par exemple Data Wrangler), il s'agit de l'horodatage de l'instant où les données ont été écrites dans la boutique hors ligne.

  • write_time : horodatage de l'instant où les données ont été écrites dans la boutique hors ligne. Peut être utilisé pour créer des requêtes liées au déplacement dans le temps.

  • is_deletedFalse par défaut. Si DeleteRecord est appelé, un nouvel Record est inséré dans RecordIdentifierValue et défini à True dans la boutique hors ligne.