Pular para o conteúdo principal

SparkSession

Ponto de partida para programação Spark com a API de conjuntos de dados e DataFrame . Uma SparkSession pode ser usada para criar DataFrames, registrar DataFrames como tabelas, executar SQL em tabelas, armazenar tabelas em cache e read.parquet arquivos .parquet.

Sintaxe

Python
from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()

Propriedades

Propriedade

Descrição

version

A versão do Spark na qual este aplicativo está sendo executado.

conf

Interface de configuração Runtime para Spark.

catalog

Interface através da qual o usuário pode criar, excluir, alterar ou consultar bancos de dados, tabelas, funções, etc. subjacentes.

udf

Retorna um UDFRegistration para registro de UDF.

udtf

Retorna um UDTFRegistration para registro de UDTF.

dataSource

Retorna um DataSourceRegistration para registro da fonte de dados.

profile

Retorna um perfil para análise de desempenho/memória.

sparkContext

Retorna o SparkContext subjacente. Somente no modo clássico.

read

Retorna um DataFrameReader que pode ser usado para ler dados como um DataFrame.

readStream

Retorna um DataStreamReader que pode ser usado para ler dados transmitidos como um DataFrame de transmissão.

streams

Retorna um StreamingQueryManager que permite gerenciar todas as consultas de transmissão ativas.

tvf

Retorna uma TableValuedFunction para chamar funções com valor de tabela (TVFs).

Métodos

Método

Descrição

createDataFrame(data, schema, samplingRatio, verifySchema)

Cria um DataFrame a partir de um RDD, uma lista, um DataFrame Pandas , um ndarray do NumPy ou uma tabela do Pyarrow.

sql(sqlQuery, args, **kwargs)

Retorna um DataFrame representando o resultado da consulta fornecida.

table(tableName)

Retorna a tabela especificada como um DataFrame.

range(start, end, step, numPartitions)

Cria um DataFrame com uma única coluna do tipo LongType chamada id, contendo elementos em um intervalo.

newSession()

Retorna uma nova SparkSession com SQLConf separado, visualização temporária registrada e UDFs, mas com SparkContext e cache de tabela compartilhados. Somente no modo clássico.

getActiveSession()

Retorna a SparkSession ativa para a thread atual.

active()

Retorna a SparkSession ativa ou default para a thread atual.

stop()

Interrompe o SparkContext subjacente.

addArtifacts(*path, pyfile, archive, file)

Adiciona artefatos à sessão do cliente.

interruptAll()

Interrompe todas as operações desta sessão que estão sendo executadas no servidor.

interruptTag(tag)

Interrompe todas as operações desta sessão com a tag especificada.

interruptOperation(op_id)

Interrompe uma operação desta sessão com o operationId fornecido.

addTag(tag)

Adiciona uma tag a ser atribuída a todas as operações iniciadas por esta thread nesta sessão.

removeTag(tag)

Remove a tag adicionada anteriormente para operações iniciadas por esta thread.

getTags()

Obtém as tags atualmente definidas para serem atribuídas a todas as operações iniciadas por esta thread.

clearTags()

Limpa tags de operações da thread atual.

Construtor

Método

Descrição

config(key, value)

Define uma opção de configuração. As opções são propagadas automaticamente tanto para a configuração do SparkConf quanto para a configuração própria do SparkSession.

master(master)

Define a URL do servidor mestre Spark ao qual se conectar.

remote(url)

Define o URL remoto do Spark para conexão via Spark Connect.

appName(name)

Define um nome para a aplicação, que será exibido na interface web do Spark.

enableHiveSupport()

Habilita o suporte Hive , incluindo a conectividade com um Hive metastore.

getOrCreate()

Obtém uma SparkSession existente ou, se não houver nenhuma, cria uma nova com base nas opções definidas neste construtor.

create()

Cria uma nova SparkSession.

Exemplos

Python
spark = (
SparkSession.builder
.master("local")
.appName("Word Count")
.config("spark.some.config.option", "some-value")
.getOrCreate()
)
Python
spark.sql("SELECT * FROM range(10) where id > 7").show()
Output
+---+
| id|
+---+
| 8|
| 9|
+---+
Python
spark.createDataFrame([('Alice', 1)], ['name', 'age']).show()
Output
+-----+---+
| name|age|
+-----+---+
|Alice| 1|
+-----+---+
Python
spark.range(1, 7, 2).show()
Output
+---+
| id|
+---+
| 1|
| 3|
| 5|
+---+