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à.
Inserimento in batch con Amazon SageMaker Feature Store Spark
Amazon SageMaker Feature Store Spark è un connettore Spark che collega la libreria Spark al Feature Store. Feature Store Spark semplifica l'inserimento dei dati da Spark DataFrame
nei gruppi di funzionalità. Feature Store supporta l'inserimento di dati in batch con Spark, utilizzando la ETL pipeline esistente, su AmazonEMR, un processo GIS AWS Glue , un processo di Amazon SageMaker Processing o un notebook. SageMaker
I metodi per l'installazione e l'implementazione dell'inserimento di dati in batch sono disponibili per gli sviluppatori Python e Scala. Gli sviluppatori Python possono utilizzare la libreria sagemaker-feature-store-pyspark
Python open source per lo sviluppo locale, l'installazione su EMR Amazon e per Jupyter Notebooks seguendo le istruzioni nel repository Amazon Feature Store Spark. SageMaker GitHub
Puoi utilizzare il connettore Spark per importare dati nei seguenti modi, a seconda che l'archivio online, l'archivio offline o entrambi siano abilitati.
-
Inserisci per impostazione predefinita: se il negozio online è abilitato, il connettore Spark inserisce innanzitutto il tuo dataframe nel negozio online utilizzando il. PutRecordAPI Nell'archivio online rimane solo il record con il maggior numero di eventi. Se l'archivio offline è abilitato, entro 15 minuti Feature Store inserisce il data frame nell'archivio offline. Per ulteriori informazioni sul funzionamento degli archivi online e offline, consulta Concetti di base sul Feature Store.
È possibile eseguire questa operazione anche senza specificare
target_stores
nel metodo.ingest_data(...)
. -
Inserimento diretto in archivio offline: se l’archivio offline è abilitato, Spark Connector inserisce in batch il data frame direttamente nell’archivio offline. L'inserimento del data frame direttamente nell'archivio offline non aggiorna l'archivio online.
È possibile eseguire questa operazione impostando
target_stores=["OfflineStore"]
nel metodo.ingest_data(...)
. -
Solo negozio online: se il negozio online è abilitato, il connettore Spark inserisce il tuo dataframe nel negozio online utilizzando il. PutRecordAPI L'inserimento del data frame direttamente nell'archivio online non aggiorna l'archivio offline.
È possibile eseguire questa operazione impostando
target_stores=["OnlineStore"]
nel metodo.ingest_data(...)
.
Per ulteriori informazioni sui diversi metodi di inserimento, consulta Implementazioni esemplificative.
Argomenti
Installazione di Feature Store Spark
Utenti Scala
Il Feature Store Spark SDK è disponibile nell'archivio centrale Amazon SageMaker Feature Store Spark SDK Maven
Requisiti
-
Spark >= 3.0.0 e <= 3.3.0
-
iceberg-spark-runtime
>= 0.14.0 -
Scala >= 2.12.x
-
Amazon EMR >= 6.1.0 (solo se utilizzi Amazon) EMR
Dichiara la dipendenza in .xml POM
Il connettore Feature Store Spark dipende dalla libreria iceberg-spark-runtime
. Devi quindi aggiungere la versione corrispondente della libreria iceberg-spark-runtime
alla dipendenza se stai inserendo dati in un gruppo di funzionalità che hai creato automaticamente con il formato di tabella Iceberg. Ad esempio, se stai usando Spark 3.1, devi dichiarare quanto segue nel tuo progetto POM.xml
:
<dependency> <groupId>software.amazon.sagemaker.featurestore</groupId> <artifactId>sagemaker-feature-store-spark-sdk_2.12</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.apache.iceberg</groupId> <artifactId>iceberg-spark-runtime-3.1_2.12</artifactId> <version>0.14.0</version> </dependency>
Utenti Python
Feature Store Spark SDK è disponibile nel repository open source Amazon SageMaker Feature Store GitHub Spark
Requisiti
-
Spark >= 3.0.0 e <= 3.3.0
-
Amazon EMR >= 6.1.0 (solo se utilizzi Amazon) EMR
-
Kernel =
conda_python3
Consigliamo di impostare $SPARK_HOME
sulla directory in cui è installato Spark. Durante l'installazione, Feature Store carica il file necessarioSPARK_HOME
, in modo che JAR le dipendenze vengano caricate automaticamente. Spark start a JVM è necessario per far funzionare questa PySpark libreria.
Installazione locale
Per maggiori informazioni sull'installazione, abilita la modalità dettagliata aggiungendo --verbose
al seguente comando di installazione.
pip3 install sagemaker-feature-store-pyspark-
3.1
--no-binary :all:
Installazione su Amazon EMR
Crea un EMR cluster Amazon con la versione 6.1.0 o successiva. Abilita SSH per aiutarti a risolvere eventuali problemi.
Per installare la libreria, procedi come segue:
-
Crea un passaggio personalizzato all'interno di AmazonEMR.
-
Connect al cluster utilizzando SSH e installando la libreria da lì.
Nota
Le seguenti informazioni utilizzano la versione 3.1 di Spark, ma puoi specificare qualsiasi versione che soddisfi i requisiti.
export SPARK_HOME=/usr/lib/spark sudo -E pip3 install sagemaker-feature-store-pyspark-
3.1
--no-binary :all: --verbose
Nota
Se desideri installare JARs automaticamente il dipendente su SPARK _HOME, non utilizzare la fase di bootstrap.
Installazione su un'istanza di SageMaker notebook
Installa una versione compatibile con il connettore Spark utilizzando i seguenti comandi: PySpark
!pip3 install pyspark==
3.1.1
!pip3 install sagemaker-feature-store-pyspark-3.1
--no-binary :all:
Se stai eseguendo l'importazione in batch nell’archivio offline, le dipendenze non rientrano nell'ambiente dell'istanza del notebook.
from pyspark.sql import SparkSession import feature_store_pyspark extra_jars = ",".join(feature_store_pyspark.classpath_jars()) spark = SparkSession.builder \ .config("spark.jars", extra_jars) \ .config("spark.jars.packages", "org.apache.hadoop:hadoop-aws:3.2.1,org.apache.hadoop:hadoop-common:3.2.1") \ .getOrCreate()
Installazione su notebook con GIS
Importante
È necessario utilizzare la AWS Glue versione 2.0 o successiva.
Utilizzate le seguenti informazioni per facilitare l'installazione del PySpark connettore in una sessione AWS Glue interattiva (GIS).
Amazon SageMaker Feature Store Spark richiede un connettore Spark specifico JAR durante l'inizializzazione della sessione da caricare nel tuo bucket Amazon S3. Per ulteriori informazioni sul caricamento del necessario JAR nel bucket S3, consulta. Recupero di For Feature JAR Store Spark
Dopo aver caricato ilJAR, devi fornire alle GIS sessioni il JAR comando seguente.
%extra_jars s3:/
<YOUR_BUCKET>
/spark-connector-jars/sagemaker-feature-store-spark-sdk.jar
Per installare Feature Store Spark in AWS Glue fase di esecuzione, usa il comando %additional_python_modules
magico all'interno del GIS notebook. AWS Glue viene eseguito sui pip
moduli che hai specificato in%additional_python_modules
.
%additional_python_modules sagemaker-feature-store-pyspark-
3.1
Prima di iniziare la AWS Glue sessione, è necessario utilizzare entrambi i comandi magici precedenti.
Installazione su un lavoro AWS Glue
Importante
È necessario utilizzare AWS Glue la versione 2.0 o successiva.
Per installare il connettore Spark su un AWS Glue job, utilizzate l'--extra-jars
argomento per fornire quanto necessario JARs e --additional-python-modules
installare lo Spark Connector come parametro del job quando create il AWS Glue job, come illustrato nell'esempio seguente. Per ulteriori informazioni sul caricamento del file richiesto nel bucket JAR S3, consulta. Recupero di For Feature JAR Store Spark
glue_client = boto3.client('glue', region_name=region) response = glue_client.create_job( Name=pipeline_id, Description='Feature Store Compute Job', Role=glue_role_arn, ExecutionProperty={'MaxConcurrentRuns': max_concurrent_run}, Command={ 'Name': 'glueetl', 'ScriptLocation': script_location_uri, 'PythonVersion': '3' }, DefaultArguments={ '--TempDir': temp_dir_location_uri, '--additional-python-modules': 'sagemaker-feature-store-pyspark-3.1', '--extra-jars': "s3:/
<YOUR_BUCKET>
/spark-connector-jars/sagemaker-feature-store-spark-sdk.jar", ... }, MaxRetries=3, NumberOfWorkers=149, Timeout=2880, GlueVersion='3.0', WorkerType='G.2X' )
Installazione su un processo di Amazon SageMaker Processing
Per utilizzare Feature Store Spark con i lavori di Amazon SageMaker Processing, porta la tua immagine. Per informazioni sul caricamento di una propria immagine, consulta Porta la tua SageMaker immagine. Aggiungi la fase di installazione a un file Docker. Dopo aver inviato l'immagine Docker a un ECR repository Amazon, puoi utilizzare il file PySparkProcessor per creare il processo di elaborazione. Per ulteriori informazioni sulla creazione di un processo di elaborazione con il PySpark processore, consulta. Esecuzione di un job di elaborazione con Apache Spark
Di seguito è riportato un esempio di aggiunta di una fase di installazione al file Docker.
FROM
<ACCOUNT_ID>
.dkr.ecr.<AWS_REGION>
.amazonaws.com/sagemaker-spark-processing:3.1-cpu-py38-v1.0 RUN /usr/bin/python3 -m pip install sagemaker-feature-store-pyspark-3.1 --no-binary :all: --verbose
Recupero di For Feature JAR Store Spark
Per recuperare la dipendenza Spark del Feature StoreJAR, devi installare il connettore Spark dal repository Python Package Index (PyPI) pip
utilizzandolo in qualsiasi ambiente Python con accesso alla rete. Un SageMaker Jupyter Notebook è un esempio di ambiente Python con accesso alla rete.
Il comando seguente installa il connettore Spark.
!pip install sagemaker-feature-store-pyspark-
3.1
Dopo aver installato Feature Store Spark, puoi recuperare la JAR posizione e JAR caricarla su Amazon S3.
Il feature-store-pyspark-dependency-jars
comando fornisce la posizione della dipendenza necessaria aggiunta da Feature Store JAR Spark. Puoi usare il comando per recuperarlo JAR e caricarlo su Amazon S3.
jar_location = !feature-store-pyspark-dependency-jars jar_location = jar_location[0] s3_client = boto3.client("s3") s3_client.upload_file(jar_location, "
<YOUR_BUCKET>
","spark-connector-jars/sagemaker-feature-store-spark-sdk.jar")