Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Record di abbinamento con AWS Lake Formation FindMatches

Modalità Focus
Record di abbinamento con AWS Lake Formation FindMatches - AWS Glue

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à.

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à.

Nota

La corrispondenza dei record non è attualmente disponibile nelle seguenti regioni della AWS Glue console: Medio Oriente (Emirati Arabi Uniti), Europa (Spagna) (eu-south-2) ed Europa (Zurigo) (eu-central-2).

AWS Lake Formation offre funzionalità di apprendimento automatico per creare trasformazioni personalizzate per ripulire i dati. Attualmente è disponibile una trasformazione denominata. FindMatches La FindMatches trasformazione consente di identificare i record duplicati o corrispondenti nel set di dati, anche quando i record non hanno un identificatore univoco comune e nessun campo corrisponde esattamente. Ciò non richiederà la scrittura di alcun codice o la conoscenza di come funziona l'apprendimento automatico. FindMatches può essere utile in molti problemi diversi, come ad esempio:

  • Matching Customers (Corrispondenza di clienti): collegamento di record dei clienti tra diversi database, anche quando molti campi non corrispondono esattamente tra i database (ad es. diversa ortografia dei nomi, differenze di indirizzo, dati mancanti o imprecisi e così via).

  • Matching Products (Corrispondenza di prodotti): abbinamento dei prodotti nel catalogo rispetto ad altre origini, ad esempio catalogo di prodotti rispetto al catalogo di un concorrente, in cui le voci sono strutturate in modo diverso.

  • Improving Fraud Detection (Miglioramento del rilevamento delle frodi): identificazione di account dei clienti duplicati, determinazione di quando un nuovo account creato è (o potrebbe essere) una corrispondenza per un utente fraudolento noto.

  • Other Matching Problems (Altri problemi di corrispondenza): abbinare indirizzi, film, elenchi di parti e così via. In generale, se un essere umano potesse esaminare le righe del database e determinare che coincidono, ci sono ottime probabilità che la FindMatches trasformazione possa aiutarvi.

È possibile creare queste trasformazioni al momento della creazione di un processo. La trasformazione creata si basa su uno schema del datastore di origine e su dati di esempio del set di dati di origine etichettato (questo processo viene denominato "insegnamento" di una trasformazione). I record etichettati devono essere presenti nel set di dati di origine. In questo processo viene generato un file etichettato e quindi ricaricato nel modo appreso dalla trasformazione. Dopo aver insegnato la trasformazione, puoi richiamarla dal tuo sistema basato su Spark AWS Glue job (PySpark o Scala Spark) e usalo in altri script con un data store di origine compatibile.

Dopo la creazione, la trasformazione viene memorizzata in AWS Glue. Sul AWS Glue console, puoi gestire le trasformazioni che crei. Nel riquadro di navigazione in Integrazione dei dati ed ETL, Strumenti di classificazione dei dati > Corrispondenza dei record, puoi modificare e continuare a istruire la trasformazione del machine learning. Per ulteriori informazioni sulla gestione delle trasformazioni nella console, consultare Lavorare con le trasformazioni dell'apprendimento automatico.

Nota

AWS Glue i FindMatches lavori della versione 2.0 utilizzano il bucket Amazon S3 aws-glue-temp-<accountID>-<region> per archiviare file temporanei mentre la trasformazione elabora i dati. Puoi eliminare questi dati dopo aver completato l'esecuzione, manualmente o impostando una regola del ciclo di vita di Amazon S3.

Tipi di trasformazioni basate su machine learning

È possibile creare trasformazioni di machine learning per pulire i dati. Puoi chiamare queste trasformazioni dallo script ETL. I dati passano da una trasformazione all'altra in una struttura di dati chiamata a DynamicFrame, che è un'estensione di Apache Spark SQL. DataFrame DynamicFrame contiene i tuoi dati e il suo schema di riferimento per elaborare i dati.

Sono disponibili i seguenti tipi di trasformazioni basate su machine learning:

Rilevamento delle corrispondenze

Individua i record duplicati nei dati di origine. È possibile addestrare questa trasformazione basata su machine learning etichettando dei set di dati di esempio e indicando tra quali righe sono presenti delle corrispondenze. La trasformazione basata su machine learning apprende quali righe debbano essere abbinate man mano che vengono offerti dati di esempio etichettati. A seconda della configurazione della trasformazione, l'output è uno dei seguenti:

  • Una copia della tabella di input con una colonna match_id aggiuntiva compilata con i valori che indicano insiemi di record corrispondenti. La colonna match_id è un identificatore arbitrario. Tutti i record con lo stesso match_id sono stati identificati come tra loro corrispondenti. I record con match_id diversi non corrispondono.

  • Una copia della tabella di input con le righe duplicate rimosse. Se vengono rilevati molteplici duplicati, viene mantenuto il record con la chiave primaria minore.

Trova corrispondenze incrementali

La trasformazione Find matches può anche essere configurata per trovare le corrispondenze tra i frame esistenti e incrementali e restituire come output una colonna contenente un ID univoco per gruppo di corrispondenza.

Per ulteriori informazioni, consulta: Trovare corrispondenze incrementali

Utilizzo della FindMatches trasformazione

È possibile utilizzare la trasformazione FindMatches per individuare i record duplicati nei dati di origine. Viene generato o fornito un file di etichettatura che possa aiutare nell'addestramento della trasformazione.

Nota

Attualmente, le trasformazioni FindMatches che usano una chiave di crittografia personalizzata non sono supportate nelle seguenti Regioni:

  • Asia Pacifico (Osaka): ap-northeast-3

Per iniziare con la FindMatches trasformazione, puoi seguire i passaggi seguenti. Per un esempio più avanzato e dettagliato, consulta il blog AWS Big Data: Harmonize data using AWS Glue e AWS Lake Formation FindMatches ML per creare una visione a 360 gradi del cliente.

Nozioni di base sull'utilizzo della trasformazione con rilevamento delle corrispondenze

Seguire questi passaggi per iniziare a usare la trasformazione FindMatches:

  1. Crea una tabella AWS Glue Data Catalog per i dati di origine da pulire. Per informazioni su come creare un crawler, consulta Lavorare con i crawler su AWS Glue Console.

    Se i dati di origine sono contenuti in un file di testo, ad esempio un file di valori separati da virgola (CSV), tenere conto delle seguenti considerazioni:

    • Mantenere il file CSV contenente i record di input e i file di etichettatura in cartelle separate. Altrimenti, il AWS Glue il crawler potrebbe considerarli come parti multiple della stessa tabella e creare tabelle nel Data Catalog in modo errato.

    • A meno che il file CSV includa solo caratteri ASCII, assicurarsi che per la codifica dei file CSV venga utilizzato UTF-8 senza BOM (Byte Order Mark). Microsoft Excel spesso aggiunge un BOM all'inizio dei file CSV UTF-8. Per rimuoverlo, aprire il file CSV con un editor di testo e salvare nuovamente il file in formato UTF-8 senza BOM.

  2. Sul AWS Glue console, crea un lavoro e scegli il tipo di trasformazione Find matches.

    Importante

    La tabella dell'origine dati selezionata per il processo può contenere fino a un massimo di 100 colonne.

  3. Raccontare AWS Glue per generare un file di etichettatura scegliendo Genera file di etichettatura. AWS Glue esegue il primo passaggio per raggruppare record simili per ciascuno di essi labeling_set_id in modo da poter rivedere tali raggruppamenti. Etichetta corrispondenze nella colonna label.

    • Se già disponi di un file di etichettatura, ossia di un esempio di record che indicano righe corrispondenti, carica il file su Amazon Simple Storage Service (Amazon S3). Per informazioni sul formato del file di etichettatura, consultare Formato del file di etichettatura. Continuare con la fase 4.

  4. Scaricare il file di etichettatura ed etichettare il file come descritto nella sezione Etichettatura.

  5. Carica il file etichettato corretto. AWS Glue esegue attività per insegnare alla trasformazione come trovare le corrispondenze.

    Nella pagina di elenco delle Machine learning transforms (Trasformazioni basate su machine learning), scegliere la scheda History (Cronologia). Questa pagina indica quando AWS Glue esegue le seguenti attività:

    • Import labels (Importa le etichette)

    • Export labels (Esporta le etichette)

    • Generate labels (Genera le etichette)

    • Estimate quality (Valuta la qualità)

  6. Per creare una migliore trasformazione, è possibile scaricare, etichettare e caricare il file etichettato in modo iterativo. Nell'esecuzione iniziale, molti record potrebbero essere rilevati come non corrispondenti. Ma AWS Glue impara mentre continui a insegnarlo verificando il file di etichettatura.

  7. Valutare e ottimizzare la trasformazione tramite la valutazione delle prestazioni e dei risultati della ricerca delle corrispondenze. Per ulteriori informazioni, consulta L'ottimizzazione dell'apprendimento automatico si trasforma in AWS Glue.

Etichettatura

Quando FindMatches genera un file di etichettatura, i record vengono selezionati dalla tabella di origine. Sulla base del training precedente, FindMatches identifica i record più importanti da cui apprendere.

L'atto di etichettatura consiste nella modifica di un file di etichettatura (ad esempio, un foglio di calcolo come Microsoft Excel) e l'aggiunta di identificatori, o etichette, nella colonna label che identifica i record con o senza corrispondenze. È importante avere una chiara e coerente definizione di corrispondenza nei dati di origine. FindMatches apprende sulla base dei record designati come corrispondenti (o meno) e utilizza le decisioni dell'utente per ricavare le informazioni necessarie all'individuazione dei record duplicati.

Quando il file di etichettatura viene generato da FindMatches, vengono generati circa 100 record. Questi 100 record sono in genere suddivisi in 10 set di etichettatura, dove ogni set di etichettatura è identificato da un unico labeling_set_id generato da FindMatches. Ogni set di etichettatura deve essere considerato come un'attività di etichettatura separata indipendente dagli altri set di etichettatura. Il tuo compito consiste nell'identificare i record corrispondenti e non corrispondenti all'interno di ciascun set di etichette.

Suggerimenti per la modifica dei file di etichettatura in un foglio di calcolo.

Quando si modifica il file di etichettatura in un foglio di calcolo, considerare i seguenti aspetti:

  • Il file potrebbe non aprirsi con le colonne dei campi completamente espanse. Per visualizzare i contenuti di tali celle, potrebbe essere necessario espandere le colonne labeling_set_id e label.

  • Se la colonna chiave primaria è un numero, ad esempio un tipo di dato long, il foglio di calcolo potrebbe interpretarlo come un numero e modificarne il valore. Questo valore chiave deve essere trattato come un testo. Per risolvere il problema, formattare tutte le celle nella colonna chiave primaria come Text data (Formato testo).

Formato del file di etichettatura

Il file di etichettatura generato da AWS Glue to teach your FindMatches transformation utilizza il seguente formato. Se generi il tuo file per AWS Glue, deve seguire anche questo formato:

  • Si tratta di un file di valori separati da virgola (CSV).

  • Deve essere codificato in UTF-8. Se il file è stato modificato con Microsoft Windows, potrebbe essere codificato con cp1252.

  • Deve trovarsi in una posizione Amazon S3 a cui trasferirlo AWS Glue.

  • Utilizza un numero modesto di righe per ogni attività di etichettatura. Sono consigliate 10-20 righe per attività, anche se 2-30 righe per attività sono accettabili. Le attività superiori a 50 righe non sono consigliate e potrebbero causare risultati scadenti o errori di sistema.

  • Se si dispone di dati già etichettati costituiti da coppie di record etichettati come "corrispondenza" o "nessuna corrispondenza", questo va bene. Queste coppie etichettate possono essere rappresentate come set di etichettatura di dimensione 2. In questo caso etichettare entrambi i record con, ad esempio, una lettera "A" se corrispondono, ma etichettare uno come "A" e uno come "B" se non corrispondono.

    Nota

    Poiché possiede delle colonne aggiuntive, il file di etichettatura presenta uno schema diverso da quello di un file che contiene i dati di origine. Posiziona il file di etichettatura in una cartella diversa da qualsiasi file CSV di input da trasformare in modo che AWS Glue crawler non lo considera quando crea tabelle nel Data Catalog. Altrimenti, le tabelle create da AWS Glue il crawler potrebbe non rappresentare correttamente i tuoi dati.

  • Le prime due colonne (labeling_set_id,label) sono richieste da AWS Glue. Le colonne rimanenti devono corrispondere allo schema dei dati da elaborare.

  • Per ogni labeling_set_id, è necessario identificare tutti i record corrispondenti utilizzando la stessa etichetta. Un'etichetta è una stringa univoca posizionata nella colonna label. Consigliamo di usare etichette contenenti caratteri semplici, ad esempio A, B, C e così via. Le etichette considerano in modo differente le maiuscole dalle minuscole e vengono inserite nella colonna label.

  • Le righe che contengono lo stesso labeling_set_id e la stessa etichetta si intendono etichettate come corrispondenza.

  • Le righe che contengono lo stesso labeling_set_id e un'etichetta diversa si intendono etichettate come non una corrispondenza

  • Le righe che contengono un labeling_set_id diverso non trasmettono alcuna informazione a favore o contro la corrispondenza.

    Di seguito è riportato un esempio di etichettatura dei dati:

    labeling_set_id etichetta first_name last_name Compleanno
    ABC123 A John Doe 04/01/1980
    ABC123 B Jane Smith 04/03/1980
    ABC123 A Johnny Doe 04/01/1980
    ABC123 A Jon Doe 04/01/1980
    DEF345 A Richard Jones 12/11/1992
    DEF345 A Rich Jones 11/12/1992
    DEF345 B Sara Jones 12/11/1992
    DEF345 C Richie Jones Junior. 05/06/2017
    DEF345 B Sara Jones-Walker 12/11/1992
    GHI678 A Roberto Miller 1/3/1999
    GHI678 A Bob Miller 1/3/1999
    XYZABC A Guglielmo Robinson 2/5/2001
    XYZABC B Andrea Robinson 2/5/1971
  • Nell'esempio precedente identifichiamo John/Johnny/Jon Doe as being a match and we teach the system that these records do not match Jane Smith. Separately, we teach the system that Richard and Rich Jones are the same person, but that these records are not a match to Sarah Jones/Jones -Walker e Richie Jones Jr.

  • Come si può vedere, l'ambito delle etichette è limitato al labeling_set_id. Quindi le etichette non attraversano i limiti imposti dal labeling_set_id. Ad esempio, un'etichetta "A" nel labeling_set_id 1 non ha alcuna relazione con l'etichetta "A" nel labeling_set_id 2.

  • Se un record non ha alcuna corrispondenza all'interno di un set di etichette, assegnargli un'etichetta univoca. Ad esempio, Jane Smith non corrisponde a nessun record nel set di etichette ABC123, quindi è l'unico disco di quel set di etichette con l'etichetta B.

  • Il set di etichette "GHI678" mostra che un set di etichette può essere composto da soli due record a cui viene assegnata la stessa etichetta per dimostrare che corrispondono. Allo stesso modo, "XYZABC" mostra due record con etichette diverse per mostrare che non corrispondono.

  • Si noti che a volte un set di etichette non può contenere corrispondenze (ovvero, si attribuisce a ogni record nel set di etichette un'etichetta diversa) o un set di etichette potrebbe essere "uguale" (ad essi è stata assegnata la stessa etichetta). Questo va bene fintanto che i set di etichettatura contengono collettivamente esempi di record "uguali" o "non uguali" secondo i propri criteri.

Importante

Conferma che il ruolo IAM a cui passi AWS Glue ha accesso al bucket Amazon S3 che contiene il file di etichettatura. Per convenzione, AWS Glue le politiche concedono l'autorizzazione ai bucket o alle cartelle Amazon S3 i cui nomi sono preceduti da aws-glue-. Se i file di etichettatura si trovano in percorsi diversi, aggiungere al ruolo IAM l'autorizzazione di accesso a tale posizione.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.