Migrieren von AWS-Glue-Python-Shell-Aufträgen
AWS hat 2018 die AWS-Glue-Python-Shell-Aufträge eingeführt AWS hat 2018 die AWS-Glue-Python-Shell-Aufträge eingeführt, um Kunden eine einfache Möglichkeit zu bieten, Python-Skripte für kleine bis mittelgroße ETL-Aufträge auszuführen und SQL-Abfragen auszulösen. Inzwischen gibt es jedoch modernere und flexiblere Optionen, um die Workloads zu bewältigen, die derzeit in PythonShell ausgeführt werden. In diesem Thema wird erläutert, wie Sie Ihre Workloads von AWS-Glue-Python-Shell-Aufträgen zu einer dieser alternativen Optionen migrieren, um die neueren verfügbaren Funktionen zu nutzen.
In diesem Thema wird beschrieben, wie Sie von AWS-Glue-Python-Shell-Aufträgen zu alternativen Optionen migrieren.
Migrieren von Workloads zu AWS-Glue-Spark-Aufträgen
AWSGlue-Spark- und PythonSpark-Aufträge ermöglichen es Ihnen, Ihre Workloads verteilt auszuführen. Da sowohl AWS-Glue-Python-Shell-Aufträge als auch AWS-Glue-Spark-Aufträge auf derselben Plattform ausgeführt werden, ist die Migration einfach, und Sie können weiterhin bestehende AWS-Glue-Features verwenden, die Sie für Python-Shell-Aufträge nutzen, wie AWS-Glue-Workflows, AWS-Glue-Trigger, die Amazon EventBridge Integration von AWS Glue, die \ PIP-basierte Paketinstallation usw.
AWS-Glue-Spark-Aufträge sind jedoch für die Ausführung von Spark-Workloads konzipiert, und die Mindestanzahl von Workern beträgt 2. Wenn Sie von Python-Shell-Aufträgen migrieren, ohne Ihre Skripte zu ändern, wird nur ein Worker tatsächlich verwendet, und die anderen Worker bleiben inaktiv. Dadurch werden Ihre Kosten steigen.
Um es effizient zu gestalten, schreiben Sie Ihr Python-Auftragsskript neu, um die Funktionen von Spark zu nutzen und die Workload auf mehrere Worker zu verteilen. Wenn Ihr Python-Skript auf Pandas basiert, ist die Migration mit der neuen Pandas-API zu Spark ganz einfach. Erfahren Sie mehr darüber im AWS-Big-Data-Blog: Dive deep into AWS Glue 4.0 for Apache Spark
Migrieren von Workloads zu AWS Lambda
AWS Lambda ist ein Serverless-Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Da AWS Lambda kürzere Startzeiten und flexiblere Optionen für die Datenverarbeitungskapazität bietet, können Sie von diesen Vorteilen profitieren. Für die Verwaltung zusätzlicher Python-Bibliotheken verwenden AWS-Glue-Python-Shell-Aufträge eine PIP-basierte Installation. Für AWS Lambda müssen Sie jedoch eine der folgenden Optionen wählen: ein ZIP-Archiv, ein Container-Image oder Lambda-Ebenen.
Andererseits beträgt das maximale Timeout von AWS Lambda 900 Sekunden (15 Minuten). Wenn die Auftragsdauer Ihres bestehenden AWS-Glue-Python-Shell-Auftrag-Workloads länger ist oder wenn Ihr Workload ein Muster mit Spitzen aufweist, das zu einer längeren Auftragsdauer führen kann, empfehlen wir, statt AWS Lambda andere Optionen zu prüfen.
Migrieren von Workloads zu Amazon ECS/Fargate
Amazon Elastic Container Service (Amazon ECS) ist ein vollständig verwalteter Service, der die Bereitstellung, Verwaltung und Skalierung containerisierter Anwendungen vereinfacht. AWS Fargate ist eine Serverless-Computing-Engine für containerisierte Workloads, die auf Amazon ECS und Amazon Elastic Kubernetes Service (Amazon EKS) ausgeführt werden. Bei Amazon ECS und Fargate gibt es kein maximales Timeout. Daher sind sie eine gute Option für Aufträge mit langer Laufzeit. Da Sie die volle Kontrolle über Ihr Container-Image haben, können Sie Ihr Python-Skript und zusätzliche Python-Bibliotheken in den Container einfügen und verwenden. Sie müssen Ihr Python-Skript jedoch containerisieren, um diesen Ansatz verfolgen zu können.
Migrieren von Workloads für Apache-Airflow-Python-Operator
Amazon Managed Workflows for Apache Airflow (MWAA) ist ein verwalteter Orchestrierungs-Service für Apache Airflow, der die Einrichtung und den Betrieb von End-to-End-Datenpipelines in der Cloud im großen Maßstab erleichtert. Wenn Sie bereits eine MWAA-Umgebung haben, ist es einfach, den Python-Operator anstelle von AWS-Glue-Python-Shell-Aufträgen zu verwenden. Der Python-Operator ist ein Operator, der Python-Code innerhalb eines Airflow-Workflows ausführt. Wenn Sie jedoch noch keine MWAA-Umgebung haben, empfehlen wir, andere Optionen zu prüfen.
Migrieren von Workloads zu Amazon SageMaker AI-AI-Trainingsaufträgen
Amazon SageMaker AI Training ist ein vollständig verwalteter Service für Machine Learning (ML), der von Amazon SageMaker AI bereitgestellt wird und Ihnen hilft, eine Vielzahl von ML-Modellen effizient und in großem Maßstab zu trainieren. Die zentrale Funktion von Amazon SageMaker AI-AI-Aufträgen ist die Containerisierung von ML-Workloads und die Fähigkeit, AWS-Rechenressourcen zu verwalten. Wenn Sie eine Serverless-Umgebung bevorzugen, in der es kein maximales Timeout gibt, könnten Amazon SageMaker AI- AI-Trainingsaufträge genau das Richtige für Sie sein. Die Startlatenz ist jedoch tendenziell länger als bei AWS-Glue-Python-Shell-Aufträgen. Für Aufträge, die latenzempfindlich sind, empfehlen wir, andere Optionen zu prüfen.