Formato de dados da loja offline da Amazon SageMaker Feature Store - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Formato de dados da loja offline da Amazon SageMaker Feature Store

A Amazon SageMaker Feature Store oferece suporte aos formatos de tabela Apache Iceberg AWS Glue e Apache para a loja offline. Você pode escolher o formato da tabela ao criar um novo grupo de recursos. AWS Glue é o formato padrão.

Os dados da loja off-line da Amazon SageMaker Feature Store são armazenados em um bucket do Amazon S3 em sua conta. Quando você chama o PutRecord, seus dados são armazenados em buffer, agrupados em lotes e gravados no Amazon S3 em 15 minutos. O Feature Store é compatível somente com o formato de arquivo Parquet ao gravar seus dados em seu armazenamento offline. Especificamente, quando seus dados são gravados em seu armazenamento offline, os dados podem ser recuperados do seu bucket do Amazon S3 no formato Parquet. Cada arquivo pode conter vários Records.

Para o formato Iceberg, o Feature Store salva os metadados da tabela no mesmo bucket do Amazon S3 que você está usando para armazenar os dados do armazenamento offline. Você pode encontrá-lo sob o prefixo metadata.

A Feature Store também expõe o OfflineStoreConfigStorageConfig.S3. ResolvedOutputCampo S3Uri, que pode ser encontrado na DescribeFeatureGroupAPIchamada. Esse é o caminho do S3 sob o qual os arquivos do grupo de recursos específico são gravados.

Os campos adicionais a seguir são adicionados pelo Feature Store a cada registro quando eles persistem no armazenamento offline:

  • api_invocation_time – O timestamp em que o serviço recebe a chamada PutRecord ou DeleteRecord. Se estiver usando ingestão gerenciada (por exemplo, Data Wrangler), esse é o timestamp em que os dados foram gravados no armazenamento offline.

  • write_time – O timestamp em que os dados foram gravados no armazenamento offline. Pode ser usado para criar consultas relacionadas a viagens no tempo.

  • is_deletedFalse por padrão. Se DeleteRecord for chamado, um novo Record será inserido em RecordIdentifierValue e configurado como True no armazenamento offline.

URIEstruturas de lojas off-line da Amazon SageMaker Feature Store

Nos exemplos a seguir, amzn-s3-demo-bucket está o bucket do Amazon S3 em sua conta, example-prefix é seu prefixo de exemplo, 111122223333 é seu ID de conta, Região da AWS é sua região e feature-group-name é o nome do seu grupo de recursos.

AWS Glue formato de tabela

Os registros na loja off-line armazenados usando o formato de AWS Glue tabela são particionados por hora do evento em partições de hora em hora. Não é possível configurar o esquema de particionamento. A URI estrutura a seguir mostra a organização de um arquivo Parquet usando o AWS Glue formato:

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/Região da AWS/offline-store/feature-group-name-feature-group-creation-time/data/year=year/month=month/day=day/hour=hour/timestamp_of_latest_event_time_in_file_16-random-alphanumeric-digits.parquet

O exemplo a seguir é o local de saída de um arquivo Parquet para um arquivo com feature-group-name como customer-purchase-history-patterns:

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/Região da AWS/offline-store/customer-purchase-history-patterns-1593511200/data/year=2020/month=06/day=31/hour=00/20200631T064401Z_108934320012Az11.parquet

Formato de tabela do Iceberg

Os registros no armazenamento offline armazenados usando o formato de tabela do Iceberg são particionados por horário do evento em partições diárias. Não é possível configurar o esquema de particionamento. A URI estrutura a seguir mostra a organização dos arquivos de dados salvos no formato de tabela Iceberg:

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/Região da AWS/offline-store/feature-group-name-feature-group-creation-time/data/8-random-alphanumeric-digits/event-time-feature-name_trunc=event-time-year-event-time-month-event-time-day/timestamp-of-latest-event-time-in-file_16-random-alphanumeric-digits.parquet

O exemplo a seguir é o local de saída de um arquivo Parquet para um arquivo com feature-group-name como customer-purchase-history-patterns e o event-time-feature-name é o EventTime:

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/Região da AWS/offline-store/customer-purchase-history-patterns-1593511200/data/0aec19ca/EventTime_trunc=2022-11-09/20221109T215231Z_yolTtpyuWbkaeGIl.parquet

O exemplo a seguir é o local de um arquivo de metadados para arquivos de dados salvos no formato de tabela do Iceberg.

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/Região da AWS/offline-store/feature-group-name-feature-group-creation-time/metadata/