Prévia do material em texto
Linguagens de programação para ciência de dados (Python com Spark) Professor(a): Yuri Vasconcelos de Almeida Sá (Especialização) 1) 2) Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A Avaliação Virtual (AV) é composta por questões objetivas e corresponde a 100% da média final. Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas. Você pode responder as questões consultando o material de estudos, mas lembre-se de cumprir o prazo estabelecido. Boa prova! O __________ é uma representação da distribuição de frequências (ocorrências) de um determinado valor em um conjunto de dados. Essa representação gráfica pode ser exibida por colunas ou em barras de um conjunto de dados previamente tabulados e divididos em classes uniformes ou não uniformes. Existem duas estruturas de dados principais na Biblioteca pandas: __________ e __________. É possível exportar as plotagens (gráfico, diagrama, histograma) desenvolvidas em Matplotlib, utilizando a função __________. Assinale a alternativa que completa adequadamente as lacunas. Alternativas: Histograma; DataFrame; RDD; savefig. Gráfico; DataFrame; Series; export. Gráfico; DataFrame; RDD; savefig. Histograma; DataFrame; Series; savefig. CORRETO diagrama; DataSet; RDD; saveplot. Código da questão: 48956 Sobre os conceitos de Big Data e Apache Spark e Apache Spark Streaming, considere as seguintes afirmações: I. O Apache Spark é um framework para análise e processamento de Big Data. Além da API principal do Apache Spark, existem diversas bibliotecas adicionais para processamento de dados, SQL, grafos, aprendizado de máquina (machine learning), processamento de imagens e processamento de dados em streaming e em batch. II. Em Python (PySpark), os objetos DataFrames de streaming podem ser criados por meio da interface DataStreamReader retornada por SparkSession.readStream(). III. PySpark é a biblioteca do Python do Apache Spark. No PySpark, os Resilient Distributed Dataset (RDDs) suportam os mesmos métodos que os equivalentes da linguagem de programação Scala, mas recebem funções do Python e retornam os tipos de coleção do Python. IV. Uma característica importante do RDD é que ele é uma estrutura de dados imutável, ou seja, um objeto cujo estado não pode ser modificado após a criação, mas certamente pode ser transformado. São verdadeiras: Alternativas: II - III - IV. CORRETO Apenas II. I - II - III. Apenas I. Todas as afirmações. Resolução comentada: O histograma é uma representação da distribuição de frequências (ocorrências) dos dados. A representação gráfica pode ser exibida por colunas ou em barras de um conjunto de dados previamente tabulados e divididos em classes uniformes ou não uniformes. Existem duas estruturas de dados principais na Biblioteca pandas: DataFrame e Series. É possível exportar as plotagens (gráfico, diagrama, histograma) desenvolvidas em Matplotlib, utilizando a função savefig(). 3) 4) Código da questão: 48977 Sobre os conceitos de visualização de dados em Python, Numpy, Matplotlib e Pandas, considere as seguintes afirmações: ( ) Utilizando algumas bibliotecas do Python como Numpy, Pandas e Matplotlib é possível criar e visualizar histogramas. ( ) O histograma de uma imagem digital (preto e branco) indica o número de pixels que a imagem tem em determinado nível de cinza, que varia de 0 a 255. ( ) Na versão atual do Matplotlib é possível somente criar plotagem em 3D. ( ) A biblioteca Pandas é uma poderosa biblioteca do Python usada principalmente para realizar cálculos em arrays e matrizes multidimensionais. Assinale a alternativa que contenha a sequência correta. Alternativas: V – F – F – V. V – V – F – F. CORRETO V – V – F – V. F – F – V – V. F – V – V – F. Código da questão: 60241 A análise de dados em tempo real (Real Time Analytics) é referida ao processo de análise de grande volume de dados (Big Data) no momento em que é produzido ou usado. Dos arquivos de logs de servidores e/ou dispositivos aos dados do sensor, os cientistas de dados estão cada vez mais tendo que lidar com fluxos (streaming) de dados. Esses dados chegam em um fluxo constante, geralmente de várias aplicações simultaneamente. Sobre Big Data e Apache Spark Streaming, assinale a alternativa correta. Alternativas: A API Apache Spark Streaming tem suporte para as linguagens de programação Java, Scala, Python e R. Resilient Distributed Dataset (RDD) é considerado a estrutura de dados mais importantes no PySpark, e uma característica importante dos RDDs é que eles não são objetos imutáveis. No processamento em streaming ocorre a análise dos dados que já foram armazenados por um tempo. Esses dados geralmente podem ser em arquivo ou banco de dados, entre outros. Em Python, os DataFrames de streaming podem ser criados por meio da interface DataStreamReader retornada por SparkSession.createStream(). A biblioteca Apache Spark Streaming pode ser usada para processar dados de streaming em tempo real de diferentes fontes, como sensores, redes sociais e transações online, e os resultados gerados podem ser armazenados em software como Kafka, HDFS, Cassandra e Elasticsearch. CORRETO Resolução comentada: O Apache Spark não contém API para processamento de imagens, portanto a opção I é falsa. Resolução comentada: Na versão atual do Matplotlib é possível criar plotagem em 2D e 3D. Portanto, a terceira afirmação é falsa. A biblioteca NumPy é uma poderosa biblioteca do Python usada principalmente para realizar cálculos em arrays e matrizes multidimensionais. Portanto, a quarta afirmação é falsa. O Pandas é um pacote Python que fornece estruturas de dados rápidas, flexíveis e expressivas, projetadas para facilitar o trabalho com dados relacionais. Resolução comentada: 5) 6) Código da questão: 48975 Sobre os conceitos de Big Data e Apache Spark, considere as seguintes afirmações: ( ) Os dados em Big Data são criados e armazenados em vários formatos, que podemos classificar em três grupos: Não-estruturado, semiestruturado e estruturado. ( ) As propriedades do Spark controlam a maioria das configurações do aplicativo e são definidas separadamente para cada aplicativo. Essas propriedades podem ser definidas diretamente em um SparkConf. O SparkConf permite configurar algumas das propriedades através do método set () ( ) A arquitetura do Apache Spark é formada pelas seguintes bibliotecas: Spark SQL, Spark Streaming e Spark MLlib. ( ) Spark Streaming é uma biblioteca usada para processar dados de streaming em tempo real. Dessa forma, podemos desenvolver algoritmos para processamento de dados à medida que os dados chegam (em tempo real) e não em um processo em lote. Assinale a alternativa que contenha a sequência correta: Alternativas: V – V – F – F. F – F – V – V. V – F – F – V. V – F – F – F. V – V – F– V. CORRETO Código da questão: 48973 A linguagem de programação Python foi criada em 1991, mas só recentemente vem sendo utilizada em grandes proporções. Isso se deve por algumas facilitações e otimizações que a linguagem proporciona no momento do desenvolvimento. Com relação a essas características, podemos afirmar sobre Python: I. Facilita a legibilidade. II. A expressividade da linguagem dificulta no desenvolvimento de algoritmos complexos de Machine Learning. III. Eficiência no gerenciamento de memória. IV. Comunidade muito ativa contribuindo para melhoria de bibliotecas. V. Possibilidade de vários paradigmas de programação. São verdadeiras: Alternativas: V. I - III - IV - V. CORRETO IV - V. I - II. I - II - IV. No processamento em batch ocorre a análise dos dados que já foram armazenados por um tempo, portanto a alternativa a. é falsa. Os objetos Resilient Distributed Dataset (RDD) são considerados a estrutura de dados mais importante no PySpark; uma característica importante dos RDDs é que são objetos imutáveis, portanto a alternativa b. é falsa. A API Apache Spark Streaming não tem suporte para a linguagemde programação R, portanto a alternativa c. é falsa. Em Python, os DataFrames de streaming podem ser criados por meio da interface DataStreamReader retornada por SparkSession.readStream(), então a alternativa e. é falsa. Resolução comentada: Apenas a alternativa II está incorreta, pois o Python apresenta diversas vantagens, a expressividade da linguagem facilita o desenvolvimento de algoritmos mais complexos, sendo uma preocupação a menos para o desenvolvedor a dificuldade com a sintaxe da linguagem. 7) 8) Código da questão: 48943 Sobre os conceitos de Big Data e Apache Spark Streaming, considere as seguintes afirmações: ( ) Os dados em Big Data são criados em diferentes formatos e armazenados em diferentes fontes de dados, que podemos classificar em três grupos: não-estruturado, semiestruturado e estruturado. ( ) Existem dois tipos de operações do Apache Spark RDD: transformações e ações. Uma transformação é uma função que produz um novo RDD a partir dos RDDs existentes. Quando a ação é acionada após o resultado, o novo RDD também é criado, assim como na transformação. ( ) O projeto Apache Spark introduziu o conceito de RDD, que formalmente é uma coleção de objetos imutáveis, particionados em um conjunto de nós do cluster, podendo somente ser criado através de funções como map(), filter(), join() e groupBy(), executadas em outros RDDs ou meios de armazenamentos estáveis. ( ) O Apache Kafka é uma plataforma distribuída de código-fonte livre (open-source) de processamento de mensagens e streams desenvolvida pela Apache Software Foundation, escrita na linguagem de programação Java e Python. Assinale a alternativa que contém a sequência correta. Alternativas: V – F – V – F. CORRETO V – V – V – F. V – V – F – F. V – F – F – F. F – F – V – V. Código da questão: 48978 Além da criação manual de Dataframes através de listas é possível criar Dataframes importando dados de arquivos, como, por exemplo, arquivos CSV que são muito utilizados para armazenamento de dados em formato texto. Assinale como verdadeira (V) ou falsa (F) as características mencionadas a seguir: ( ) O comando read_csv importa dados de um arquivo para uma estrutura de um Dataframe. ( ) A importação de dados exige que todas as colunas de dados sejam de um mesmo tipo. ( ) É possível criar funções lambda para a formatação de colunas do Dataframe. ( ) Após a utilização de um Dataframe é possível exportá-lo no formato CSV através do comando to_csv. ( ) Além de comando para exportação CSV é possível exportar arquivos de formato de MS Excel. Alternativas: F – F – V – V – F. F – V – V – V – V. V – F – V – V – V. CORRETO F – V – F – V – F. V – V – V – V – F. Resolução comentada: Os objetos RDD são imutáveis e, nas operações de ação, um novo RDD não é criado. O Apache Kafka foi desenvolvido utilizando a linguagem Java e Scala, não Python. Resolução comentada: O Dataframe realiza leitura de arquivo CSV através do comando read_csv. É possível realizar a exportação para CSV através do comando to_csv e ainda existe a possibilidade de exportação para arquivo no formato MS Excel, além de não exigir que as colunas de dados possuam um mesmo tipo 9) 10) Código da questão: 48954 Analise as sentenças sobre o framework Apache Spark e a linguagem de programação Python. I. O framework Apache Spark tem suporte para outras ferramentas de armazenamento de Big Data, como o Elasticsearch, Cassandra e MongoDB. II. O framework Apache Spark tem como principal característica o processamento de grande quantidade de dados (Big Data) com alta latência e tem suporte para as seguintes linguagens de programação: C, Java, R, Python, Scala e Matlab. III. Spark Context é o objeto (ou uma classe) que faz a conexão do Spark ao algoritmo que está sendo desenvolvido. Ele pode ser acessado como uma variável em um programa para utilizar os seus recursos. IV. Utilizando a biblioteca Spark SQL é possível obter os dados de arquivos semiestruturados (XML, CSV e JSON) e salvar essas informações em um banco de dados relacional (MySQL, Postgres, Oracle). Assinale todas as afirmações verdadeiras Alternativas: I - II. I - II - III. I - III - IV. CORRETO Apenas I. Apenas IV. Código da questão: 48974 Sobre os conceitos de Estatística, Probabilidade e bibliotecas do Python, considere as seguintes afirmações: ( ) Utilizando algumas bibliotecas do Python como Numpy, pandas e Matplotlib é possível criar e visualizar histogramas. ( ) Na distribuição normal, o valor da média, moda e mediana são sempre iguais. ( ) Na correlação, se o valor da magnitude se aproxima de 1 ou -1, indica que temos uma correlação fraca. ( ) A biblioteca Pandas é uma poderosa biblioteca do Python usada principalmente para realizar cálculos em arrays e matrizes multidimensionais. Assinale a alternativa que contenha a sequência correta. Alternativas: F – F – V – V. F – F – F – V. V – V – V – F. V – V– F – F. CORRETO V – F – F – V. Código da questão: 48963 Resolução comentada: Na correlação, se o valor da magnitude se aproxima de 1 ou -1, indica que temos uma correlação forte. A biblioteca NumPy é uma poderosa biblioteca do Python usada principalmente para realizar cálculos em arrays e matrizes multidimensionais. Arquivos e Links