Il client Dataproc Spark Connect è un wrapper del client Apache Spark Connect. Consente alle applicazioni di comunicare con una sessione Serverless per Apache Spark remota utilizzando il protocollo Spark Connect. Questo documento mostra come installare, configurare e utilizzare il client.
Prima di iniziare
Assicurati di disporre dei ruoli Identity and Access Management che contengono le autorizzazioni necessarie per gestire le sessioni interattive e i modelli di sessione.
Se esegui il client al di fuori di Google Cloud, fornisci le credenziali di autenticazione. Imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALSsul percorso del file di chiave del account di servizio.
Installare o disinstallare il client
Puoi installare o disinstallare il pacchetto dataproc-spark-connect utilizzando pip.
Installa
Per installare l'ultima versione del client, esegui il seguente comando:
pip install -U dataproc-spark-connect
Disinstalla
Per disinstallare il client, esegui questo comando:
pip uninstall dataproc-spark-connect
Configura il client
Specifica il progetto e la regione per la sessione. Puoi impostare questi valori utilizzando le variabili di ambiente o l'API Builder nel tuo codice.
Variabili di ambiente
Imposta le variabili di ambiente GOOGLE_CLOUD_PROJECT e GOOGLE_CLOUD_REGION.
API Builder
Utilizza i metodi .projectId() e .location().
spark = DataprocSparkSession.builder.projectId("my-project").location("us-central1").getOrCreate()
Avvia una sessione Spark
Per avviare una sessione Spark, aggiungi le importazioni richieste all'applicazione PySpark
o al notebook, quindi chiama l'API DataprocSparkSession.builder.getOrCreate().
Importa il corso
DataprocSparkSession.Chiama il metodo
getOrCreate()per avviare la sessione.from google.cloud.dataproc_spark_connect import DataprocSparkSession spark = DataprocSparkSession.builder.getOrCreate()
Configura le proprietà Spark
Per configurare le proprietà Spark, concatena uno o più metodi .config() al
builder.
from google.cloud.dataproc_spark_connect import DataprocSparkSession
spark = DataprocSparkSession.builder.config('spark.executor.memory', '48g').config('spark.executor.cores', '8').getOrCreate()
Utilizzare la configurazione avanzata
Per la configurazione avanzata, utilizza la classe Session per personalizzare impostazioni come la subnet o la versione del runtime.
from google.cloud.dataproc_spark_connect import DataprocSparkSession
from google.cloud.dataproc_v1 import Session
session_config = Session()
session_config.environment_config.execution_config.subnetwork_uri = 'SUBNET'
session_config.runtime_config.version = '3.0'
spark = DataprocSparkSession.builder.projectId('my-project').location('us-central1').dataprocSessionConfig(session_config).getOrCreate()
Riutilizzare una sessione denominata
Le sessioni denominate consentono di condividere una singola sessione Spark in più notebook evitando ritardi ripetuti all'avvio della sessione.
Nel primo notebook, crea una sessione con un ID personalizzato.
from google.cloud.dataproc_spark_connect import DataprocSparkSession session_id = 'my-ml-pipeline-session' spark = DataprocSparkSession.builder.dataprocSessionId(session_id).getOrCreate() df = spark.createDataFrame([(1, 'data')], ['id', 'value']) df.show()In un altro blocco note, riutilizza la sessione specificando lo stesso ID sessione.
from google.cloud.dataproc_spark_connect import DataprocSparkSession session_id = 'my-ml-pipeline-session' spark = DataprocSparkSession.builder.dataprocSessionId(session_id).getOrCreate() df = spark.createDataFrame([(2, 'more-data')], ['id', 'value']) df.show()
Gli ID sessione devono contenere da 4 a 63 caratteri, iniziare con una lettera minuscola e contenere solo lettere minuscole, numeri e trattini. L'ID non può terminare con un trattino. Una sessione con un ID nello stato TERMINATED non può essere
riutilizzata.
Utilizzare i comandi magici Spark SQL
Il pacchetto supporta la
libreria sparksql-magic per eseguire
query Spark SQL nei blocchi note Jupyter. I comandi magici sono una funzionalità facoltativa.
Installa le dipendenze richieste.
pip install IPython sparksql-magicCarica l'estensione Magic.
%load_ext sparksql_magic(Facoltativo) Configura le impostazioni predefinite.
%config SparkSql.limit=20Esegui query SQL.
%%sparksql SELECT * FROM your_table
Per utilizzare le opzioni avanzate, aggiungi flag al comando %%sparksql. Ad esempio, per
memorizzare nella cache i risultati e creare una vista, esegui questo comando:
%%sparksql --cache --view result_view df
SELECT * FROM your_table WHERE condition = true
Sono disponibili le seguenti opzioni:
--cacheo-c: memorizza nella cache il DataFrame.--eagero-e: cache con caricamento rapido.--view VIEWo-v VIEW: crea una visualizzazione temporanea.--limit No-l N: sostituisce il limite di visualizzazione predefinito delle righe.variable_name: memorizza il risultato in una variabile.
Passaggi successivi
Scopri di più sulle sessioni Dataproc.