Uso di Scala per programmare gli script ETL AWS Glue - 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à.

Uso di Scala per programmare gli script ETL AWS Glue

È possibile generare automaticamente un programma di estrazione, trasformazione e caricamento (ETL) Scala usando la console AWS Glue ed effettuare le modifiche necessarie prima dell'assegnazione a un processo. In alternativa, è possibile scrivere il proprio programma da zero. Per altre informazioni, consulta Configurazione delle proprietà dei job per i job Spark in AWS Glue. AWS Glue compila quindi il programma Scala nel server prima di eseguire il processo associato.

Per fare in modo che il programma venga compilato senza errori e venga eseguito correttamente, è molto importante caricarlo su un endpoint di sviluppo in una REPL (Read-Eval-Print Loop) o su un notebook Jupyter e testarlo prima di eseguirlo in un processo. Poiché il processo di compilazione viene effettuato sul server, non sarà possibile individuare chiaramente eventuali problemi.

Test di un programma Scala ETL in un notebook Jupyter su un endpoint di sviluppo

Per testare un programma Scala in un endpoint di sviluppo AWS Glue, configura l'endpoint di sviluppo come descritto in Aggiunta di un endpoint di sviluppo.

Connettilo quindi a un notebook Jupyter in esecuzione sul computer in locale o in remoto su un server notebook Amazon EC2. Per installare una versione locale di un notebook Jupyter, segui le istruzioni riportate alla pagina Tutorial: notebook Jupyter in JupyterLab.

L'unica differenza tra l'esecuzione del codice Scala e l'esecuzione del codice PySpark sul notebook è che è necessario iniziare ciascun paragrafo sul notebook con quanto segue:

%spark

In questo modo si impedisce che il server del notebook passi per impostazione predefinita al flavor PySpark dell'interprete Spark.

Test di un programma Scala ETL in una REPL Scala

Come testare un programma Scala in un endpoint di sviluppo usando un ciclo REPL Scala AWS Glue. Segui le istruzioni in Tutorial: utilizzo di un notebook SageMaker; alla fine del comando SSH-to-REPL, sostituisci -t gluepyspark con -t glue-spark-shell. In questo modo viene richiamato il ciclo REPL Scala AWS Glue.

Per chiudere la REPL quando si è terminato, digitare sys.exit.