Einen Verarbeitungsjob mit Apache Spark ausführen - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einen Verarbeitungsjob mit Apache Spark ausführen

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 Amazon SageMaker Processing-Jobs 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 unter verfügbar. GitHub

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 ein maximales Laufzeitlimit von 5 Tagen festlegen MaxRuntimeInSeconds 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 zeigt, wie Sie einen Verarbeitungsjob ausführen, 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 Beispielnotizbuch Verteilte Datenverarbeitung mit 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 SageMaker vorgefertigten Docker-Images werden in 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.