

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# FileUniqueness
<a name="dqdl-rule-types-FileUniqueness"></a>

 FileUniqueness consente di garantire che non vi siano file duplicati nei dati ricevuti dai produttori di dati. 

 Raccoglie le seguenti statistiche sui dati: 

1.  Numero di file sottoposti a scansione dalla regola 

1.  Il livello di unicità dei file 

```
Dataset.*.FileUniquenessRatio: 1.00, Dataset.*.FileCount: 8
```

 **Trovare file duplicati in una cartella:** 

```
FileUniqueness "s3://bucket/" > 0.5
FileUniqueness "s3://bucket/folder/" = 1
```

 **Inferire i nomi delle cartelle direttamente dai data frame per rilevare i duplicati:** 

 Non è sempre necessario fornire un percorso del file. Ad esempio, quando si crea la regola nel AWS Glue Data Catalog, potrebbe essere difficile trovare le cartelle utilizzate dalle tabelle del catalogo. AWS Glue Data Quality può trovare le cartelle o i file specifici utilizzati per popolare il tuo frame di dati. 

**Nota**  
 Quando si utilizza l'inferenza, le regole basate su file possono rilevare solo i file letti correttamente in sala operatoria. DynamicFrame DataFrame 

```
FileUniqueness > 0.5
```

 **Tag delle regole opzionali basati su file:** 

 I tag permettono di controllare il comportamento delle regole. 

 **recentFiles** 

 Questo tag limita il numero di file elaborati mantenendo il file più recente per primo. 

```
FileUniqueness "s3://amzn-s3-demo-bucket/" > 0.5 with recentFiles = 1
```

 **uriRegex** 

**Nota**  
 Il `uriRegex` tag è disponibile in AWS Glue 5.0 e versioni successive. 

 Questo tag filtra i file applicando un pattern regex al percorso del file. Vengono elaborati solo i file i cui percorsi corrispondono al modello. Puoi anche usare un lookahead negativo per escludere i file che corrispondono a uno schema. 

```
# Match only files with a .csv extension
FileUniqueness "s3://bucket/" > 0.5 with uriRegex = "\.csv$"
# Exclude files ending in .tmp using a negative lookahead
FileUniqueness "s3://bucket/" > 0.5 with uriRegex = "(?!.*\.tmp$).*"
```

 **Ordinamento del filtro** 

**Nota**  
 Il `filterOrder` tag è disponibile in AWS Glue 5.0 e versioni successive. 

 Quando si utilizzano più tag di filtro, `recentFiles` `uriRegex` singolarmente e contemporaneamente, il `filterOrder` tag controlla l'ordine in cui vengono applicati. L'ordine predefinito è quindi il `recentFiles` primo`uriRegex`. 

```
FileUniqueness "s3://bucket/" > 0.5 with recentFiles = 5 with uriRegex = "\.csv$" with filterOrder = ["uriRegex","recentFiles"]
```

 **matchFileName** 

 Questo tag garantisce che i file non abbiano nomi duplicati. Il comportamento predefinito è false. 

```
FileUniqueness "s3://amzn-s3-demo-bucket/" > 0.5 with matchFileName = "true"
```

 Occorre tenere presente alcuni aspetti: 

1.  In AWS Glue ETL, è necessario disporre di **EvaluateDataQuality**Transform subito dopo una trasformazione di Amazon S3 o AWS Glue Data Catalog. 

1.  Questa regola non funzionerà nelle sessioni interattive di AWS Glue. 