Datenverarbeitung mit Apache Spark - Amazon SageMaker

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.

Datenverarbeitung mit Apache Spark

Apache Spark ist eine einheitliche Analyse-Engine für die Datenverarbeitung in großem Maßstab. Amazon SageMaker bietet vorgefertigte Docker-Images, die Apache Spark und andere Abhängigkeiten enthalten, die zum Ausführen verteilter Datenverarbeitungsaufträge erforderlich sind. Mit dem Amazon SageMaker Python SDK können Sie mithilfe des Spark-Frameworks problemlos Datentransformationen anwenden und Funktionen (Feature Engineering) extrahieren. Informationen zur Verwendung des SageMaker Python SDK zum Ausführen 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 verfügbarGitHub.

Ausführen eines Verarbeitungsauftrags

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 festlegen 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 Verarbeitungsauftrag ausführen, der Ihr PySpark Skript aufruftpreprocess.py.

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 detaillierten Überblick finden Sie im Beispiel-Notebook Verteilte Datenverarbeitung mit Apache Spark und SageMaker Verarbeiten von . https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_processing/spark_distributed_data_processing/sagemaker-spark-processing.html

Wenn Sie das Amazon SageMaker Python SDK und eine seiner Prozessorklassen nicht verwenden, um die vorgefertigten Bilder abzurufen, können Sie diese Bilder 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 Python SDK.