O cliente Dataproc Spark Connect é um wrapper do cliente Apache Spark Connect. Permite que as aplicações comuniquem com uma sessão remota do Serverless para Apache Spark através do protocolo Spark Connect. Este documento mostra como instalar, configurar e usar o cliente.
Antes de começar
Certifique-se de que tem as funções de gestão de identidade e de acesso que contêm as autorizações necessárias para gerir sessões interativas e modelos de sessões.
Se executar o cliente fora do Google Cloud, indique as credenciais de autenticação. Defina a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALSpara o caminho do ficheiro de chave da conta de serviço.
Instale ou desinstale o cliente
Pode instalar ou desinstalar o pacote dataproc-spark-connect através do pip.
Instalação
Para instalar a versão mais recente do cliente, execute o seguinte comando:
pip install -U dataproc-spark-connect
Desinstalar
Para desinstalar o cliente, execute o seguinte comando:
pip uninstall dataproc-spark-connect
Configure o cliente
Especifique o projeto e a região da sua sessão. Pode definir estes valores através de variáveis de ambiente ou da API Builder no seu código.
Variáveis de ambiente
Defina as variáveis de ambiente GOOGLE_CLOUD_PROJECT e GOOGLE_CLOUD_REGION.
API Builder
Use os métodos .projectId() e .location().
spark = DataprocSparkSession.builder.projectId("my-project").location("us-central1").getOrCreate()
Inicie uma sessão do Spark
Para iniciar uma sessão do Spark, adicione as importações necessárias à sua aplicação ou bloco de notas do PySpark e, em seguida, chame a API DataprocSparkSession.builder.getOrCreate().
Importe a turma do
DataprocSparkSession.Chame o método
getOrCreate()para iniciar a sessão.from google.cloud.dataproc_spark_connect import DataprocSparkSession spark = DataprocSparkSession.builder.getOrCreate()
Configure as propriedades do Spark
Para configurar propriedades do Spark, encadeie um ou mais métodos ao criador..config()
from google.cloud.dataproc_spark_connect import DataprocSparkSession
spark = DataprocSparkSession.builder.config('spark.executor.memory', '48g').config('spark.executor.cores', '8').getOrCreate()
Use a configuração avançada
Para uma configuração avançada, use a classe Session para personalizar definições como a sub-rede ou a versão de tempo de execução.
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()
Reutilize uma sessão com nome
As sessões com nome permitem-lhe partilhar uma única sessão do Spark em vários blocos de notas, evitando atrasos repetidos no tempo de arranque da sessão.
No seu primeiro notebook, crie uma sessão com um ID personalizado.
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()Noutro bloco de notas, reutilize a sessão especificando o mesmo ID da sessão.
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()
Os IDs das sessões têm de ter entre 4 e 63 carateres, começar por uma letra minúscula e
conter apenas letras minúsculas, números e hífenes. O ID não pode terminar com um hífen. Não é possível reutilizar uma sessão com um ID que se encontra num estado TERMINATED.
Use comandos mágicos do Spark SQL
O pacote suporta a biblioteca sparksql-magic para executar consultas SQL do Spark em blocos de notas do Jupyter. Os comandos mágicos são uma funcionalidade opcional.
Instale as dependências necessárias.
pip install IPython sparksql-magicCarregue a extensão mágica.
%load_ext sparksql_magicOpcional: configure as predefinições.
%config SparkSql.limit=20Executar consultas SQL.
%%sparksql SELECT * FROM your_table
Para usar opções avançadas, adicione flags ao comando %%sparksql. Por exemplo, para
colocar os resultados em cache e criar uma vista, execute o seguinte comando:
%%sparksql --cache --view result_view df
SELECT * FROM your_table WHERE condition = true
Estão disponíveis as seguintes opções:
--cacheou-c: coloca o DataFrame em cache.--eagerou-e: caches com carregamento rápido.--view VIEWou-v VIEW: cria uma vista temporária.--limit Nou-l N: substitui o limite de apresentação de linhas predefinido.variable_name: armazena o resultado numa variável.
O que se segue?
Saiba mais sobre as sessões do Dataproc.
Execute código PySpark nos blocos de notas do BigQuery Studio.