O cliente do Serviço Gerenciado para Apache Spark Connect é um wrapper do cliente do Apache Spark Connect. Ele permite que os aplicativos se comuniquem com uma sessão remota do Serviço Gerenciado para Apache Spark usando o Spark Connect protocolo. Este documento mostra 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 da chave da conta de serviço.
Instalar ou desinstalar o cliente
É possível instalar ou desinstalar o pacote dataproc-spark-connect usando o 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 sua sessão. É possível definir esses valores usando variáveis de ambiente ou a API Builder no 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 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 hífens. O ID não pode terminar com um hífen. Uma sessão com um ID no estado TERMINATED não pode ser reutilizada.
Usar comandos mágicos do Spark SQL
O pacote oferece suporte à
sparksql-magic biblioteca para executar
consultas do Spark SQL em notebooks 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: configure as definições padrão.
%config SparkSql.limit=20Execute consultas SQL.
%%sparksql SELECT * FROM your_table
Para usar opções avançadas, adicione flags ao comando %%sparksql. Por exemplo, para armazenar resultados em cache 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: armazena em cache com carregamento imediato.--view VIEWou-v VIEW: cria uma visualização temporária.--limit Nou-l N: substitui o limite de exibição de linhas padrão.variable_name: armazena o resultado em uma variável.
A seguir
Saiba mais sobre as sessões do Serviço Gerenciado para Apache Spark.