Ausführen eines Verarbeitungsjobs mit Apache Spark - Amazon SageMaker AI

Ausführen eines Verarbeitungsjobs mit Apache Spark

Apache Spark ist eine einheitliche Analyse-Engine für die Datenverarbeitung in großem Maßstab. Amazon SageMaker AI bietet vorgefertigte Docker-Images, die Apache Spark und andere Abhängigkeiten enthalten, die für die Ausführung verteilter Datenverarbeitungsaufträge erforderlich sind. Im Folgenden finden Sie ein Beispiel für die Ausführung eines Jobs von Amazon SageMaker Processing mit Apache Spark.

Mit dem Amazon SageMaker Python SDK können Sie mithilfe des Spark-Frameworks auf einfache Weise Datentransformationen und Extraktionsfunktionen (Feature-Engineering) anwenden. Informationen zur Verwendung des SageMaker Python SDK zur Ausführung von Spark-Verarbeitungsaufträgen finden Sie unter Datenverarbeitung mit Spark im Amazon SageMaker Python SDK.

Ein Code-Repository, das den Quellcode und die Dockerfiles für die Spark-Images enthält, ist auf GitHub verfügbar.

Sie können die sagemaker.spark.PySparkProcessor oder sagemaker.spark.SparkJarProcessor Klasse verwenden, um Ihre Spark-Anwendung innerhalb eines Verarbeitungsauftrages auszuführen. Beachten Sie, dass Sie MaxRuntimeInSeconds auf ein maximales Laufzeitlimit von 5 Tagen setzen können. In Bezug auf die Ausführungszeit und die Anzahl der verwendeten Instances besteht bei einfachen Spark-Workloads ein nahezu lineares Verhältnis zwischen der Anzahl der Instances und der Zeit bis zur Fertigstellung.

Das folgende Codebeispiel veranschaulicht, wie ein Verarbeitungsauftrag ausgeführt wird, der Ihr PySpark-Skript preprocess.py aufruft.

from sagemaker.spark.processing import PySparkProcessor spark_processor = PySparkProcessor( base_job_name="spark-preprocessor", framework_version="2.4", role=role, instance_count=2, instance_type="ml.m5.xlarge", max_runtime_in_seconds=1200, ) spark_processor.run( submit_app="preprocess.py", arguments=['s3_input_bucket', bucket, 's3_input_key_prefix', input_prefix, 's3_output_bucket', bucket, 's3_output_key_prefix', output_prefix] )

Einen ausführlichen Einblick finden Sie im Beispiel-Notebook Distributed Data Processing with Apache Spark and SageMaker Processing.

Wenn Sie das Amazon SageMaker AI Python SDK und eine seiner Prozessorklassen nicht zum Abrufen der vorgefertigten Images verwenden, können Sie diese Images selbst abrufen. Die vorgefertigten Regel-Docker-Images von Amazon SageMaker werden in der Amazon Elastic Container Registry (Amazon ECR) gespeichert. Eine vollständige Liste der verfügbaren vorgefertigten Docker-Images finden Sie im Dokument Verfügbare Images.

Weitere Informationen zur Verwendung des SageMaker Python SDK mit Verarbeitungscontainern finden Sie unter Amazon SageMaker AI Python SDK.