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à.
Migrazione dai processi shell di AWS Glue Python
AWS ha lanciato i processi shell di AWS Glue Python nel 2018 AWS ha lanciato i processi shell di AWS Glue Python nel 2018 per offrire ai clienti un modo semplice per eseguire script Python per processi ETL di piccole e medie dimensioni e per attivare query SQL. Tuttavia, ora sono presenti opzioni più moderne e flessibili per gestire i carichi di lavoro attualmente in esecuzione su PythonShell. Questo argomento spiega come migrare i carichi di lavoro dai processi shell AWS di Glue Python a una di queste opzioni alternative per sfruttare le nuove funzionalità disponibili.
Questo argomento spiega come eseguire la migrazione dai processi shell di AWS Glue Python a opzioni alternative.
Migrazione del carico di lavoro verso i processi di AWS Glue Spark
I processi di AWS Glue Spark e PySpark consentono di eseguire i carichi di lavoro in modo distribuito. Poiché sia i processi shell di AWS Glue Python che i processi di AWS Glue Spark vengono eseguiti sulla stessa piattaforma, la migrazione è facile e si può continuare a utilizzare le funzionalità di AWS Glue esistenti impiegate con i processi shell di Python, come AWS Glue Workflows, AWS Glue Triggers, l'integrazione Amazon EventBridge di AWS Glue, l'installazione di pacchetti basata su\ PIP e così via.
Tuttavia, i processi di AWS Glue Spark sono progettati per eseguire carichi di lavoro Spark e il numero minimo di worker è 2. Se si effettua la migrazione dai processi shell di Python senza modificare gli script, verrà effettivamente utilizzato solo un worker e gli altri worker rimarranno inattivi. Questa operazione aumenterà i costi.
Per aumentare l'efficienza, occorre riscrivere lo script del processo di Python per utilizzare le funzionalità di Spark e distribuire il carico di lavoro tra più worker. Se lo script di Python si basa su Pandas, è facile eseguire la migrazione usando la nuova API Pandas su Spark. Maggiori informazioni su questo argomento nel Blog di AWS Big Data: approfondimento su AWS Glue 4.0 per Apache Spark
Migrazione del carico di lavoro a AWS Lambda
AWS Lambda è un servizio di elaborazione serverless che consente di eseguire del codice senza la necessità di effettuare il provisioning o la gestione dei server. Poiché AWS Lambda offre tempi di startup inferiori e opzioni più flessibili per la capacità di elaborazione, è possibile beneficiare di questi vantaggi. Per gestire librerie Python aggiuntive, i processi shell di AWS Glue Python utilizzano l'installazione basata su PIP. Tuttavia, per AWS Lambda, occorre scegliere una delle seguenti opzioni: un archivio zip, un'immagine del container o livelli Lambda.
D'altra parte, il timeout massimo di AWS Lambda è di 900 secondi (15 minuti). Se la durata del carico di lavoro shell di AWS Glue Python attuale è superiore a quella, o se il carico di lavoro presenta uno schema a picchi che può causare durate più lunghe, consigliamo di esplorare altre opzioni al posto di AWS Lambda.
Migrazione del carico di lavoro su Amazon ECS/Fargate
Amazon Elastic Container Service (Amazon ECS) è un servizio completamente gestito che semplifica l'implementazione, la gestione e il dimensionamento delle applicazioni containerizzate. AWS Fargate è un motore di elaborazione serverless per carichi di lavoro containerizzati in esecuzione su Amazon ECS e Amazon Elastic Kubernetes Service (Amazon EKS). Non è previsto un timeout massimo su Amazon ECS e Fargate, quindi questa è una buona opzione per i processi di lunga durata. Poiché si ha il pieno controllo sull'immagine del container, è possibile portare lo script Python e librerie Python supplementari nel container e usarle. Tuttavia, è necessario containerizzare lo script Python per utilizzare questo approccio.
Migrazione del carico di lavoro verso Flussi di lavoro gestiti da Amazon per operatore Python di Apache Airflow
Flussi di lavoro gestiti da Amazon per Apache Airflow (Flussi di lavoro gestiti per Apache Airflow) è un servizio di orchestrazione gestito per Apache Airflow che semplifica la configurazione e l'utilizzo di pipeline di dati end-to-end nel cloud su larga scala. Se si dispone già di un ambiente MWAA, sarà semplice utilizzare l'operatore Python anziché i processi shell di AWS Glue Python. L'operatore Python è un operatore che esegue il codice Python all'interno di un flusso di lavoro Airflow. Tuttavia, se non si dispone di un ambiente MWAA esistente, consigliamo di valutare altre opzioni.
Migrazione del carico di lavoro verso job di addestramento di Amazon SageMaker AI AI
Amazon SageMaker AI Training è un servizio di machine learning (ML) completamente gestito offerto da Amazon SageMaker AI che consente di addestrare in modo efficiente un'ampia gamma di modelli ML su larga scala. Il fulcro dei processi di Amazon SageMaker AI AI è la containerizzazione dei carichi di lavoro ML e la capacità di gestire le risorse di calcolo di AWS. Se si preferisce un ambiente serverless in cui non è previsto un timeout massimo, i job di addestramento di Amazon SageMaker AI AI potrebbero essere la soluzione giusta. Tuttavia, la latenza di startup tende ad essere più lunga rispetto ai processi shell di AWS Glue Python. Per i processi sensibili alla latenza, consigliamo di valutare altre opzioni.