FileSize - AWS Glue

FileSize

A regra FileSize permite que você garanta que os arquivos atendam a determinados critérios de tamanho. Isso é útil para os seguintes casos de uso:

  1. Certificar-se de que os produtores não estejam enviando arquivos vazios ou substancialmente menores para processamento.

  2. Certificar-se de que os buckets de destino não tenham arquivos menores, o que pode causar problemas de desempenho.

O FileSize reúne as seguintes métricas:

  1. Conformidade: retorna a porcentagem de arquivos que atendem ao limite da regra que você estabeleceu

  2. Contagem de arquivos: o número de arquivos que foram verificados pela regra

  3. Tamanho mínimo do arquivo em bytes

  4. Tamanho máximo do arquivo em bytes

Dataset.*.FileSize.Compliance: 1.00, Dataset.*.FileCount: 8.00, Dataset.*.MaximumFileSize: 327413121.00, Dataset.*.MinimumFileSize: 204558920.00

A detecção de anomalias não é compatível com essas métricas.

Validar o tamanho dos arquivos

Essa regra será válida quando file.dat for maior do que 2 MB.

FileSize "s3://amzn-s3-demo-bucket/file.dat" > 2 MB

As unidades compatíveis incluem B (bytes), MB (megabytes), GB (gigabytes) e TB (terabytes).

Validar o tamanho dos arquivos nas pastas

FileSize "s3://bucket/" > 5 B FileSize "s3://bucket/" < 2 GB

Essa regra será válida se 70% dos arquivos em s3://amzn-s3-demo-bucket tiverem entre 2 GB e 1 TB.

FileSize "s3://amzn-s3-demo-bucket/" between 2 GB and 1 TB with threshold > 0.7

Dedução de nomes de arquivos diretamente de quadros de dados

Você nem sempre precisa fornecer um caminho de arquivo. Por exemplo, quando você está criando a regra no Catálogo de Dados, pode ser difícil descobrir quais pastas as tabelas do catálogo estão usando. O AWS Glue Data Quality pode encontrar as pastas ou arquivos específicos usados para o preenchimento do quadro de dados.

nota

Esse recurso só funcionará quando os arquivos forem lidos com sucesso no DynamicFrame ou no DataFrame.

FileSize < 10 MB with threshold > 0.7

Tags de regras opcionais baseadas em arquivos:

As tags permitem controlar o comportamento da regra.

recentFiles

Essa tag limita o número de arquivos processados ao manter primeiro o arquivo mais recente.

FileSize "s3://amzn-s3-demo-bucket/" > 5 B with recentFiles = 1

uriRegex

nota

A tag uriRegex está disponível no AWS Glue 5.0 e em versões posteriores.

Essa tag filtra os arquivos aplicando um padrão regex ao caminho do arquivo. Somente são processados os arquivos cujos caminhos correspondam ao padrão. Você também pode usar um lookahead negativo para excluir os arquivos que correspondam a um padrão.

# Match only files with a .dat extension FileSize "s3://bucket/" > 5 B with uriRegex = "\.dat$" # Exclude files ending in .tmp using a negative lookahead FileSize "s3://bucket/" > 5 B with uriRegex = "(?!.*\.tmp$).*"

filterOrder

nota

A tag filterOrder está disponível no AWS Glue 5.0 e em versões posteriores.

Quando você usa várias tags de filtro juntas, como recentFiles e uriRegex, a tag filterOrder controla a ordem na qual elas são aplicadas. A ordem padronizada é primeiro recentFiles e depois uriRegex.

FileSize "s3://bucket/" > 5 B with recentFiles = 5 with uriRegex = "\.dat$" with filterOrder = ["uriRegex","recentFiles"]

failFast

Quando definida como "true", a regra informa a falha imediatamente no primeiro arquivo que falhar na condição de tamanho, em vez de avaliar todos os arquivos e calcular uma taxa de conformidade.

FileSize "s3://bucket/" > 2 MB with failFast = "true"

Existem algumas considerações:

  1. No ETL do AWS Glue, você deve ter a transformação EvaluateDataQuality imediatamente após uma transformação do Amazon S3 ou do Catálogo de Dados.

  2. Essa regra não funcionará nas sessões interativas do AWS Glue.