Big Data - Apol 2 Flashcards

(21 cards)

1
Q

O Kafka consiste e um uma plataforma distribuída e, dessa forma, é executado através de um cluster. Um Cluster Kafka armazena fluxos de eventos que são divididos em categorias denominadas tópicos.

A respeito dos conceitos de eventos e tópicos em Kafka avalie as seguintes afirmações:

I – Cada evento é constituído de um par chave-valor.

II – Os servidores Kafka são capazes de armazenar a indicação de qual a última mensagem que cada cliente inscrito em um tópico recebeu.

III – As aplicações cliente podem se inscrever em um ou mais tópicos.

IV – O Kafka é capaz de implementar sistemas de mensagens baseados em publicação-inscrição, mas não é capaz de entregar a implementação de uma fila de mensagens, uma vez que os dados dos eventos são armazenados de forma permanente e permanecem disponíveis.

V – O Kafka permite a implementação de um sistema de armazenamento a partir do armazenamento dos dados em disco. Outra característica é que os dados armazenados no Kafka são replicados para garantir o princípio da tolerância a falhas.

Dentre essas afirmações estão CORRETAS:

A

A - II, III e V

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Uma vez que conhecemos os conceitos que envolvem a arquitetura big data assim como as aplicações que implementam suas características, podemos pensar em como combinar todas essas tecnologias e ideias para o desenvolvimento de um produto visando atender a alguma necessidade existente.

Avalie as seguintes afirmações a respeito do desenvolvimento e design de soluções Big Data:

I – O desenvolvimento de aplicações Big Data possui grandes desafios em como combinar todas as suas tecnologias e ideias para desenvolver novos produtos. Porém a integração com tecnologias tradicionais é uma questão trivial atualmente.

II – Em muitos casos as soluções de Big Data têm como objetivo otimizar processos de negócios, adquirir vantagens competitivas ou otimizar operações. Dessa forma podem representar muitas vantagens para uma empresa.

III – O entendimento das necessidades que nossa aplicação busca atender é uma das maneiras mais importantes de se obter as informações necessárias para guiar o desenvolvimento

IV – A documentação de requisitos é capaz de evitar desperdícios e garantir que a implementação está alinhada com as necessidades do usuário.

V – Working Backwards é uma abordagem de desenvolvimento de produtos que prioriza o entendimento dos requisitos e o feedback do usuário antes mesmo do início do desenvolvimento.

Dentre essas afirmações estão CORRETAS:

A

D- Todas, exceto I

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

RDDs suportam basicamente dois tipos de operações: transformações e ações.

Avalie as seguintes afirmações a respeito das operações suportadas pelo Spark:

I – map é uma ação que passa cada elemento de um conjunto de dados por uma função e retorna um novo RDD representando os resultados.

II – reduce é uma ação que agrega todos os elementos de um RDD utilizando alguma função e retorna o resultado final ao DriverProgram.

III – Todas as transformações em Spark são preguiçosas, ou seja, são computadas apenas quando uma ação requisita um resultado para ser retornado para o Driver Program.

IV – É possível garantir a ordenação entre as execuções de cada tarefa utilizando a ação sort.

V – O método persist é utilizado para tornar-se um RDD persistente, esse método é importante para otimizar acessos futuros.

Dentre essas afirmações estão INCORRETAS:

A

E- I e IV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Para que o valor dos dados contidos em um Data Lake não seja perdido, se faz necessário criar uma solução de Data Lake que inclua as noções de gerenciamento, acessibilidade e governança.

Avalie as seguintes afirmações a respeito do gerenciamento de Data Lake:

I – Um Data Lake oferece o mesmo nível de complexidade que outras estratégias de armazenamento como Data Mart e Data Warehouse.

II – Uma das características que podem ser agregadas aos dados armazenados em uma estratégia de Data Lake utilizando bons esquemas de governança é a transparência no uso dos dados.

III – Entre as informações que se podem obter dos dados em um Data Lake podemos destacar os metadados técnicos que fornecem informações sobre a qualidade, perfil, origem, e a sua linhagem.

IV – Os metadados técnicos de um Data Lake podem fornecer informações a respeito da forma ou estrutura dos dados tais como tamanho, tipo de dado ou esquema.

V – Os metadados de um Data Lake permitem buscar, localizar e aprender sobre os dados armazenados.

Dentre essas afirmações estão CORRETAS:

A

A- II, IV e V

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A arquitetura Flume é composta dos seguintes componentes principais: source, channel e sink.

Avalie as seguintes afirmações sobre a arquitetura Flume:

I – Os eventos são compostos de um conjunto de cabeçalhos opcionais seguida do conjunto de bytes da mensagem em si.

II – Os channels são capazes de determinar a durabilidade dos eventos entregues entre as sources e os sinks.

III – Os Runners são os componentes onde o usuário configura o comportamento das sources e sinks.

IV – Cada agente deve conter exatamente uma source, um channel e um sink.

V – A configuração em sistemas Flume pode ser gerenciada pelo Zookeeper.

Dentre essas afirmações estão INCORRETAS:

A

C- III e IV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Os sistemas de recomendação podem ser divididos em grupos baseados em como são construídos.

Avalie as seguintes afirmações a respeito dos diferentes tipos de recomendadores:

I – Uma lista de favoritos é considerada uma curadoria ou editorial. Uma de suas características é que não considera nenhuma característica do usuário para ser criada.

II – Listas de popularidade ou de mais recentes são agrupamentos que podem utilizar alguma característica do produto (lançamento, preço) ou dos usuários (soma das interações, vendas, views).

III – Recomendadores individualizados são aqueles que consideram características dos produtos e dos usuários para gerar uma experiência individualizada.

IV – Recomendadores individualizados utilizam uma função utilidade para relacionar um usuário e um produto a uma avaliação.

V – A função utilidade só pode ser preenchida com as avaliações que os usuários fazem a respeito de um produto.

Dentre essas afirmações estão CORRETAS:

A

E- Todas, exceto V

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Storm é um sistema de computação distribuída em tempo real com foco em processamento de fluxos de dados ilimitados.

Avalie as seguintes afirmações a respeito do Storm:

I – Implementa o comando “rebalance” para balancear o paralelismo das topologias. A sua execução exige que os serviços sejam pausados por um curto período de tempo.

II – Processos trabalhadores são reiniciados automaticamente em caso de falha.

III – Quando um nó onde um conjunto de processos trabalhadores operam fica indisponível, os processos são reiniciados automaticamente assim que o nó voltar a se tornar disponível novamente.

IV – Um spout pode ler um broker de fila de mensagens, como Kestrel, RabbitMQ ou Kafka; gerar seu próprio fluxo; ou ler outras APIs de fluxos.

V – A lógica computacional de um sistema Storm é toda realizada em bolts, spouts e topologias na forma de funções, filtros, uniões de fluxos, agregações de fluxos, comunicando com bancos de dados, entre outras formas.

Dentre essas afirmações estão CORRETAS:

A

B- II e IV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Flink é um framework e um motor de processamento distribuído de dados limitados e ilimitados.

Avalie as seguintes afirmações a respeito do Flink:

I – Fluxos ilimitados devem ser processados continuamente, ou seja, eventos devem ser tratados tão logo sejam recebidos.

II – Processar dados ilimitados normalmente exige que os dados sejam recebidos em uma ordem específica, portanto, o Flink é capaz de ordenar os eventos antes que eles sejam processados.

III – Os dados limitados são aqueles que possuem um começo e um fim bem definidos. Tais dados devem ser processados em uma ordem específica para que reflitam de forma mais adequada a ocorrência dos eventos.

IV – Flink necessita de um gerenciador de recursos para alocar recursos em um cluster tais como Hadoop YARN, Apache Mesos e Kubernetes. Porém o Flink pode também ser executado de forma isolada.

V – O Flink requisita recursos ao gerenciador de recursos do cluster através de uma API REST.

Dentre essas afirmações estão CORRETAS:

A

E- I, IV e V

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Recomendações se baseiam nas previsões de preenchimento das avaliações desconhecidas. Existem duas principais abordagens para isso: recomendações baseadas em conteúdo (content-based recommendations) e filtragem colaborativa (collaborative filtering).

Avalie as seguintes avaliações sobre as duas principais abordagens de recomendações:

I – O sistema de recomendações baseadas em conteúdo possuem como estratégia a recomendação de itens mais parecidos aos que o usuário avaliou.

II – Antes de recomendar um novo item, o sistema de recomendações baseadas em conteúdo precisa que algum usuário avalie o novo item.

III – O cálculo de similaridade entre os usuários é utilizado por sistemas de filtragem colaborativa para medir a chance de um par de usuários avaliar determinado item de forma parecida.

IV – Métodos de filtragem colaborativa pode ser aplicado apenas para medir a semelhança entre usuários.

V – É possível utilizar métodos de diferentes abordagens de recomendação de uma forma híbrida para tentar melhorar a qualidade das predições.

Dentre essas afirmações estão INCORRETAS:

A

D- II e IV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Uma das características implementada pela Speed Layer em sistemas de Big Data é a atualização de views com baixa latência.

A respeito da Speed Layer avalie as seguintes afirmações:

I – Na Speed layer os dados devem ser processados de forma incremental, escalável e tolerante a falhas tão logo são recebidos.

II – O processamento de fluxo de dados realizado pela Speed layer é importante em situações onde os dados são constantemente gerados e o valor da informação contida nos dados cresce rapidamente com o tempo.

III – A Speed layer é capaz de atualizar as Batch views em tempo real.

IV – A Speed layer faz a computação incremental dos dados ao invés da computação de todo o conjunto de dados.

V – As views da Speed layer podem ser descartados em caso de falha, uma vez que rapidamente novas views são geradas pela camada e o funcionamento normal é restaurado.

Dentre essas afirmações estão INCORRETAS:

A

E- II e III

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O funcionamento estrutural de um fluxo de aprendizado de máquina pode ser descrito através das seguintes etapas: Utilizamos um conjunto de dados de teste e de treino para escolher os modelos de aprendizado de máquina mais adequados, treiná-los, e avaliá-los com o objetivo de alcançar um modelo que seja capaz de realizar predições úteis a partir de dados do mundo real.

Avalie as seguintes afirmações a respeito do fluxo de aprendizado de máquina:

I – Na etapa de obtenção de dados são adquiridos os dados que serão utilizados tanto para treinamento dos modelos quanto para avaliar a eficiência dos modelos.

II – Os problemas de dados faltantes, dados com ruído ou dados inconsistentes devem ser resolvidos na etapa de obtenção dos dados.

III – Os dados devem ser formatados da maneira mais adequada durante a etapa de preparação dos dados.

IV – A etapa de treinamento é quando utilizamos os dados de treino na expectativa de que o modelo aprenda a processar os dados da forma esperada.

V – Durante a etapa de avaliação o desempenho do modelo é avaliado e caso não seja considerado suficiente, o modelo passa por um novo ciclo de ajuste de parâmetros, treinamento e avaliação.

Dentre essas afirmações estão INCORRETAS:

A

B- Apenas II

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A API GraphX oferece uma forma de armazenar grafos na forma de tabelas e utilizar operações de tabelas para expressar operações de grafos.

A respeito da API do GraphX avalie as seguintes afirmações:

I – Um grafo de propriedades em GraphX é uma abstração capaz de definir um multigrafo dirigido com objetos definidos para cada vértice e aresta.

II – Um grafo de propriedade pode ser definido como um par de conjuntos de RDDs que codificam as características de vértices e arestas.

III – Grafos de propriedades são distribuídos, tolerantes a falhas e seus valores e estruturas podem ser modificados facilmente.

IV – O construtor da classe Edge recebe os parâmetros que correspondem aos identificadores dos vértices de origem e destino.

V – O membro vertices da classe Graph retorna um VertexRDD[(String,String)] que é uma extensão do objeto RDD[(VertexId,(String,String)]. Por outro lado, o membro edge retorna um EdgeRDD que contém um objeto Edge[String].

Dentre essas afirmações estão INCORRETAS:

A

C- Apenas III

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

A arquitetura do Kafka é capaz de combinar as características de um sistema de mensagens, um sistema de armazenamento com o processamento de fluxos.

A respeito da arquitetura e APIs do Kafka avalie as seguintes afirmações:

I – A API Kafka responsável por consumir um ou mais fluxos de um ou mais tópicos e produzir fluxos de um ou mais tópicos é conhecida como Topic API.

II – O Kafka permite a criação de produtores e consumidores reutilizáveis para conectar tópicos Kafka a aplicações externas através da Connector API

III – As APIs que permitem que uma aplicação publique um fluxo de eventos em um ou mais tópicos e se inscreva em um ou mais tópicos são: Publish API e Subscribe API respectivamente.

IV – Cada evento em uma partição possui um identificador único e sequencial conhecido por offset. Dessa forma o único metadado que é necessário armazenar por consumidor é a sua posição de offset.

V – Consumidores são agrupados em grupos onde cada evento publicado a um tópico é entregue a uma instância consumidora dentro da inscrição de dado grupo consumidor.

Dentre essas afirmações estão INCORRETAS:

A

B- I e III

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O Flink é projetado para executar aplicações de fluxos de eventos com estados em qualquer escala, uma vez que é capaz de escalar horizontalmente de forma ilimitada.

A respeito da arquitetura do Flink avalie as seguintes afirmações:

I – O Flink utiliza um algoritmo síncrono e incremental de checkpoints garante que o impacto da latência computacional seja mínimo e ainda capaz de garantir a entrega de mensagens.

II – Os fluxos podem ser processados em tempo real, assim que são gerados, ou de forma gravada, ou seja, os dados são recebidos integralmente para então serem processados.

III – Cada aplicação de fluxo trivial possui estados, dessa forma as aplicações que aplicam transformações em eventos individuais possuem estados.

IV – Flink oferece diversos processos de estados que armazenam estados em memória, no RockDB, uma forma de armazenamento em disco incorporado nativamente, ou outro processo customizado de armazenamento.

V – Fluxos de eventos podem possuir uma semântica temporal inerente uma vez que cada evento é criado em um ponto específico no tempo. Isso quer dizer várias operações de fluxo são dependentes de tempo, como por exemplo: agregações de janelas, sessões, detecção de padrões, e JOINS.

Dentre essas afirmações estão INCORRETAS:

A

D- I e III

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

GraphX é o componente do Spark para computação de grafos em sistemas distribuídos de larga escala. Ele foi desenvolvido através de um projeto de pesquisa como forma de unificar o processamento de grafos e de sistemas paralelos até se tornar uma parte integral do projeto Spark.

Avalie as seguintes afirmações a respeito do GraphX:

I – A API GraphX implementa abstrações de arestas e vértices baseados em extensões de RDDs

II – A computação de grafos é importante em casos onde as relações entre os dados são mais importantes que os dados em si.

III – Grafos são uma forma muito eficiente de representar dados de tabelas esparsas.

IV – O algoritmo Connected Components é um tipo de algoritmo paralelo de grafos que é capaz de medir a coesão entre os seus dados (componentes).

V – O algoritmo PageRank desenvolvido pelo Google é capaz de classificar a importância de sites através da quantidade de referências apontadas para um site.

Dentre essas afirmações estão CORRETAS:

A

A- Todas, exceto IV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Uma topologia é uma rede de spouts e bolts, onde cada aresta na rede representa um bolt ligado a um fluxo de saída de um spout ou outro bolt.

Sobre as topologias e arquitetura Storm avalie as seguintes afirmações:

I – O agrupamento de fluxos é parte da definição da topologia de forma a especificar quais fluxos de tuplas devem ser recebidas para cada bolt. Cada agrupamento de fluxo define como o fluxo deve ser particionado entre as tarefas de cada bolt.

II – No agrupamento conhecido por Shuffle grouping tuplas são distribuídas aleatoriamente às tarefas dos bolts de forma que as tuplas sejam distribuídas de maneira igualitária.

III – Atualmente no agrupamento conhecido por None grouping tuplas são distribuídas aleatoriamente às tarefas dos bolts de forma que as tuplas sejam distribuídas de maneira igualitária.

IV – No Direct grouping o fluxo é alocado diretamente a uma tarefa especificada pelo consumidor.

V – No Global grouping o fluxo é replicado para todas as tarefas dos bolts.

Dentre essas afirmações estão INCORRETAS:

17
Q

Flume é um sistema distribuído, confiável e de alta disponibilidade para coletar, agregar e mover eficientemente grandes quantidades de dados de log de muitas fontes diferentes para um armazenamento centralizado.

Avalie as seguintes afirmações a respeito do Flume:

I – O Flume possui um plugin para atuar como um sistema de agregação de log para o Hadoop.

II – O Flume pode ser utilizado como um tipo de buffer quando a taxa de dados recebidos supera a capacidade de escrita do destino.

III – O roteamento contextual de dados é uma das possibilidades de uso do Flume.

IV – Os eventos são removidos de um canal apenas ao serem recebidos pelo repositório final.

V – Os dados nos canais do Flume podem ser armazenados tanto no sistema de arquivos local quanto em memória. Independente da opção de armazenamento, os eventos armazenados podem ser recuperados de falhas.

Dentre essas afirmações estão CORRETAS:

18
Q

Avalie as seguintes afirmações sobre os componentes do Hadoop: Redis, Ignite e NiFi:

I – Redis é um sistema de armazenamento baseado em chave-valor e uma de suas características é que os seus dados podem ser configurados para possuir um tempo de vida (TTL). Dessa forma os dados podem ser removidos automaticamente depois de um tempo determinado.

II – No Redis os dados são replicados de forma assíncrona por diversos servidores através de uma arquitetura de replicação circular.

III – Ignite é um sistema de computação em memória distribuído, escalável e tolerante a falhas com a capacidade de armazenar dados. Uma de suas características é a garantia das propriedades ACID.

IV – NiFi é um sistema de processamento e distribuição de dados que oferece uma interface para projetar, controlar e monitorar fluxos de dados. Uma de suas características é utilizar grafos dirigidos acíclicos.

V – FlowFile Processor é um dos componentes do Nifi que atua como um scheduler para facilitar a troca de FlowFiles entre os processadores de fluxos de dados.

Dentre essas afirmações estão INCORRETAS:

19
Q

Analisar os requisitos de um projeto é um dos pontos mais importantes no desenvolvimento de aplicações, uma vez que tais requisitos devem refletir todas as necessidades e críticas dos usuários.

A respeito dos requisitos de aplicações de Big Data, avalie as seguintes afirmações:

I – Deve-se utilizar uma solução com tecnologias de Big Data para qualquer tamanho de dados, uma vez que as vantagens da aplicação de tais tecnologias são vantajosas em diversos cenários.

II – Pode ser muito caro mover os dados armazenado em um determinado sistema de armazenamento para outro lugar, uma vez que o local de armazenamento foi definido. Por isso deve-se tentar prever cenários futuros da melhor forma possível.

III – Escalar a complexidade de um sistema para atender uma demanda além do previsto é uma boa estratégia que pode auxiliar na antecipação de custos de manutenção futuros. É sempre uma boa estratégia, avaliar qual é o máximo de infraestrutura necessária para operar a aplicação.

IV – Em muitos casos pode ser necessário manter os dados armazenados por um tempo maior por motivos de auditoria ou por necessidades jurídicas. Por isso é importante a definição de uma política de retenção de dados.

V – É importante avaliar a relação do sistema com o teorema CAP. É sempre necessário saber se devemos priorizar a disponibilidade ou a consistência dos dados.

Dentre essas afirmações estão INCORRETAS:

20
Q

Spark SQL é o módulo do Spark utilizado o processamento de dados estruturados. Diferentemente da API básica de RDDs do Spark, a interface fornecida pelo Spark SQL oferece mais informações sobre a estrutura tanto dos dados quanto da computação a ser realizada. Internamente essa informação extra é utilizada para otimizações adicionais.

Sobre os diferentes formatos de dados suportados pelo Spark SQL avalie as seguintes afirmações:

I – O formato de dados padrão suportado pelo Spark SQL é o CSV, um formato de arquivos que armazena texto em formato tabular que utiliza vírgulas para separar valores.

II – O ORC é um formato de arquivos que busca otimizar o tempo de processamento e reduzir o tamanho dos arquivos. É um formato de dados utilizado também pelo Hive e é considerado uma forma altamente eficiente de armazenamento.

III – O Parquet é um formato de armazenamento baseado em chave-valor amplamente utilizado por diversos sistemas. É um formato otimizado para suportar sistemas de compressão muito eficientes.

IV – LibSVM é um formato de dados que implementa Support-Vector Machines e é muito utilizado em modelos de aprendizagem.

V – O Spark SQL permite o uso de conectores JDBC e ODBC para atuar como um motor de consultas distribuídas a tabelas de dados externas.

Dentre essas afirmações estão CORRETAS:

A

A- II, IV e V

21
Q

O Spark é projetado ao redor de um conceito central: o Resilient Distributed Dataset (RDD). RDDs são conjuntos de dados distribuídos e resilientes, ou seja, consistem em uma coleção de elementos particionados pelo cluster que podem ser operados em paralelos.

Sobre os RDDs e o SparkContext avalie as seguintes afirmações:

I – Todo RDD é criado a partir da paralelização de uma coleção de dados existente no DriverProgram.

II – RDDs de nós falhos podem ser recuperados automaticamente.

III – RDDs podem ser criados por um SparkContext no Driver Program através da aplicação do método paralelize sobre um conjunto de dados.

IV – RDDs podem ser executados em paralelo. A quantidade de partições de um RDD que serão criadas pode ser configurada automaticamente pelo Spark ou através da configuração do usuário.

V – A variável de broadcast é utilizada para armazenar um valor em memória por todos os nós do cluster e é o único tipo de variável compartilhada do Spark.

Dentre essas afirmações estão CORRETAS:

A

B- II, III e IV