View a markdown version of this page

Utilizzo FindMatches in un lavoro visivo - AWS Aderenza

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

Utilizzo FindMatches in un lavoro visivo

Per utilizzare la FindMatchestrasformazione inAWS Glue Studio, puoi utilizzare il nodo Custom Transform che richiama l' FindMatches API. Per ulteriori informazioni su come utilizzare una trasformazione personalizzata, consulta la pagina Creating a custom transformation

Nota

Attualmente, l' FindMatches API funziona solo con. Glue 2.0 Per eseguire un lavoro con la trasformazione personalizzata che richiama l' FindMatches API, assicurati che la AWS Glue versione sia Glue 2.0 nella scheda Dettagli del lavoro. Se la versione di non lo AWS Glue èGlue 2.0, il processo fallirà in fase di esecuzione con il seguente messaggio di errore: «impossibile importare il nome '' da FindMatches 'awsglueml.transforms'».

Prerequisiti

Aggiungere una trasformazione FindMatches

Per aggiungere una FindMatches trasformazione:
  1. Nell'editor dei processi AWS Glue Studio, apri il pannello Risorse facendo clic sul simbolo della croce nell'angolo in alto a sinistra del grafico visivo del processo e scegli un'origine dati selezionando la scheda Dati. Questa è l'origine dati nella quale verificare la presenza di corrispondenze.

    La schermata mostra un simbolo a croce all'interno di un cerchio. Facendo clic su questo pulsante nell'editor visivo dei processi, si apre il pannello delle risorse.
  2. Scegli il nodo dell'origine dati, quindi apri il pannello Risorse facendo clic sul simbolo della croce nell'angolo in alto a sinistra del grafico visivo del processo e cerca "trasformazione personalizzata". Scegli il nodo Trasformazione personalizzata per aggiungerlo al grafico. La Trasformazione personalizzata è collegata al nodo dell'origine dati. In caso contrario, puoi fare clic sul nodo Trasformazione personalizzata e scegliere la scheda Proprietà del nodo, quindi, in Padri del nodo, scegli l'origine dati.

  3. Fai clic sul nodo Trasformazione personalizzata nel grafico visivo, quindi scegli la scheda Proprietà del nodo e assegna un nome alla trasformazione personalizzata. Ti consigliamo di rinominare la trasformazione assegnandole un nome facilmente identificabile nel grafico visivo.

  4. Scegli la scheda Trasforma, dove puoi modificare il blocco di codice. Qui è possibile aggiungere il codice per richiamare l' FindMatches API.

    La schermata mostra il blocco di codice nella scheda Trasforma quando è selezionato il nodo Trasformazione personalizzata.

    Il blocco di codice contiene codice precompilato per aiutarti a iniziare. Sovrascrivi il codice precompilato con il modello seguente. Il modello ha un segnaposto per transformId, che puoi sostituire con il tuo valore.

    def MyTransform (glueContext, dfc) -> DynamicFrameCollection: dynf = dfc.select(list(dfc.keys())[0]) from awsglueml.transforms import FindMatches findmatches = FindMatches.apply(frame = dynf, transformId = "<your id>") return(DynamicFrameCollection({"FindMatches": findmatches}, glueContext))
  5. Fai clic sul nodo Trasformazione personalizzata nel grafico visivo, quindi apri il pannello Risorse facendo clic sul simbolo della croce nell'angolo in alto a sinistra del grafico visivo del processo e cerca "Seleziona dalla raccolta". Non è necessario modificare la selezione predefinita poiché ce n'è solo una DynamicFrame nella raccolta.

  6. È possibile continuare ad aggiungere trasformazioni o archiviare il risultato, che ora è arricchito con le colonne aggiuntive delle corrispondenze trovate. Se vuoi fare riferimento a quelle nuove colonne nelle trasformazioni a valle, devi aggiungerle allo schema di output della trasformazione. Il modo più semplice per farlo è scegliere la scheda Anteprima dati e quindi, nella scheda Schema, scegliere "Utilizza schema di anteprima dati".

  7. Per personalizzare FindMatches, puoi aggiungere parametri aggiuntivi da passare al metodo 'applica'. Vedi FindMatches classe.

Aggiungere una trasformazione FindMatches incrementale

Nel caso di corrispondenze incrementali, il processo è lo stesso dell'aggiunta di una FindMatches trasformazione con le seguenti differenze:

  • Per la trasformazione personalizzata sono necessari due nodi padri anziché un solo nodo.

  • Il primo nodo padre dovrebbe essere il set di dati.

  • Il secondo nodo padre dovrebbe essere il set di dati incrementale.

    Sostituisci il valore transformId con il tuo transformId nel blocco di codice del modello:

    def MyTransform (glueContext, dfc) -> DynamicFrameCollection: dfs = list(dfc.values()) dynf = dfs[0] inc_dynf = dfs[1] from awsglueml.transforms import FindIncrementalMatches findmatches = FindIncrementalMatches.apply(existingFrame = dynf, incrementalFrame = inc_dynf, transformId = "<your id>") return(DynamicFrameCollection({"FindMatches": findmatches}, glueContext))
  • Per i parametri opzionali, vedete FindIncrementalMatches class.