Creazione di connettori personalizzati - 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à.

Creazione di connettori personalizzati

Puoi anche costruire un connettore personalizzato e caricare il codice del connettore su AWS Glue Studio.

I connettori personalizzati sono integrati AWS Glue Studio tramite il runtime AWS Glue API Spark. Il runtime AWS Glue Spark ti consente di collegare qualsiasi connettore compatibile con Spark, Athena o l'interfaccia. JDBC Consente di aggiungere qualsiasi opzione di connessione disponibile per il connettore personalizzato.

Puoi incapsulare tutte le proprietà della connessione con AWS GlueConnections e fornire il nome della connessione al tuo job. ETL L'integrazione con le connessioni del catalogo dati consente di utilizzare le stesse proprietà di connessione per più chiamate in una singola applicazione Spark o in applicazioni diverse.

Puoi specificare ulteriori opzioni per la connessione. Lo script di processo che AWS Glue Studio genera contiene una voce Datasource che utilizza la connessione per collegare il connettore con le opzioni di connessione specificate. Ad esempio:

Datasource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc- connection"}, transformation_ctx = "DataSource0")
Per aggiungere un connettore ad AWS Glue Studio
  1. Crea il codice per il connettore personalizzato. Per ulteriori informazioni, consulta Sviluppo di connettori personalizzati.

  2. Aggiungi il supporto per le caratteristiche AWS Glue al connettore. Di seguito sono riportati alcuni esempi di queste funzionalità e di come vengono utilizzate all'interno dello script di processo generato da AWS Glue Studio:

    • Mappatura dei dati: il connettore può eseguire il typecast le colonne durante la lettura dal datastore sottostante. Ad esempio, una dataTypeMapping di {"INTEGER":"STRING"} converte tutte le colonne di tipo Integer in colonne di tipo String durante l'analisi dei record e la costruzione del DynamicFrame. In questo modo gli utenti possono eseguire il cast delle colonne nel tipo desiderato.

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • Partizionamento per letture parallele: AWS Glue consente la lettura dei dati paralleli dal datastore partizionando i dati su una colonna. È necessario specificare la colonna, il limite inferiore e il limite superiore della partizione e il numero di partizioni. Questa funzione consente di utilizzare il parallelismo dei dati e più executor Spark allocati per l'applicazione Spark.

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4", "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • Utilizzo AWS Secrets Manager per memorizzare le credenziali: la connessione Data Catalog può contenere anche un codice segreto secretId memorizzato in. AWS Secrets Manager Il AWS segreto può archiviare in modo sicuro le informazioni di autenticazione e credenziali e fornirle in fase di esecuzione. AWS Glue In alternativa, è possibile specificare l'secretId dallo script Spark come segue:

      DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc", "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0")
    • Filtraggio dei dati di origine con predicati di riga e proiezioni di colonne: il runtime AWS Glue Spark consente inoltre agli utenti di inviare SQL query per filtrare i dati alla fonte con predicati di riga e proiezioni di colonne. Ciò consente al ETL job di caricare più rapidamente i dati filtrati dagli archivi dati che supportano i push down. Un esempio di SQL query inviata a una fonte di dati è: JDBC SELECT id, name, department FROM department WHERE id < 200.

      DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • Job bookmark: AWS Glue supporta il caricamento incrementale dei dati dalle JDBC fonti. AWS Gluetiene traccia dell'ultimo record elaborato dal data store ed elabora nuovi record di dati nelle successive esecuzioni di ETL lavoro. I segnalibri di processo utilizzano la chiave primaria come colonna predefinita per il tasto segnalibro, a condizione che questa colonna aumenti o diminuisca in sequenza. Per ulteriori informazioni sui segnalibri di processo, consulta Segnalibri di processo nella Guida per sviluppatori di AWS Glue .

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder" :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
  3. Package del connettore personalizzato come JAR file e carica il file su Amazon S3.

  4. Testa il connettore personalizzato. Per ulteriori informazioni, consulta le istruzioni su Glue Custom Connectors: GitHub Local Validation Tests Guide.

  5. Nella console AWS Glue Studio, scegli Connectors (Connettori) nel pannello di navigazione della console.

  6. Nella pagina Connectors (Connettori), seleziona Create custom connector (Crea connettore personalizzato).

  7. Nella pagina Create custom connecto (Crea connettore personalizzato), immetti le seguenti informazioni:

    • Il percorso della posizione del JAR file di codice personalizzato in Amazon S3.

    • Un nome per il connettore che verrà utilizzato da AWS Glue Studio.

    • Il tipo di connettore, che può essere uno dei seguenti JDBC, Spark o Athena.

    • Il nome del punto di ingresso all'interno del codice personalizzato che AWS Glue Studio chiama per utilizzare il connettore.

      • Per i JDBC connettori, questo campo deve essere il nome della classe del JDBC driver.

      • Per i connettori Spark, questo campo deve essere il nome completo della classe dell'origine dati, o il relativo alias, che si utilizza quando si carica l'origine dati Spark con l'operatore format.

    • (JDBCsolo) La base URL utilizzata dalla JDBC connessione per l'archivio dati.

    • (Facoltativo) Una descrizione del connettore personalizzato.

  8. Scegli Create connector (Crea connettore).

  9. Dalla pagina Connectors (Connettori), crea una connessione che utilizza questo connettore, come descritto in Creazione di connessioni per i connettori.

Aggiunta di connettori a AWS Glue Studio

Un connettore è una parte di codice che facilita la comunicazione tra il datastore e AWS Glue. È possibile abbonarsi a un connettore disponibile in Marketplace AWS oppure creare un connettore personalizzato.

Iscrizione ai Marketplace AWS connettori

AWS Glue Studiosemplifica l'aggiunta di connettori da Marketplace AWS.

Per aggiungere un connettore da Marketplace AWS a AWS Glue Studio
  1. Nella console AWS Glue Studio, scegli Connectors (Connettori) nel pannello di navigazione della console.

  2. Nella pagina Connectors (Connectors), scegli Go to Marketplace AWS (Vai su Marketplace AWS).

  3. In Marketplace AWS, in Prodotti in evidenza, scegli il connettore che desideri utilizzare. Puoi scegliere uno dei connettori in evidenza o utilizzare la ricerca. Puoi eseguire la ricerca in base al nome o al tipo di connettore e utilizzare le opzioni per perfezionare i risultati della ricerca.

    Se desideri utilizzare uno dei connettori in evidenza, scegli View product (Visualizza prodotto). Se hai usato la ricerca per trovare un connettore, scegli il nome del connettore.

  4. Nella pagina prodotto del connettore, utilizza le schede per visualizzare le informazioni sul connettore. Se decidi di acquistare il connettore, scegli Continue to Subscribe (Continua con la sottoscrizione).

  5. Inserisci le informazioni di pagamento, quindi scegli Continue to Configure (Continua con la configurazione).

  6. Nella pagina Configure this software (Configurazione software), scegli il metodo di implementazione e la versione del connettore da utilizzare. Quindi, scegli Continue to Launch (Continua con l'avvio).

  7. Nella pagina Launch this software (Avvia software), puoi rivedere le istruzioni di utilizzo fornite dal provider del connettore. Quando vuoi continuare, scegli Attiva connessione in AWS Glue Studio.

    Dopo un breve periodo di tempo, la console mostra la pagina Create marketplace connection (Crea connessione al marketplace) in AWS Glue Studio.

  8. Crea una connessione che utilizza questo connettore, come descritto in Creazione di connessioni per i connettori.

    In alternativa, ora puoi scegliere Activate connector only (Attiva solo connettore) per ignorare la creazione di una connessione. Devi creare una connessione in un secondo momento prima di poter utilizzare il connettore.