Alternativa B - SparkSession
Análise da Questão
A questão aborda os componentes do framework Apache Spark, especificamente na versão 2.0 ou superior. Para responder corretamente, é necessário entender a evolução das APIs do Spark e qual é o "ponto de entrada" (entry point) padrão nas versões modernas.
Evolução do Ponto de Entrada
No Spark antigo (versões 1.x), o componente central para iniciar aplicações e conectar-se ao cluster era o SparkContext. Ele gerenciava todos os recursos e permitia criar RDDs (Resilient Distributed Datasets).
Com o lançamento do Spark 2.0, a arquitetura sofreu uma mudança importante para unificar as diferentes formas de processamento (SQL, Streaming, DataFrames). Isso resultou na criação do SparkSession:
- SparkSession é o novo ponto de entrada unificado.
- Ele encapsula o SparkContext e o SparkConf.
- Permite acessar todas as funcionalidades do Spark (DataFrames, Datasets, Streaming, SQL) através de uma única instância.
Por que as outras alternativas estão incorretas?
Para compreender melhor, vamos analisar a função das demais opções listadas:
| Componente | Função Principal | Status |
|---|
| Spark.Catalog | Gerencia metadados de tabelas e esquemas. | Incorreta |
| DataFrame | Estrutura de dados distribuída organizada em colunas nomeadas. | Incorreta |
| RDD | Estrutura de dados imutável fundamental, mas não é o ponto de entrada moderno. | Incorreta |
| SparkContext | Ponto de entrada original (versões < 2.0), agora encapsulado. | Incorreta |
| SparkSession | Entrada unificada para Spark 2.0+ e conexão com o cluster. | Correta |
Conclusão Didática
Embora o SparkContext seja tecnicamente quem estabelece a conexão física com o gerenciador de recursos (YARN, Kubernetes, etc.), a pergunta enfatiza o contexto "Spark (2.0 ou superior)". Na prática de desenvolvimento moderno, utilizamos o SparkSession para criar a aplicação, pois ela já inicia internamente o SparkContext e fornece a API unificada necessária. Portanto, o componente que representa a conexão e o ponto de partida para o desenvolvedor nessa versão é o SparkSession.
Alternativa B.