Apache Spark: Observe o trecho de código abaixo. Selecione a opção correta a respeito dele.
Observe o trecho de código abaixo. Selecione a opção correta a respeito dele.
Imagem 1
Trecho de código:
import numpy as np from pyspark import SparkContext spark_contexto = SparkContext() a = np.array([1, 5, 1, 6, 4, 7, 7]) teste = spark_contexto.parallelize(a)
A) A utilização do SparkContext é opcional.
B) A linha "spark_contexto.parallelize(a)" aplica a técnica MapReduce para processar o vetor "a".
C) A variável "teste" corresponde a um RDD.
D) A execução do trecho de código vai gerar um erro.
E) O objetivo do trecho de código é contar a quantidade de ocorrências dos valores do vetor "a".
O código cria um SparkContext (objeto essencial para interagir com o Spark no nível “core”) e, em seguida, usa o método parallelize para distribuir os dados locais do array a em partições, criando uma coleção distribuída.
Passo a passo:
spark_contexto = SparkContext()inicializa o contexto do Spark.a = np.array([1, 5, 1, 6, 4, 7, 7])cria um array NumPy local.teste = spark_contexto.parallelize(a)transforma a coleção localaem um RDD (Resilient Distributed Dataset). Logo,testeé um RDD.
Analisando as alternativas:
- A) Falsa. Para usar
parallelizeviaSparkContext, é necessário ter umSparkContextinicializado. - B) Falsa.
parallelizenão aplica MapReduce; ele apenas cria um RDD a partir de uma coleção local. Map/Reduce seriam operações comomap,reduceByKey, etc. - C) Verdadeira.
testeé o RDD criado porparallelize. - D) Não é a melhor resposta: em condições usuais (ambiente Spark configurado), não há erro inerente no trecho; o ponto conceitual central é a criação do RDD.
- E) Falsa. Não há nenhuma operação de contagem (como
countByValue,reduceByKey, etc.).
Alternativa correta: (C).