O cliente do Spark Connect é um wrapper do cliente do Serviço Gerenciado para Apache Spark Connect. Ele permite que os aplicativos se comuniquem com uma sessão remota do Serviço Gerenciado para Apache Spark usando o protocolo Spark Connect. Neste documento, mostramos como instalar, configurar e usar o cliente.
Antes de começar
Verifique se você tem os papéis do Identity and Access Management que contêm as permissões necessárias para gerenciar sessões interativas e modelos de sessão.
Se você executar o cliente fora do Google Cloud, forneça credenciais de autenticação. Defina a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALScomo o caminho do arquivo de chave da conta de serviço.
Instalar ou desinstalar o cliente
É possível instalar ou desinstalar o pacote dataproc-spark-connect usando pip.
Instalar
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
Configurar o cliente
Especifique o projeto e a região da sessão. É possível definir esses valores usando variáveis de ambiente ou a 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()
Iniciar uma sessão do Spark
Para iniciar uma sessão do Spark, adicione as importações necessárias ao aplicativo ou notebook do PySpark e chame a API DataprocSparkSession.builder.getOrCreate().
Importe a classe
DataprocSparkSession.Chame o método
getOrCreate()para iniciar a sessão.from google.cloud.dataproc_spark_connect import DataprocSparkSession spark = DataprocSparkSession.builder.getOrCreate()
Configurar propriedades do Spark
Para configurar as propriedades do Spark, encadeie um ou mais métodos .config() ao
builder.
from google.cloud.dataproc_spark_connect import DataprocSparkSession
spark = DataprocSparkSession.builder.config('spark.executor.memory', '48g').config('spark.executor.cores', '8').getOrCreate()
Usar configuração avançada
Para uma configuração avançada, use a classe Session para personalizar configurações como
a sub-rede ou a versão do ambiente 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()
Reutilizar uma sessão nomeada
As sessões nomeadas permitem compartilhar uma única sessão do Spark em vários notebooks, evitando atrasos repetidos no tempo de inicialização da sessão.
No 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()Em outro notebook, reutilize a sessão especificando o mesmo ID.
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 de sessão precisam ter de 4 a 63 caracteres, começar com uma letra minúscula e
conter apenas letras minúsculas, números e hifens. O ID não pode terminar com um
hífen. Uma sessão com um ID que está em um estado TERMINATED não pode ser
reutilizada.
Usar comandos mágicos do Spark SQL
O pacote é compatível com a
biblioteca sparksql-magic para executar
consultas SQL do Spark em notebooks do Jupyter. Os comandos mágicos são um recurso opcional.
Instale as dependências necessárias.
pip install IPython sparksql-magicCarregue a extensão mágica.
%load_ext sparksql_magicOpcional: defina as configurações padrão.
%config SparkSql.limit=20Executar consultas SQL.
%%sparksql SELECT * FROM your_table
Para usar as opções avançadas, adicione flags ao comando %%sparksql. Por exemplo, para
armazenar em cache os resultados e criar uma visualização, execute o seguinte comando:
%%sparksql --cache --view result_view df
SELECT * FROM your_table WHERE condition = true
As seguintes opções estão disponíveis:
--cacheou-c: armazena o DataFrame em cache.--eagerou-e: caches com carregamento antecipado.--view VIEWou-v VIEW: cria uma visualização temporária.--limit Nou-l N: substitui o limite padrão de exibição de linhas.variable_name: armazena o resultado em uma variável.
A seguir
Saiba mais sobre as sessões do Serviço Gerenciado para Apache Spark.