Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercício por Temas avalie sua aprendizagem Selecione a opção correta que contenha a operação responsável por retornar um subconjunto aleatório dos dados de entrada. Os componentes do Spark têm como objetivo facilitar o desenvolvimento de projetos com �nalidades especí�cas. Nesse sentido, selecione a opção que contém o componente responsável por estabelecer uma conexão com o Cluster. TÓPICOS DE BIG DATA EM PYTHON NATà VIANA ALVES 202002695986 TÓPICOS DE BIG DAT 2023.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu EXERCÍCIO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 02729 - PRINCIPIOS DE DESENVOLVIMENTO DE SPARK COM PYTHON 1. �lter random distinct mapRandom sample Data Resp.: 10/10/2023 18:23:34 Explicação: Gabarito: sample Justi�cativa: A operação responsável por retornar um subconjunto aleatório dos dados é a sample. É uma operação da categoria de transformação, sendo que se encaixa em transformações amplas, pois pode ser necessário realizar movimentações entre as partições. Filter é uma função que retorna um subconjunto de dados em relação a alguma condição imposta, portanto não há aleatoriedade. Random e mapRandom não são funções válidas para o Spark. Distinct retorna um RDD com elementos diferentes de um RDD de entrada. 2. javascript:voltar(); javascript:voltar(); javascript:voltar(); javascript:voltar(); Observe o trecho de código abaixo 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) Selecione a opção correta a respeito dele. Observe o trecho de código abaixo query = "SELECT * FROM tabela_teste WHERE valor = "+str(str_valor) registros = spark.sql(query) Selecione a opção correta a respeito dele. SparkContext Spark.Catalog SparkSession RDD DataFrame Data Resp.: 10/10/2023 18:23:50 Explicação: Gabarito: SparkContext Justi�cativa: O componente responsável por estabelecer uma conexão com o cluster é o SparkContext e pode ser usado para criar RDDs, acumuladores e variáveis de transmissão nesse cluster. O SparkSession, por sua vez, é um ponto de entrada para que o Spark possa trabalhar com RDD, DataFrame e Dataset. O Spark.Catalog é uma interface para gerenciar um catálogo de metadados de entidades relacionais. 3. A utilização do SparkContext é opcional. A execução do trecho de código vai gerar um erro. O objetivo do trecho de código é contar a quantidade de ocorrências dos valores do vetor "a". A linha "spark_contexto.parallelize(a)" aplica a técnica MapReduce para processar o vetor "a". A variável "teste" corresponde a um RDD. Data Resp.: 10/10/2023 18:24:13 Explicação: Gabarito: A variável "teste" corresponde a um RDD. Justi�cativa: O trecho de código está sintaticamente correto. O objetivo é criar um RDD que, no caso, é representado pela variável "teste" para isso é obrigatório utilizar o "SparkContext". O pacote "numpy" foi utilizado por causa da variável vetor "a". 4. É possível a�rmar que a tabela_teste existe. A execução do trecho de código vai funcionar corretamente. Trata-se de um exemplo de utilização do Spark SQL É um exemplo de aplicação de GraphX. A implementação do trecho de código está errada. Data Resp.: 10/10/2023 18:24:30 Atualmente, o Apache Spark, é o mais bem-sucedido framework para Big Data. Selecione a opção correta que contenha apenas funções que podem ser categorizadas como transformações no Spark. O Spark é uma ferramenta computacional voltada para aplicações de Big Data. Selecione a opção correta a respeito do componente que pode ser tratado com o Spark SQL. O paradigma MapReduce é uma estratégia de computação com capacidade de processar grandes conjuntos de dados de maneira distribuída em várias máquinas. Em relação à técnica MapReduce, selecione a opção que é responsável por consolidar os resultados produzidos ao longo do processamento. Explicação: Gabarito: Trata-se de um exemplo de utilização do Spark SQL Justi�cativa: O trecho de código corresponde a uma aplicação do Spark SQL. Esse componente viabiliza a utilização de código SQL que facilita bastante a manipulação de dados estruturados. A implementação está codi�cada corretamente, apesar de não ser possível a�rmar se vai executar sem erros, pois no código não aparecem informações que permitam fazer a�rmações sobre a execução. 5. map, �lter e union. reduce, �rst e map. count, collect e take. map, sample e collect. map, take e reduce. Data Resp.: 10/10/2023 18:24:47 Explicação: Gabarito: map, �lter e union. Justi�cativa: Algumas das funções de transformação no Spark são: map, �lter, union, �atMap, mapPartitions e sample. As citadas transformações, denominadas de transformações estreitas, resultam da aplicação de funções de mapeamento e de �ltragem, sendo que os dados se originam de uma única partição. 6. RDD Work Node DAG Tasks Executor Data Resp.: 10/10/2023 18:25:25 Explicação: Gabarito: RDD Justi�cativa: O componente Spark SQL do ecossistema do Spark fornece suporte à linguagem SQL para manipular RDDs. DAGs correspondem a abstrações sobre as execuções dos processos. O Executor é responsável pela execução de tarefas individuais, enquanto o Work Node corresponde ao conjunto de máquinas que executam as tarefas que são as Tasks, ou seja, subdivisões do processo. 7. Processamento Separação O MapReduce é uma técnica clássica de programação e é bastante utilizada por diversos frameworks como o Spark, por exemplo. Em relação à técnica MapReduce, selecione a opção correta. Os componentes do Spark têm como objetivo facilitar o desenvolvimento de projetos com �nalidades especí�cas. Selecione a opção que contém o componente do ecossistema do Spark especializado em aplicações de aprendizado de máquina. Redução Agregação Mapeamento Data Resp.: 10/10/2023 18:25:52 Explicação: Gabarito: Redução Justi�cativa: A função de redução agrupa os pares após a fase de embaralhamento concluindo o processamento dos dados. O MapReduce é uma técnica clássica de programação distribuída e é bastante utilizada por diversos frameworks como o Spark, por exemplo. 8. Só pode ser aplicada para grandes volumes de dados Consiste em uma técnica de programação sequencial É uma técnica lenta para processamento de grandes volumes de dados É uma técnica de computação distribuída Foi substituída no Spark por acesso direto à memória Data Resp.: 10/10/2023 18:26:13 Explicação: Gabarito: É uma técnica de computação distribuída Justi�cativa: O MapReduce é uma técnica de computação distribuída que apesar de clássica ainda é considerada muito e�ciente para processamento de grandes volumes de dados. Apesar de ser adequada para projetos de big data, ela também pode ser utilizada para menores volumes, mas não é apropriada para esses casos. 9. RDDs Spark Learning MLlib GraphX Learning MLSpark Data Resp.: 10/10/2023 18:26:41 Explicação: Gabarito: MLlib Justi�cativa: O componente MLlib é o componente do ecossistema do Spark usado para implementar algoritmos estatísticos e de aprendizado de máquina para simpli�car pipelines de aprendizado de máquina em projetos de big data. As opções Spark Learning, GraphX Learning e MLSpark não são componentes válidos do Spark. Os RDDs são componentes para conjunto de dados resilientes. O PySpark caracteriza-se como uma biblioteca Spark responsável por executar programas usando recursos do Apache Spark. Selecione a opção correta que contenha itens que são pré-requisitos de instalação para utilização do PySpark. 10. Java e R Java e Python Python e Escala Hadoop e Spark Casandra e Spark Data Resp.: 10/10/2023 18:26:58 Explicação: Gabarito: Java e Python Justi�cativa: A utilização do PySparkdepende principalmente de três pré-requisitos: instalação e con�guração do Java, Python e do Spark. Além disso, é necessário tratar detalhes da plataforma sobre a qual o Spark vai rodar. No caso do Google Colab, é necessário instalar o FindSpark e o próprio PySpark também. Não Respondida Não Gravada Gravada Exercício por Temas inciado em 10/10/2023 18:23:21.
Compartilhar