·
Engenharia de Software ·
Introdução à Lógica e Programação
Send your question to AI and receive an answer instantly
Recommended for you
12
Roteiro de Atividade Prática: Lógica de Programação e Algoritmos
Introdução à Lógica e Programação
UNINTER
57
Atividade Pratica Lógica de Programação e Algoritmos - Resolução de Problemas em Python
Introdução à Lógica e Programação
UNINTER
11
Atividade Pratica Lógica de Programação e Algoritmos - Calculo de Vendas e Sorveteria em Python
Introdução à Lógica e Programação
UNINTER
11
DER-Diagrama-Entidade-Relacionamento-Biblioteca-MySQL-Workbench
Introdução à Lógica e Programação
UNIA
1
Game de Obstaculos com Javascript CSS HTML e Canvas no VS Code
Introdução à Lógica e Programação
UNIFAA
3
AVC-Avaliação Continua-Modelo de Folha de Resposta-Criterios de Avaliacao
Introdução à Lógica e Programação
UNISA
1
Resenha Tematica Descritiva Revisao e Inspecao em Metodos Ageis
Introdução à Lógica e Programação
UNIJUI
2
Resolucao de Questoes sobre Qualidade de Software e Gestao da Capacidade
Introdução à Lógica e Programação
UNISA
5
Aula 2: Estruturas Avançadas em PHP - Arrays e Arquivos
Introdução à Lógica e Programação
UNOPAR
2
Planejamento de Jogo Digital: Criação de Prólogo, Mapas e Personagens
Introdução à Lógica e Programação
UNISA
Preview text
CADERNO DE RESPOSTAS DA ATIVIDADE PRÁTICA DE PROJETOS BIG DATA ALUNO INSERIR NOME E RU Caderno de Resposta Elaborado por Prof MSc Guilherme Ditzel Patriota ANO 2022 Roteiro de Atividade Prática de Big Data Prática 01 Somatório de IDs Questão Qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdbreviewsptbrcsv ENUNCIADO Nessa prática você deverá descobrir utilizando sua máquina virtual com o Hadoop ou Spark ou PySpark qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdb reviewsptbrcsv I Apresentação do Código não esquecer do identificador pessoal COLOCAR IMAGEM DO CÓDIGO AQUI Figura 1 INSERIR LEGENDA II Apresentação das ImagensPrint do resultado não esquecer do identificador COLOCAR FOTO AQUI Figura 2 INSERIR LEGENDA III Responda à pergunta Qual o valor da soma de todos os campos id dos filmes classificados como negativos Resposta COLOCAR RESPOSTA AQUI 1 Roteiro de Atividade Prática de Big Data Prática 02 Diferença do número de palavras totais de português para inglês dos textos negativos Questão Contar palavras dos textos negativos e achar diferença de quantidade ENUNCIADO Nessa prática você deverá contar todas as palavras existentes nos textos negativos Português e Inglês e então deverá encontrar quantas palavras a mais no total os textos em português possuem Para tal crie um script em Python ou Scala e rodeo com sua máquina virtual Hadoop ou Spark ou PySpark como feito na prática 1 É necessário se preocupar em filtrar corretamente as avaliações de filmes para que apenas os textos marcados como negativos sejam contabilizados I Apresentação do Código não esquecer do identificador pessoal COLOCAR IMAGEM DO CÓDIGO AQUI Figura 3 INSERIR LEGENDA II Apresentação das ImagensPrint do resultado não esquecer do identificador COLOCAR FOTO AQUI Figura 4 INSERIR LEGENDA III Responda à pergunta Qual o número total de palavras a mais que os textos negativos em português possuem em comparação com a soma total das palavras dos textos negativos em inglês independentemente de serem repetidas Resposta COLOCAR RESPOSTA AQUI 2 ATIVIDADE PRÁTICA BIG DATA Roteiro Elaborado por Prof MSc Guilherme Ditzel Patriota ANO 2022 Roteiro de Atividade Prática de Big Data 1 INTRODUÇÃO Olá a todos Sejam todos muito bemvindos Esta avaliação foi planejada e preparada para as disciplinas de Big Data dos Cursos de Tecnologia em Ciência de Dados e Engenharia da Computação da Centro Universitário Internacional Uninter O objetivo desta atividade é fazer com que você aluno desenvolva os conhecimentos teóricos aprendidos na rota de maneira práticas e aplicável no mercado de trabalho Para tanto será necessário o uso da instalação do Hadoop e Spark em máquina virtual criada nas aulas práticas 1 e 2 ou instalação do Spark em seu sistema ou uso da biblioteca PySpark em conjunto com o Google Colab Esta prática é baseada na aula prática 5 sobre o Spark com Hadoop Ao longo desse roteiro serão passadas as orientações gerais para realização da avaliação bem como os seus critérios de correção Na sequência apresentase um exemplo comentado de como se deve ser entregue uma questão Seguindo o roteiro estarão as práticas a serem realizadas cada uma delas possui uma explicação de como deve ser feita e como será cobrada e algumas dicas Por fim apresento uma seção as com as respostas das dúvidas mais frequentes realizadas por vocês Bons estudos No mais desejolhe boa atividade prática em nome dos professores da disciplina de Big Data Roteiro de Atividade Prática de Big Data 2 LISTA DE FIGURAS Figura 1 Resultado do somatório de todos os valores de cada pedido do banco de dados feito no Hadoop com MariaDB 12 Roteiro de Atividade Prática de Big Data 3 LISTA DE TABELAS Tabela 1 Possíveis notas no formato de apresentação 7 Tabela 2 Possíveis notas critério de Identificação Pessoal 8 Tabela 3 Possíveis notas na apresentação do código 9 Tabela 4 Possíveis notas na apresentação das imagensfotos 10 Tabela 5 Possíveis notas na apresentação das respostas 11 Roteiro de Atividade Prática de Big Data 4 SUMÁRIO INTRODUÇÃO 1 LISTA DE FIGURAS 2 LISTA DE TABELAS 3 ORIENTAÇÕES GERAIS 5 FORMATO DE ENTREGA 5 CRITÉRIOS DE AVALIAÇÃO 6 FORMATO DA APRESENTAÇÃO 7 IDENTIFICAÇÃO PESSOAL 8 CÓDIGO 9 IMAGENSPRINTS 10 EXEMPLO DE APRESENTAÇÃO DE QUESTÃO 12 PRÁTICAS 13 MOTIVAÇÃO DO TRABALHO 13 DESCRIÇÃO DO PROJETO 13 DESCRIÇÃO DO CONJUNTO DE DADOS 13 OBJETIVO DO PROJETO 14 PASSOS INICIAIS 15 PRÁTICA 01 SOMATÓRIO DE IDS 22 PRÁTICA 02 DIFERENÇA NA SOMA DE PALAVRAS 23 RESPOSTAS AS DÚVIDAS MAIS FREQUÊNTES 25 Roteiro de Atividade Prática de Big Data 5 ORIENTAÇÕES GERAIS FORMATO DE ENTREGA A entrega desta atividade prática deverá ser realizada pela área de Trabalhos contendo os prints das duas resoluções no software com o código usado o resultado da questão e mais o seu RU digitado na linha de comandos no HadoopSparkMariaDB e no seu código sua IP Identificação Pessoal O formato de entrega desejável dos prints das práticas desse roteiro deve estar de acordo com o que é visto na seção EXEMPLO DE APRESENTAÇÃO DE PRÁTICA Recomendase que os trabalhos sejam enviados no formato pdf Uma vez que formatos doc ou docx podem apresentar falhas do tipo na codificação carregamento ou apresentação de imagens Sendo assim fica por conta e risco do estudante se houver problemas com o documento enviados no formato doc ou docx ou outro formato editável Trabalhos feitos em outra forma que não seja utilizando SPARK HADOOP ou o PySpark perderão metade da nota total referente aos prints de execução Roteiro de Atividade Prática de Big Data 6 CRITÉRIOS DE AVALIAÇÃO Os critérios de avaliação desse trabalho visam deixar a avaliação o mais justa e transparente possível Nessa avaliação cada questão valerá 2000 pontos sendo um total de 40 pontos de trabalho Cada questão será composta por print do código print da tela do HadoopSparkMariaDBColab com o resultado e resposta da questão As questões serão avaliadas e corrigidas individualmente conforme a seguinte equação 𝑁 𝐹𝐸 𝐼𝑃 𝐶𝑂𝐷 𝐼𝑀𝐺 𝑅𝐸𝑆𝑃 15 Em que 𝑁 𝑁𝑜𝑡𝑎 𝑑𝑎 𝑄𝑢𝑒𝑠𝑡ã𝑜 Nota total da questão podendo variar de 0 até 20 𝐹𝐸 𝐹𝑜𝑟𝑚𝑎𝑡𝑜 𝑑𝑎 𝐸𝑛𝑡𝑟𝑒𝑔𝑎 Nota do Formato de Entrega podendo variar de 0 até 1 𝐼𝑃 𝐼𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑐𝑎çã𝑜 𝑃𝑒𝑠𝑠𝑜𝑎𝑙 Nota Identificação Pessoal podendo variar de 0 até 1 𝐶𝑂𝐷 𝐶ó𝑑𝑖𝑔𝑜 Nota do Código usado podendo variar de 0 até 100 𝐼𝑀𝐺𝐼𝑚𝑎𝑔𝑒𝑛𝑠 Nota da Imagem com resultado correto podendo variar de 0 até 100 𝑅𝐸𝑆𝑃𝑅𝑒𝑠𝑝𝑜𝑠𝑡𝑎 Nota da Resposta com resultado correto podendo ser 0 ou 100 Cada um dos itenscritérios que compõe a equação acima será detalhado nas subseções a seguir Se mesmo assim houver dúvidas não hesite em perguntar O desconhecimento dos critérios não será aceito como desculpa Roteiro de Atividade Prática de Big Data 7 FORMATO DA APRESENTAÇÃO O formato da apresentação é um dos critérios de avaliação pois um profissional deve ser capaz de seguir normas no momento de elaboração de relatórios técnicos manuais e outros documentos afins bem como ser capaz de apresentar seus dados de forma limpa e compreensível As possíveis notas desse critério são apresentadas na tabela a seguir Tabela 1 Possíveis notas no formato de apresentação NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Formato da apresentação está correto Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE PRÁTICA para maiores detalhes 070 Formato da apresentação está parcialmente correto Está muito próximo do exemplo mas apresenta alguns erros 050 Formato da apresentação está incorreto Não seguiu o exemplo Roteiro de Atividade Prática de Big Data 8 IDENTIFICAÇÃO PESSOAL Todas as questões deverão apresentar um identificador pessoal nas seguintes partes No código deve haver ao menos uma variável cujo nome seja composto pelo seu RU eg contadorxxxxxx onde o x s deve ser substituído pelo seu RU mesmo que esta variável não seja utilizada em nenhuma parte do código Nas imagensprints do Hadoop onde deverá conter seu RU escrito na linha de comandos do HADOOPSPARKMariaDBGoogle Colab As possíveis notas para esse critério são apresentadas na tabela a seguir Tabela 2 Possíveis notas critério de Identificação Pessoal NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Apresentou o identificador pessoal no código e nas imagensfotos Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE QUESTÃO para maiores detalhes 080 Apresentou identificador pessoal na imagem mas não no código Não apresentou um identificador no código eg o RU como parte do nome de uma variável 070 Apresentou o identificador pessoal no código mas não nas imagensprints Não apresentou um identificador na imagem exemplo Linha de comandos do MariaDB com o RU do aluno 050 Não apresentou identificador pessoal no código e nem nas imagensprints Questão sem nenhuma identificação de autoria 000 Apresentou o identificador de outra pessoa nas prints eou no código A questão veio com identificador pessoal de outra pessoa Roteiro de Atividade Prática de Big Data 9 CÓDIGO A apresentação dos códigos compõe um terço da nota total das questões Este será avaliado conforme a tabela a seguir As possíveis notas para esse critério são apresentadas na tabela a seguir Tabela 3 Possíveis notas na apresentação do código NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Código coerente com a resposta encontrada e apresentado no formato imagem Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE QUESTÃO para maiores detalhes 70 Código coerente com a resposta encontrada e apresentado no formato texto Acertou o código mas copiou o texto do código ao invés de tirar print 60 Código parcialmente correto e apresentado no formato imagem Errou um pouco código mas colocou no trabalho no formato imagem 40 Código parcialmente correto e apresentado no formato texto Errou um pouco código e copiou o texto do código ao invés de tirar print 0 Sem código ou com código incorreto A questão não apresentou código ou o código estava errado OBS 1 NÃO ESQUECER DO IDENTIFICADOR PESSOAL Ex COLOCAR SEU RU NO NOME DE UMA VARIÁVEL DO PROGRAMA OBS 2 CÓDIGOS EXECUTADOS SEM USO DO SPARK OU PYSPARK TERÃO 100 DA NOTA REDUZIDA Roteiro de Atividade Prática de Big Data 10 IMAGENSPRINTS As imagens compõem um terço da nota total de cada questão Essas normalmente são prints da tela com o código ou os softwares em excussão Cada práticaquestão dessa atividade prática virá com instruções de como devem ser esses prints Entendese que a legenda faz parte de uma imagem Sendo assim as legendas serão avaliadas As possíveis notas para esse critério são apresentadas na tabela a seguir Tabela 4 Possíveis notas na apresentação das imagensfotos NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Imagens corretas e com legenda adequada Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE QUESTÃO para maiores detalhes 90 Imagens correta mas com legenda superficial Ex de legenda superficial Figura 1 Código em Python 80 Imagens corretas mas com legenda precária Ex de legenda precária Figura 1 Código 70 Imagens correta mas sem legenda Apresentou imagens corretas mas não colocou legenda 60 Imagens parcialmente corretas mas com legenda adequada Imagem que não consiga identificar o que esteja acontecendo ou a falta de uma das imagens se encaixam nesse grupo 50 Imagens parcialmente correta e com legenda superficial Similar ao segundo item de cima para baixo dessa tabela mas com pelo menos uma das imagens com problemas 40 Imagens parcialmente corretas e com legenda precária Similar ao terceiro item de cima para baixo dessa tabela mas com pelo menos uma das imagens com problemas 30 Imagens parcialmente correta e sem legenda Similar ao quarto item de cima para baixo dessa tabela mas com pelo menos uma das imagens com problemas 0 Sem imagens ou com imagens incorretas A questão veio sem imagens ou com imagens erradas OBS 1 NÃO ESQUECER DO IDENTIFICADOR PESSOAL Ex DIGITAR SEU RU NA LINHA DE COMANDO QUE APAREÇA NO PRINT Roteiro de Atividade Prática de Big Data 11 RESPOSTA A apresentação da resposta correta será avaliada de forma booleana As possíveis notas para esse critério são 0 ou 100 Tabela 5 Possíveis notas na apresentação das respostas NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Resposta correta Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE QUESTÃO para maiores detalhes 0 Resposta incorreta A questão não apresentou a resposta correta para a pergunta Roteiro de Atividade Prática de Big Data 12 EXEMPLO DE APRESENTAÇÃO DE QUESTÃO Prática XX Pedidos de clientes com valor Questão XX Consolidação dos valores de cada pedido Enunciado Encontre o valor total de cada pedido feito I Apresentação do Código não esquecer do identificador pessoal II Apresentação das ImagensPrints não esquecer do identificador pessoal a Print do resultado para soma do valor total de pedidos Figura 1 Resultado do somatório de todos os valores de cada pedido do banco de dados feito no Hadoop com MariaDB III Responda à pergunta Qual o maior valor de pedido Resposta O maior valor encontrado foi o da comanda de id 50 no valor de 454123 OBS1 Nas suas imagens não precisa circular e apontar o identificador pessoal OBS2 Perceba que toda a atividade está contida numa só página OBS3 Optouse por juntar as imagens do código No entanto não houve perda de clareza e organização Roteiro de Atividade Prática de Big Data 13 PRÁTICAS As práticas desse roteiro utilizam a máquina virtual com Hadoop Spark e MariaDB criados nas aulas práticas da rota Sugerimos o uso do HDP Cloudera 265 por ser mais leve do que o mais atual O processo de download pode ser encontrado nos documentos adicionais de nossa rota de estudos MOTIVAÇÃO DO TRABALHO Saber criar uma estrutura de Big Data é imprescindível para profissionais Cientistas de Dados Os conhecimentos necessários vão de criação de servidores dedicados clusters ou máquinas virtuais a mineração representação e interação com grandes quantidades de dados Muitas empresas utilizam miniprojetos como este que faremos para filtrar seus candidatos e buscar os melhores talentos no mercado Sabendo disso idealizamos esta atividade para que você possa treinar e aplicar seus conhecimentos adquiridos nas aulas teóricas e práticas Este projeto será feito com utilização dos servidores em máquinas virtuais criados nas aulas práticas para que um conjunto grande de dados seja adquirido estruturado filtrado e minerado DESCRIÇÃO DO PROJETO Um famoso conjunto de dados também chamado de dataset é a muito utilizado para criação de modelos de processamento de linguagem natural e de clusterização classificação em grupos para análise de textos que apresentem algum tipo de sentimento seja ele positivo ou negativo Estamos falando sobre o dataset IMDB um conjunto de textos com reviews de filmes diversos Vamos utilizar neste projeto a versão traduzida para português destes dados É importante sabermos que neste trabalho não faremos nenhum tipo de processamento de linguagem natural apenas utilizaremos o dataset IMDB como exemplo e realizaremos coletas de informações simples sobre mesmo DESCRIÇÃO DO CONJUNTO DE DADOS O conjunto de dados IMDB PTBR é uma tradução para português do famoso conjunto de dados IMDB usado para criação de classificadores automatizados de texto em textos positivos e negativos Traduzido por Luís Fred e publicado na plataforma Kaggle httpswwwkagglecomluisfredgsimdbptbr de forma livre e gratuita estes dados foram muito usados em pesquisas científicas nas áreas de Ciência de Dados e Big Data Roteiro de Atividade Prática de Big Data 14 O arquivo postado por Fred está em formato CSV possui aproximadamente 125 MB com pouco menos de 50 mil registros e conta com 4 coluna de dados referentes a resenhas de filmes com classificação em positivo ou negativo conforme o sentimento expressado pelo texto da resenha Cada registro de resenha possui seu texto original em inglês e uma tradução em português sendo duas das quatro colunas existentes texten e textpt respectivamente As outras duas colunas de dados são id um número sequencial de identificação de cada resenha e sentiment uma coluna de com informação binária pos com aproximadamente 50 dos dados e neg com os outros 50 das resenhas OBJETIVO DO PROJETO Nosso objetivo com este dataset é responder as duas questões que se encontram neste documento criar o relatório da atividade prática conforme modelo apresentado anteriormente e publicar em Trabalhos Para que as questões possam ser respondidas será necessário que você utilize o Spark Hadoop em conjunto com outras ferramentas aprendidas em aula De forma resumida você deverá cumprir os seguintes passos mínimos para finalizar esta tarefa 1 AQUISIÇÃO Fazer o download do dataset no link fornecido abaixo 2 ESTRUTURAÇÃO Carregar o dataset no HDFS do hadoop em sua máquina virtual ou local ou imagem Docker ou Google Colab e carregar uma visualização formatada dos dados um Spark DataFrame o uso da biblioteca Pandas para criação do DataFrame não será aceito neste trabalho Aqui você deverá importar o dataset para um Spark DataFrame Certifique se de que seus dados foram importados corretamente Este dataset em particular pode gerar diversos erros de importação por conta de a língua portuguesa conter diversos símbolos menos comuns em inglês como vírgulas e acentuações 3 FILTRAGEM Informações desnecessárias espaços duplicados e demais artefatos irrelevantes ao projeto deverão ser filtrados para obtenção do dado corretamente analisado Outras técnicas poderão ser necessárias nesta etapa para um resultado mais preciso 4 MINERAÇÃO Agrupar os dados de forma a obter as respostas solicitadas nas perguntas com uso ou de algoritmo em python sparksubmit xyzpy ou com uso de linguagem Scala O uso da biblioteca PySpark no Google Colab também será aceito nesta etapa mas não o uso da biblioteca Pandas 5 REPRESENTAÇÃO Criar uma forma visual de analisar os dados pode ser muito útil para garantir a precisão das suas respostas Nesta etapa é importante que você revise seus passos e verifique se o seu resultado é coerente Lembrese Mineração de dados só será útil se você souber o que está buscando Confira cada etapa do seu processamento antes de aceitar qualquer resultado 6 REFINAMENTO Encontrou alguma divergência em seus resultados que pode ser solucionada Agora é o momento de voltar no seu processo e melhorálo 7 INTERAÇÃO Esta etapa é o fruto de nosso trabalho em Big Data mas para este trabalho utilize as questões aqui descritas para garantir sua resposta o mais precisa possível e depois vá ao UNIVIRTUS na área de trabalho da nossa matéria e poste seu relatório com as respostas e prints das questões lá Roteiro de Atividade Prática de Big Data 15 Para dar um pontapé inicial em nosso projeto seguem alguns passos iniciais levando em consideração que você já tem todas as etapas das aulas práticas replicadas em sua máquina local PASSOS INICIAIS Neste projeto serão utilizados os servidores feitos em máquinas virtuais durante as aulas práticas que exigem ao menos 8GB de memória RAM instalados em seu computador e um processador de ao menos 2 núcleos mas você poderá realizar esta prática de diversas outras formas mostradas abaixo Utilização de containers Docker para criação dos servidores necessários Uso de serviços como AWS para criação dos servidores e instalação do Hadoop e Spark Uso de sua máquina local para instalar o Spark necessário possuir Linux ou WSL instalado Uso do Google Colab com Spark e biblioteca PySpark esta é a opção mais barata e leve de todas porém você não terá o contato completo com um servidor SPARK ou HADOOP como sugerido por este trabalho Caso você queira se desafiar e ao mesmo tempo aprender a utilizar uma nova ferramenta muito cobrada em entrevistas de emprego e em startups sugiro a utilização do Docker como ferramenta de virtualização dos servidores porém esta é a opção que mais exigirá recursos de seu computador Além do exemplo usado abaixo você também pode realizar os mesmos procedimentos feitos na aula prática 5 de Spark para carregar pelo Ambari e filtrar os dados com uso do PySpark e linguagem Python em conjunto com o MariaDB Exemplo 1 Importação e carregamento do arquivo CSV no Hadoop com apache Spark em linguagem SCALA 1 Para este projeto você precisará realizar o download do dataset IMDB PTBR disponível no repositório de dados kagglecom httpswwwkagglecomluisfredgsimdb ptbrdownload 2 Fazer o upload do arquivo para o HDFS do seu servidor Hadoop criado durante as aulas práticas a Caso precise de tutorial para esta etapa sugiro o seguinte link httpscarledwinticom20201224uploaddearquivosparaohdfscomavmda cloudera b Substitua o nome de arquivo cpfcsv pelo que usaremos neste trabalho imdb reviewsptbrcsv c No comando hdfs dfs mkdir p Coloque o nome de pasta que você desejar Roteiro de Atividade Prática de Big Data 16 3 Em seu prompt de comandos faça a inclusão do pacote sparkcsv ao abrir o sparkshell httpssparkpackagesorgpackagedatabrickssparkcsv a Comando sparkshell packages comdatabrickssparkcsv210150 ou sparkshell packages comdatabrickssparkcsv211150 ou sparkshell b Os próximos passos utilizarão o Spark com códigos em Scala no sparkshell 4 Com o sparkshell aberto importe o SQLContext para permitir a leitura do arquivo CSV a Comando import orgapachesparksqlSQLContext 5 Para realizarmos a interpretação dos dados no arquivo imdbreviewsptbrcsv é necessário criarmos uma instância do SQLContext com o seguinte comando dependendo da versão do HDP pode ser que a seção já exista com nome de spark em substituição ao sqlC a Comando val sqlC new SQLContextsc 6 Por fim vamos importar os dados do arquivo imdbreviewsptbrcsv e criar um Spark DataFrame com ele para que possamos dar sequência na mineração de dados Para tal utilize o seguinte comando a No comando abaixo é importante que você substitua os seguintes dados i HOST Substitua pelo endereço IP do seu host do HDFS da máquina virtual criada em aula prática Provavelmente sandbox hdphortonworkscom Para conferir acesse o hadoop pelo PuTTY mariadev1270012222 e veja dentro do arquivo coresitexml o valor da propriedade fsdefaultFS para abrir este arquivo instale o nano sudo yum nano e depois digite nano etchadoopconfcoresitexml ii PORT Substitua pela porta do seu host da máquina virtual provavelmente 8020 Veja a porta no mesmo arquivo coresitexml descrito anteriormente iii CAMINHO DA PASTA ONDE VOCÊ COLOCOU O ARQUIVO CSV Substitua pelo caminho da pasta na qual você colocou o arquivo imdb reviewsptbrcsv na sua máquina virtual do HADOOP b Comando val imdbDf sqlCreadformatcomdatabrickssparkcsvoptionheadertrueoptioninferSch ematrueloadhdfsHOSTPORTCAMINHO DA PASTA ONDE VOCÊ COLOCOU O ARQUIVO CSVimdbreviewsptbrcsv Provavelmente val imdbDf sqlCreadformatcomdatabrickssparkcsvoptionheader trueoptioninferSchema trueloadhdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv Você também poderá fazer Roteiro de Atividade Prática de Big Data 17 val imdbDf sqlCreadformatcsvoptionheader trueoptioninferSchema trueloadhdfssandboxhdphortonworkscom8020homemariadevimdb reviewsptbrcsv Ou ainda val imdbDf sqlCreadoptionheader trueoptionquote optionescapecsvhdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv Perceba as duas opções de quote e escape Estas opções ajudarão a importação dos dados em português e podem ser usadas nos comandos anteriores também 7 Após carregado o arquivo no DataFrame criado você poderá manipulálo da forma que achar necessário para encontrar as respostas das nossas perguntas deste trabalho mas antes é muito importante garantir que a importação não causou erros de parse como colunas com dados incorretos 8 Para visualizar os dados carregados utilize o comando a Comando imdbDfshow Caso esteja utilizando o Hadoop Cloudera sugiro seguir os passos mostrados nas aulas práticas carga pelo Ambari ou utilizar o seguinte tutorial para carga dos dados httpscarledwinticom20201228comolercsvdohdfshadoopcloudera Exemplo 2 Importação e carregamento do arquivo CSV no Hadoop com apache Spark em linguagem Python 1 Para este projeto você precisará realizar o download do dataset IMDB PTBR disponível no repositório de dados kagglecom httpswwwkagglecomluisfredgsimdb ptbrdownload 2 Fazer o upload do arquivo para o HDFS do seu servidor Hadoop criado durante as aulas práticas a Caso precise de tutorial para esta etapa sugiro o seguinte link httpscarledwinticom20201224uploaddearquivosparaohdfscomavmda cloudera b Substitua o nome de arquivo cpfcsv pelo que usaremos neste trabalho imdb reviewsptbrcsv c No comando hdfs dfs mkdir p Coloque o nome de pasta que você desejar 3 Em seu prompt de comandos faça a Comando pyspark b Os próximos passos utilizarão o Spark com códigos em Python no pyspark shell 4 Com o pyspark shell aberto pelo servidor SPARK ou HADOOP a seção spark já é criada automaticamente e possui o nome spark não sendo necessário abrir nova seção Roteiro de Atividade Prática de Big Data 18 5 Para importarmos os dados do arquivo imdbreviewsptbrcsv e criar um Spark DataFrame com ele e então darmos sequência na mineração de dados utilize o seguinte comando a No comando abaixo é importante que você substitua os seguintes dados i HOST Substitua pelo endereço IP do seu host do HDFS da máquina virtual criada em aula prática Provavelmente sandbox hdphortonworkscom Para conferir acesse o hadoop pelo PuTTY mariadev1270012222 e veja dentro do arquivo coresitexml o valor da propriedade fsdefaultFS para abrir este arquivo instale o nano sudo yum nano e depois digite nano etchadoopconfcoresitexml ii PORT Substitua pela porta do seu host da máquina virtual provavelmente 8020 Veja a porta no mesmo arquivo coresitexml descrito anteriormente iii CAMINHO DA PASTA ONDE VOCÊ COLOCOU O ARQUIVO CSV Substitua pelo caminho da pasta na qual você colocou o arquivo imdb reviewsptbrcsv na sua máquina virtual do HADOOP b Comando imdbDf sparkreadcsvhdfsHOSTPORTCAMINHO DA PASTA ONDE VOCÊ COLOCOU O ARQUIVO CSVimdbreviewsptbrcsv Provavelmente imdbDf sparkreadcsvhdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv Você também poderá fazer imdbDf sparkreadcsvhdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv headerTrue quote escape encodingISO88591 Ou ainda imdbDf sparkreadcsv hdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv headerTrue quote escape encodingUTF8 c Perceba as opções de quote escape header e encoding Estas opções ajudarão a importação dos dados em português e podem ser usadas nos comandos anteriores também 6 Após carregado o arquivo no Spark DataFrame criado você poderá manipulálo da forma que achar necessário para encontrar as respostas das nossas perguntas deste trabalho mas antes é muito importante garantir que a importação não causou erros de parse como colunas com dados incorretos ou caracteres errados 7 Para visualizar os dados carregados utilize o comando a Comando imdbDfshow Roteiro de Atividade Prática de Big Data 19 Exemplo 3 Importação e carregamento do arquivo CSV no Google Colab com PySpark e linguagem Python 1 Para este projeto você precisará realizar o download do dataset IMDB PTBR disponível no repositório de dados kagglecom httpswwwkagglecomluisfredgsimdb ptbrdownload 2 Fazer o upload do arquivo para a pasta content do Google Colab arrastar arquivo para as pastas do menu Arquivos à esquerda a Caso queira importar seu arquivo diretamente de seu google drive faça from googlecolab import drive drivemountcontentdrive b Copiar o arquivo imdbreviewsptbrcsv do seu drive para a pasta contente cp contentdriveMyDrivepasta do seu arquivoimdbreviewsptbrcsv content 3 Instalar o pyspark no colab a Comando pip install pyspark 4 Importar a biblioteca e criar uma seção Spark from pysparksql import SparkSession spark SparkSessionbuildergetOrCreate 5 A partir deste ponto seguir os passos a partir da etapa 5 do exemplo 2 anterior É importante destacar que a é possível importar os dados de um arquivo CSV com o uso de uma função de parse manual que recupere cada linha do arquivo CSV e coloque no local certo porém esta solução é desnecessariamente complexa por necessitar tratamento diferente entre a primeira linha e as demais linhas e ainda não ser trivial a interpretação das separações de colunas de uso em frase de vírgulas ponto e vírgulas e aspas Exemplo 4 Outras opções Além da VM do Cloudera HDP Sandbox também é possível realizar esta tarefa pelo AWS Google Cloud Platform ou Azure porém existe o risco de se ultrapassar os limites gratuitos destas plataformas neste trabalho Para estes casos você deverá criar um cluster de 3 ou mais máquinas instalar o hadoop em uma delas NameNode e indicar as demais como DataNode1 até 3 No caso da AWS 1 Crie 4 servidores EC2 Ubuntu no maior nível gratuito possível provavelmente t2micro number of instances 4 2 Renomear as instâncias para NameNode DataNode1 DataNode2 e DataNode3 3 Pelo PuTTYGen crie a chave privada SSH2 RSA usando o arquivo pem gerado na criação das máquinas pelo AWS Roteiro de Atividade Prática de Big Data 20 4 Nas configurações do PuTTY em SSHAUTH e Escolha seu arquivo ppk gerado como chave privada para autenticação 5 No Putty configure o endereço do public DNS de cada máquina dado nas descrições de cada uma delas na porta 22 usuário ubuntu 6 Salve as configurações de acesso criadas de cada máquina 7 Teste os acessos perceba que suas máquinas no AWS devem estar rodandoativas para isso 8 Configure o WinSCP para envio de arquivos para os servidores Mesmos hosts porta 22 mesmo arquivo de autenticação gerado pelo PuTTYGen usuário ubuntu sem senha e protocolo SFPT 9 Teste os acessos remotos às pastas Aqui você pode enviar os arquivos para os servidores 10 Instale o openjdk7jdk copie os arquivos do hadood descompacte para usrlocal e mova todos os arquivos para a pasta usrlocalhadoop em todas as máquinas 11 Altere as permissões para a nova pasta do hadoop em todas as máquinas sudo chown R ubuntu usrlocalhadoop 12 Configure as variáveis de ambiente em todas as máquinas em homeubuntuprofile a Incluir no final deste arquivo export JAVAHOMEusr export PATHPATHJAVAHOMEbin export HADOOPHOMEusrlocalhadoop export PATHPATHHADOOPHOMEbin export HADOOPCONFDIRusrlocalhadoopetchadoop 13 Recarregue as variáveis de ambiente em todas as máquinas profile 14 Altere os arquivos coresitexml de todas as máquinas para conter a chave fsdefaultFS Exemplo configuration property namefsdefaultFSname valuehdfsseuDNSdecadamáquina9000value property configuration 15 Inclua no arquivo de etchosts de seu NameNode todos os IPs dos DataNodes e do NameNode antes do localhost 16 Inclua no seu NameNode a configuração do cluster no arquivo usrlocalhadoopetchadoophdfs sitexml configuration property namedfsreplicationname value3value property property namedfsnamenodenamedirname valuefileusrlocalhadoophadoopdatahdfsnamenodevalue property configuration 17 Crie no seu NameNode a pasta usrlocalhadoophadoopdatahdfsnamenode 18 Crie no seu NameNode o arquivo usrlocalhadoopetchadoopmasters Roteiro de Atividade Prática de Big Data 21 19 Apague o conteúdo do arquivo usrlocalhadoopetchadoopslaves e adicione os endereços DNS públicos de cada um dos seus DataNodes 20 Inclua em cada um dos DataNodes a configuração do cluster no arquivo usrlocalhadoopetchadoophdfssitexml configuration property namedfsreplicationname value3value property property namedfsdatanodedatadirname valuefileusrlocalhadoophadoopdatahdfsdatanodevalue property configuration 21 Crie em cada DataNode a pasta usrlocalhadoohadoopdatahdfsdatanode 22 Formate o HDFS no NameNode hdfs namenode format 23 Inicie o serviço do hadoop no NameNode usrlocalhadoopsbinstartdfssh 24 Teste o acesso em seu navegador SeuDNSpúblicodoNameNode50070 25 Inicie no NameNode o serviço do YARN usrlocalhadoopsbinstartyarnsh usrlocalhadoopsbinmrjobhistorydaemonsh start historyserver 26 Inicie o JPS no NameNode jps 27 Instale o Spark no NameNode Baixe os arquivos do spark e descompacte na pasta usrlocalspark 28 Configure as variáveis de ambiente no NameNode arquivo profile anteriormente visto export YARNCONFDIRHADOOPHOMEetchadoop export SPARKHOMEusrlocalspark export PATHPATHSPARKHOMEbin 29 Demais etapas são as mesmas do começo ao fim do exemplo 1 ou 2 30 Fim A seguir são explicadas as práticas a serem desenvolvida a fim de preencher corretamente o caderno de resolução explicado na seção Formato de Entrega Roteiro de Atividade Prática de Big Data 22 PRÁTICA 01 CONTAGEM DE INSTÂNCIAS Essa primeira prática foi idealizada como primeiro contato do aluno com o SparkHADOOP Sendo assim a dificuldade aumenta conforme a progressão dos itens pedidos Nessa prática você deverá descobrir utilizando sua máquina virtual com o Hadoop ou qualquer outra forma descrita anteriormente qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdbreviewsptbrcsv Sugestão de realização da tarefa 1 Escreva um script em Python ou Scala para somar a coluna id das entradas baseadas na coluna sentiment sentiment será a chave da dupla chavevalor para a etapa do map no mapreduce a Se o problema for de somar os ids adicione ao script uma função do map e outra do reduce para somar os ids b Se o problema for de contar palavras crie uma função de map que já retorne o número de palavras de cada entrada e crie uma função reduce que some todas as quantidades de todas as entradas Em Python sugiro usar o método split de strings para separar as frases em palavras e descartar os espaços em branco Usar split gerará erro na contagem Use a função len para contar as palavras c Sugiro que você crie apenas um script com todas os dados que precisará para que a execução seja feita toda de uma vez Não esqueça de criar uma saída com prints para que você possa entender o resultado apresentado 2 Considerando que os passos de carga do banco de dados já foram executados carregue o Script no servidor pelo Ambari 3 Copie o script para o HDFS pela interface do MariaDB hadoop fs copyToLocal seuscriptpy 4 Rode o script no Hadoop com seu usuário mariadev pelo PuTTY ou webshell pelo sparksubmit sparksubmit seuscriptpy OBS1 Utilizar ferramentas que não sejam de Big Data podem causar truncamento do banco de dados e perda de informações em sua análise OBS2 A execução dos passos sugeridos poderá ser diferente dependendo de sua instalação e ferramentas preferenciais OBS3 É possível executar esta atividade inteiramente pelo console do Spark e sem o uso do MariaDB ou pelo Google Colab OBS3 O uso da biblioteca Pandas resultará na perda total de nota na questão Roteiro de Atividade Prática de Big Data 23 PRÁTICA 02 CONTAGEM DE PALAVRAS Nessa prática você deverá contar todas as palavras existentes nos textos negativos em português e inglês e então informar quantas palavras a mais no total os textos em português possuem total de palavras dos textos negativos em português menos o total de palavras dos textos negativos em inglês Para tal crie um script em Python ou Scala e rodeo com sua máquina virtual Hadoop como feito na prática 1 Apesar de parecer simples esta é a primeira etapa para que possamos aplicar técnicas de Processamento de Linguagem Natural NLP que se inicia com o processo de toquenização de textos para encontrarmos dados estatísticos de cada palavra no texto como frequência em que aparecem Entretanto nesta tarefa apenas contaremos todas as palavras dos textos em inglês e português com sentimentos negativos e faremos uma subtração entre os valores Caso haja palavra repetida contaremos quantas vezes forem necessárias É necessário se preocupar em filtrar corretamente as avaliações de filmes para que apenas os textos marcados como negativos sejam contabilizados Se sua escolha for Python não será permitido o uso de bibliotecas como Pandas ou NLTK para esta tarefa apenas a biblioteca PySpark é permitida Sugestão de realização da tarefa 1 Escreva um script em Python ou Scala para contar as palavras dos textos em português e inglês onde a coluna sentiment seja igual a neg sentiment será a chave da dupla chavevalor para a etapa do map no mapreduce a Se o problema for de contar palavras crie uma função de map que já retorne o número de palavras de cada entrada e crie uma função reduce que some todas as quantidades de todas as entradas Em Python sugiro usar o método split de strings para separar as frases em palavras e descartar os espaços em branco Usar split com aspas e espaço entre as aspas gerará erro na contagem Use a função len para contar as palavras b Sugiro que você crie apenas um script com todas os dados que precisará para que a execução seja feita toda de uma vez para as duas práticas Não esqueça de criar uma saída com prints para que você possa entender o resultado apresentado 2 Considerando que os passos de carga do banco de dados já foram executados carregue o Script no servidor pelo Ambari 3 Copie o script para o HDFS pela interface do MariaDB hadoop fs copyToLocal seuscriptpy Roteiro de Atividade Prática de Big Data 24 4 Rode o script no Hadoop com seu usuário mariadev pelo PuTTY ou webshell pelo sparksubmit sparksubmit seuscriptpy OBS1 Utilizar ferramentas que não sejam de Big Data podem causar truncamento do banco de dados e perda de informações em sua análise OBS2 A execução dos passos sugeridos poderá ser diferente dependendo de sua instalação e ferramentas preferenciais OBS3 É possível executar esta atividade inteiramente pelo console do Spark e sem o uso do MariaDB ou pelo Google Colab OBS3 O uso da biblioteca Pandas resultará na perda total de nota na questão Roteiro de Atividade Prática de Big Data 25 RESPOSTAS AS DÚVIDAS MAIS FREQUÊNTES 1 Eu não tenho a máquina virtual com o Hadoop instalado em minha máquina Como farei a atividade prática R Siga as aulas práticas da Rota da aula prática 1 a 5 Lembrese de configurar a máquina virtual para usar apenas metade da memória do seu computador e metade dos processadores O indicado para esta tarefa é um computador dual core com 8GB de memória RAM e 90GB de HD livre Caso você não possua acesso à um equipamento como este você poderá desenvolver a atividade em seu polo que possui computador para tal ou usar alguma das soluções dadas na explicação como serviços de servidor em nuvem AWS AZURE ou GCP Instalar o Spark em sua máquina local necessário Linux ou WSL no Windows ou ainda usar o Google Colab 2 Onde baixo os softwares criar os scripts das atividades R Você poderá utilizar o Google Colab httpscolabresearchgooglecom de forma online ou instalar caso você tenha o Windows o Anaconda httpswwwanacondacomproductsindividual para gerenciamento dos pacotes e ambientes virtuais do Python Para criação do script qualquer editor de texto servirá porém sugiro a utilização do VSCode ou do PyCharm para esta tarefa Você poderá testar seus scripts com uso da biblioteca PySpark 3 Estou terminando o curso tem como fazer um questionário para atividade prática R Não 4 Eu não possuo máquina para realizar esta atividade Como devo proceder R Você poderá usar um computador em seu polo Nossas atividades são pensadas para execução em computador disponível nos polos porém você pode optar por usar sua própria máquina 5 Além de minha máquina ou a do polo tenho outra opção R Você poderá utilizar um dos serviços de servidor em nuvem como AWS GCP ou AZURE porém existe o risco de cobrança caso ultrapasse os limites de uso gratuito Cuidado Além disso em último caso você poderá usar o google colab apenas com a biblioteca PySpark para finalizar a tarefa porém esta opção limitará seu aprendizado sobre as ferramentas Hadoop e Spark Roteiro de Atividade Prática de Big Data 26 6 Preciso realizar algum tipo de análise ou processamento de linguagem natural nesta atividade R Não esta é uma atividade pensada apenas para colocar em prática seus conhecimentos de linguagem de programação lógica e Big Data Hadoop e Spark 7 Como pode a faculdade solicitar um trabalho que exija equipamentos que o aluno pode não possuir R Muitos dos conhecimentos que você deve aprender para trabalhar no mercado de trabalho são com base em materiais e equipamentos que você não possui ou não tem acesso fácil como servidores grandes bancos de dados roteadores e switches de grande porte equipamentos de grande porte e muitos outros Independentemente desta dificuldade você deve aprender a utilizar estas ferramentas para poder mostrar um desempenho melhor do que os demais no mercado de trabalho A qualidade do profissional que você será só depende de você e isto resultará em trabalhos mais bem remunerados no futuro Sendo assim desejo a todos um ótimo aprendizado e nos vemos na tutoria Atenciosamente Professor Guilherme D Patriota CADERNO DE RESPOSTAS DA ATIVIDADE PRÁTICA DE PROJETOS BIG DATA ALUNO IZAIAS 3049692 Caderno de Resposta Elaborado por Prof MSc Guilherme Ditzel Patriota ANO 2022 Roteiro de Atividade Prática de Big Data Prática 01 Somatório de IDs Questão Qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdbreviewsptbrcsv ENUNCIADO Nessa prática você deverá descobrir utilizando sua máquina virtual com o Hadoop ou Spark ou PySpark qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdb reviewsptbrcsv I Apresentação do Código não esquecer do identificador pessoal Figura 1 Código para a questão II Apresentação das ImagensPrint do resultado não esquecer do identificador Figura 2 Output do terminal III Responda à pergunta Qual o valor da soma de todos os campos id dos filmes classificados como negativos Resposta 247015948 1 Roteiro de Atividade Prática de Big Data 2 Roteiro de Atividade Prática de Big Data Prática 02 Diferença do número de palavras totais de português para inglês dos textos negativos Questão Contar palavras dos textos negativos e achar diferença de quantidade ENUNCIADO Nessa prática você deverá contar todas as palavras existentes nos textos negativos Português e Inglês e então deverá encontrar quantas palavras a mais no total os textos em português possuem Para tal crie um script em Python ou Scala e rodeo com sua máquina virtual Hadoop ou Spark ou PySpark como feito na prática 1 É necessário se preocupar em filtrar corretamente as avaliações de filmes para que apenas os textos marcados como negativos sejam contabilizados I Apresentação do Código não esquecer do identificador pessoal Figura 3 Código para a questão II Apresentação das ImagensPrint do resultado não esquecer do identificador Figura 4 Output do Terminal III Responda à pergunta Qual o número total de palavras a mais que os textos negativos em português possuem em comparação com a soma total das palavras dos textos negativos em inglês independentemente de serem repetidas Resposta15589 3
Send your question to AI and receive an answer instantly
Recommended for you
12
Roteiro de Atividade Prática: Lógica de Programação e Algoritmos
Introdução à Lógica e Programação
UNINTER
57
Atividade Pratica Lógica de Programação e Algoritmos - Resolução de Problemas em Python
Introdução à Lógica e Programação
UNINTER
11
Atividade Pratica Lógica de Programação e Algoritmos - Calculo de Vendas e Sorveteria em Python
Introdução à Lógica e Programação
UNINTER
11
DER-Diagrama-Entidade-Relacionamento-Biblioteca-MySQL-Workbench
Introdução à Lógica e Programação
UNIA
1
Game de Obstaculos com Javascript CSS HTML e Canvas no VS Code
Introdução à Lógica e Programação
UNIFAA
3
AVC-Avaliação Continua-Modelo de Folha de Resposta-Criterios de Avaliacao
Introdução à Lógica e Programação
UNISA
1
Resenha Tematica Descritiva Revisao e Inspecao em Metodos Ageis
Introdução à Lógica e Programação
UNIJUI
2
Resolucao de Questoes sobre Qualidade de Software e Gestao da Capacidade
Introdução à Lógica e Programação
UNISA
5
Aula 2: Estruturas Avançadas em PHP - Arrays e Arquivos
Introdução à Lógica e Programação
UNOPAR
2
Planejamento de Jogo Digital: Criação de Prólogo, Mapas e Personagens
Introdução à Lógica e Programação
UNISA
Preview text
CADERNO DE RESPOSTAS DA ATIVIDADE PRÁTICA DE PROJETOS BIG DATA ALUNO INSERIR NOME E RU Caderno de Resposta Elaborado por Prof MSc Guilherme Ditzel Patriota ANO 2022 Roteiro de Atividade Prática de Big Data Prática 01 Somatório de IDs Questão Qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdbreviewsptbrcsv ENUNCIADO Nessa prática você deverá descobrir utilizando sua máquina virtual com o Hadoop ou Spark ou PySpark qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdb reviewsptbrcsv I Apresentação do Código não esquecer do identificador pessoal COLOCAR IMAGEM DO CÓDIGO AQUI Figura 1 INSERIR LEGENDA II Apresentação das ImagensPrint do resultado não esquecer do identificador COLOCAR FOTO AQUI Figura 2 INSERIR LEGENDA III Responda à pergunta Qual o valor da soma de todos os campos id dos filmes classificados como negativos Resposta COLOCAR RESPOSTA AQUI 1 Roteiro de Atividade Prática de Big Data Prática 02 Diferença do número de palavras totais de português para inglês dos textos negativos Questão Contar palavras dos textos negativos e achar diferença de quantidade ENUNCIADO Nessa prática você deverá contar todas as palavras existentes nos textos negativos Português e Inglês e então deverá encontrar quantas palavras a mais no total os textos em português possuem Para tal crie um script em Python ou Scala e rodeo com sua máquina virtual Hadoop ou Spark ou PySpark como feito na prática 1 É necessário se preocupar em filtrar corretamente as avaliações de filmes para que apenas os textos marcados como negativos sejam contabilizados I Apresentação do Código não esquecer do identificador pessoal COLOCAR IMAGEM DO CÓDIGO AQUI Figura 3 INSERIR LEGENDA II Apresentação das ImagensPrint do resultado não esquecer do identificador COLOCAR FOTO AQUI Figura 4 INSERIR LEGENDA III Responda à pergunta Qual o número total de palavras a mais que os textos negativos em português possuem em comparação com a soma total das palavras dos textos negativos em inglês independentemente de serem repetidas Resposta COLOCAR RESPOSTA AQUI 2 ATIVIDADE PRÁTICA BIG DATA Roteiro Elaborado por Prof MSc Guilherme Ditzel Patriota ANO 2022 Roteiro de Atividade Prática de Big Data 1 INTRODUÇÃO Olá a todos Sejam todos muito bemvindos Esta avaliação foi planejada e preparada para as disciplinas de Big Data dos Cursos de Tecnologia em Ciência de Dados e Engenharia da Computação da Centro Universitário Internacional Uninter O objetivo desta atividade é fazer com que você aluno desenvolva os conhecimentos teóricos aprendidos na rota de maneira práticas e aplicável no mercado de trabalho Para tanto será necessário o uso da instalação do Hadoop e Spark em máquina virtual criada nas aulas práticas 1 e 2 ou instalação do Spark em seu sistema ou uso da biblioteca PySpark em conjunto com o Google Colab Esta prática é baseada na aula prática 5 sobre o Spark com Hadoop Ao longo desse roteiro serão passadas as orientações gerais para realização da avaliação bem como os seus critérios de correção Na sequência apresentase um exemplo comentado de como se deve ser entregue uma questão Seguindo o roteiro estarão as práticas a serem realizadas cada uma delas possui uma explicação de como deve ser feita e como será cobrada e algumas dicas Por fim apresento uma seção as com as respostas das dúvidas mais frequentes realizadas por vocês Bons estudos No mais desejolhe boa atividade prática em nome dos professores da disciplina de Big Data Roteiro de Atividade Prática de Big Data 2 LISTA DE FIGURAS Figura 1 Resultado do somatório de todos os valores de cada pedido do banco de dados feito no Hadoop com MariaDB 12 Roteiro de Atividade Prática de Big Data 3 LISTA DE TABELAS Tabela 1 Possíveis notas no formato de apresentação 7 Tabela 2 Possíveis notas critério de Identificação Pessoal 8 Tabela 3 Possíveis notas na apresentação do código 9 Tabela 4 Possíveis notas na apresentação das imagensfotos 10 Tabela 5 Possíveis notas na apresentação das respostas 11 Roteiro de Atividade Prática de Big Data 4 SUMÁRIO INTRODUÇÃO 1 LISTA DE FIGURAS 2 LISTA DE TABELAS 3 ORIENTAÇÕES GERAIS 5 FORMATO DE ENTREGA 5 CRITÉRIOS DE AVALIAÇÃO 6 FORMATO DA APRESENTAÇÃO 7 IDENTIFICAÇÃO PESSOAL 8 CÓDIGO 9 IMAGENSPRINTS 10 EXEMPLO DE APRESENTAÇÃO DE QUESTÃO 12 PRÁTICAS 13 MOTIVAÇÃO DO TRABALHO 13 DESCRIÇÃO DO PROJETO 13 DESCRIÇÃO DO CONJUNTO DE DADOS 13 OBJETIVO DO PROJETO 14 PASSOS INICIAIS 15 PRÁTICA 01 SOMATÓRIO DE IDS 22 PRÁTICA 02 DIFERENÇA NA SOMA DE PALAVRAS 23 RESPOSTAS AS DÚVIDAS MAIS FREQUÊNTES 25 Roteiro de Atividade Prática de Big Data 5 ORIENTAÇÕES GERAIS FORMATO DE ENTREGA A entrega desta atividade prática deverá ser realizada pela área de Trabalhos contendo os prints das duas resoluções no software com o código usado o resultado da questão e mais o seu RU digitado na linha de comandos no HadoopSparkMariaDB e no seu código sua IP Identificação Pessoal O formato de entrega desejável dos prints das práticas desse roteiro deve estar de acordo com o que é visto na seção EXEMPLO DE APRESENTAÇÃO DE PRÁTICA Recomendase que os trabalhos sejam enviados no formato pdf Uma vez que formatos doc ou docx podem apresentar falhas do tipo na codificação carregamento ou apresentação de imagens Sendo assim fica por conta e risco do estudante se houver problemas com o documento enviados no formato doc ou docx ou outro formato editável Trabalhos feitos em outra forma que não seja utilizando SPARK HADOOP ou o PySpark perderão metade da nota total referente aos prints de execução Roteiro de Atividade Prática de Big Data 6 CRITÉRIOS DE AVALIAÇÃO Os critérios de avaliação desse trabalho visam deixar a avaliação o mais justa e transparente possível Nessa avaliação cada questão valerá 2000 pontos sendo um total de 40 pontos de trabalho Cada questão será composta por print do código print da tela do HadoopSparkMariaDBColab com o resultado e resposta da questão As questões serão avaliadas e corrigidas individualmente conforme a seguinte equação 𝑁 𝐹𝐸 𝐼𝑃 𝐶𝑂𝐷 𝐼𝑀𝐺 𝑅𝐸𝑆𝑃 15 Em que 𝑁 𝑁𝑜𝑡𝑎 𝑑𝑎 𝑄𝑢𝑒𝑠𝑡ã𝑜 Nota total da questão podendo variar de 0 até 20 𝐹𝐸 𝐹𝑜𝑟𝑚𝑎𝑡𝑜 𝑑𝑎 𝐸𝑛𝑡𝑟𝑒𝑔𝑎 Nota do Formato de Entrega podendo variar de 0 até 1 𝐼𝑃 𝐼𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑐𝑎çã𝑜 𝑃𝑒𝑠𝑠𝑜𝑎𝑙 Nota Identificação Pessoal podendo variar de 0 até 1 𝐶𝑂𝐷 𝐶ó𝑑𝑖𝑔𝑜 Nota do Código usado podendo variar de 0 até 100 𝐼𝑀𝐺𝐼𝑚𝑎𝑔𝑒𝑛𝑠 Nota da Imagem com resultado correto podendo variar de 0 até 100 𝑅𝐸𝑆𝑃𝑅𝑒𝑠𝑝𝑜𝑠𝑡𝑎 Nota da Resposta com resultado correto podendo ser 0 ou 100 Cada um dos itenscritérios que compõe a equação acima será detalhado nas subseções a seguir Se mesmo assim houver dúvidas não hesite em perguntar O desconhecimento dos critérios não será aceito como desculpa Roteiro de Atividade Prática de Big Data 7 FORMATO DA APRESENTAÇÃO O formato da apresentação é um dos critérios de avaliação pois um profissional deve ser capaz de seguir normas no momento de elaboração de relatórios técnicos manuais e outros documentos afins bem como ser capaz de apresentar seus dados de forma limpa e compreensível As possíveis notas desse critério são apresentadas na tabela a seguir Tabela 1 Possíveis notas no formato de apresentação NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Formato da apresentação está correto Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE PRÁTICA para maiores detalhes 070 Formato da apresentação está parcialmente correto Está muito próximo do exemplo mas apresenta alguns erros 050 Formato da apresentação está incorreto Não seguiu o exemplo Roteiro de Atividade Prática de Big Data 8 IDENTIFICAÇÃO PESSOAL Todas as questões deverão apresentar um identificador pessoal nas seguintes partes No código deve haver ao menos uma variável cujo nome seja composto pelo seu RU eg contadorxxxxxx onde o x s deve ser substituído pelo seu RU mesmo que esta variável não seja utilizada em nenhuma parte do código Nas imagensprints do Hadoop onde deverá conter seu RU escrito na linha de comandos do HADOOPSPARKMariaDBGoogle Colab As possíveis notas para esse critério são apresentadas na tabela a seguir Tabela 2 Possíveis notas critério de Identificação Pessoal NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Apresentou o identificador pessoal no código e nas imagensfotos Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE QUESTÃO para maiores detalhes 080 Apresentou identificador pessoal na imagem mas não no código Não apresentou um identificador no código eg o RU como parte do nome de uma variável 070 Apresentou o identificador pessoal no código mas não nas imagensprints Não apresentou um identificador na imagem exemplo Linha de comandos do MariaDB com o RU do aluno 050 Não apresentou identificador pessoal no código e nem nas imagensprints Questão sem nenhuma identificação de autoria 000 Apresentou o identificador de outra pessoa nas prints eou no código A questão veio com identificador pessoal de outra pessoa Roteiro de Atividade Prática de Big Data 9 CÓDIGO A apresentação dos códigos compõe um terço da nota total das questões Este será avaliado conforme a tabela a seguir As possíveis notas para esse critério são apresentadas na tabela a seguir Tabela 3 Possíveis notas na apresentação do código NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Código coerente com a resposta encontrada e apresentado no formato imagem Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE QUESTÃO para maiores detalhes 70 Código coerente com a resposta encontrada e apresentado no formato texto Acertou o código mas copiou o texto do código ao invés de tirar print 60 Código parcialmente correto e apresentado no formato imagem Errou um pouco código mas colocou no trabalho no formato imagem 40 Código parcialmente correto e apresentado no formato texto Errou um pouco código e copiou o texto do código ao invés de tirar print 0 Sem código ou com código incorreto A questão não apresentou código ou o código estava errado OBS 1 NÃO ESQUECER DO IDENTIFICADOR PESSOAL Ex COLOCAR SEU RU NO NOME DE UMA VARIÁVEL DO PROGRAMA OBS 2 CÓDIGOS EXECUTADOS SEM USO DO SPARK OU PYSPARK TERÃO 100 DA NOTA REDUZIDA Roteiro de Atividade Prática de Big Data 10 IMAGENSPRINTS As imagens compõem um terço da nota total de cada questão Essas normalmente são prints da tela com o código ou os softwares em excussão Cada práticaquestão dessa atividade prática virá com instruções de como devem ser esses prints Entendese que a legenda faz parte de uma imagem Sendo assim as legendas serão avaliadas As possíveis notas para esse critério são apresentadas na tabela a seguir Tabela 4 Possíveis notas na apresentação das imagensfotos NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Imagens corretas e com legenda adequada Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE QUESTÃO para maiores detalhes 90 Imagens correta mas com legenda superficial Ex de legenda superficial Figura 1 Código em Python 80 Imagens corretas mas com legenda precária Ex de legenda precária Figura 1 Código 70 Imagens correta mas sem legenda Apresentou imagens corretas mas não colocou legenda 60 Imagens parcialmente corretas mas com legenda adequada Imagem que não consiga identificar o que esteja acontecendo ou a falta de uma das imagens se encaixam nesse grupo 50 Imagens parcialmente correta e com legenda superficial Similar ao segundo item de cima para baixo dessa tabela mas com pelo menos uma das imagens com problemas 40 Imagens parcialmente corretas e com legenda precária Similar ao terceiro item de cima para baixo dessa tabela mas com pelo menos uma das imagens com problemas 30 Imagens parcialmente correta e sem legenda Similar ao quarto item de cima para baixo dessa tabela mas com pelo menos uma das imagens com problemas 0 Sem imagens ou com imagens incorretas A questão veio sem imagens ou com imagens erradas OBS 1 NÃO ESQUECER DO IDENTIFICADOR PESSOAL Ex DIGITAR SEU RU NA LINHA DE COMANDO QUE APAREÇA NO PRINT Roteiro de Atividade Prática de Big Data 11 RESPOSTA A apresentação da resposta correta será avaliada de forma booleana As possíveis notas para esse critério são 0 ou 100 Tabela 5 Possíveis notas na apresentação das respostas NOTA DESCRIÇÃO NA DEVOLUTIVA COMENTÁRIOS 100 Resposta correta Está de acordo com o exemplo ver a seção EXEMPLO DE APRESENTAÇÃO DE QUESTÃO para maiores detalhes 0 Resposta incorreta A questão não apresentou a resposta correta para a pergunta Roteiro de Atividade Prática de Big Data 12 EXEMPLO DE APRESENTAÇÃO DE QUESTÃO Prática XX Pedidos de clientes com valor Questão XX Consolidação dos valores de cada pedido Enunciado Encontre o valor total de cada pedido feito I Apresentação do Código não esquecer do identificador pessoal II Apresentação das ImagensPrints não esquecer do identificador pessoal a Print do resultado para soma do valor total de pedidos Figura 1 Resultado do somatório de todos os valores de cada pedido do banco de dados feito no Hadoop com MariaDB III Responda à pergunta Qual o maior valor de pedido Resposta O maior valor encontrado foi o da comanda de id 50 no valor de 454123 OBS1 Nas suas imagens não precisa circular e apontar o identificador pessoal OBS2 Perceba que toda a atividade está contida numa só página OBS3 Optouse por juntar as imagens do código No entanto não houve perda de clareza e organização Roteiro de Atividade Prática de Big Data 13 PRÁTICAS As práticas desse roteiro utilizam a máquina virtual com Hadoop Spark e MariaDB criados nas aulas práticas da rota Sugerimos o uso do HDP Cloudera 265 por ser mais leve do que o mais atual O processo de download pode ser encontrado nos documentos adicionais de nossa rota de estudos MOTIVAÇÃO DO TRABALHO Saber criar uma estrutura de Big Data é imprescindível para profissionais Cientistas de Dados Os conhecimentos necessários vão de criação de servidores dedicados clusters ou máquinas virtuais a mineração representação e interação com grandes quantidades de dados Muitas empresas utilizam miniprojetos como este que faremos para filtrar seus candidatos e buscar os melhores talentos no mercado Sabendo disso idealizamos esta atividade para que você possa treinar e aplicar seus conhecimentos adquiridos nas aulas teóricas e práticas Este projeto será feito com utilização dos servidores em máquinas virtuais criados nas aulas práticas para que um conjunto grande de dados seja adquirido estruturado filtrado e minerado DESCRIÇÃO DO PROJETO Um famoso conjunto de dados também chamado de dataset é a muito utilizado para criação de modelos de processamento de linguagem natural e de clusterização classificação em grupos para análise de textos que apresentem algum tipo de sentimento seja ele positivo ou negativo Estamos falando sobre o dataset IMDB um conjunto de textos com reviews de filmes diversos Vamos utilizar neste projeto a versão traduzida para português destes dados É importante sabermos que neste trabalho não faremos nenhum tipo de processamento de linguagem natural apenas utilizaremos o dataset IMDB como exemplo e realizaremos coletas de informações simples sobre mesmo DESCRIÇÃO DO CONJUNTO DE DADOS O conjunto de dados IMDB PTBR é uma tradução para português do famoso conjunto de dados IMDB usado para criação de classificadores automatizados de texto em textos positivos e negativos Traduzido por Luís Fred e publicado na plataforma Kaggle httpswwwkagglecomluisfredgsimdbptbr de forma livre e gratuita estes dados foram muito usados em pesquisas científicas nas áreas de Ciência de Dados e Big Data Roteiro de Atividade Prática de Big Data 14 O arquivo postado por Fred está em formato CSV possui aproximadamente 125 MB com pouco menos de 50 mil registros e conta com 4 coluna de dados referentes a resenhas de filmes com classificação em positivo ou negativo conforme o sentimento expressado pelo texto da resenha Cada registro de resenha possui seu texto original em inglês e uma tradução em português sendo duas das quatro colunas existentes texten e textpt respectivamente As outras duas colunas de dados são id um número sequencial de identificação de cada resenha e sentiment uma coluna de com informação binária pos com aproximadamente 50 dos dados e neg com os outros 50 das resenhas OBJETIVO DO PROJETO Nosso objetivo com este dataset é responder as duas questões que se encontram neste documento criar o relatório da atividade prática conforme modelo apresentado anteriormente e publicar em Trabalhos Para que as questões possam ser respondidas será necessário que você utilize o Spark Hadoop em conjunto com outras ferramentas aprendidas em aula De forma resumida você deverá cumprir os seguintes passos mínimos para finalizar esta tarefa 1 AQUISIÇÃO Fazer o download do dataset no link fornecido abaixo 2 ESTRUTURAÇÃO Carregar o dataset no HDFS do hadoop em sua máquina virtual ou local ou imagem Docker ou Google Colab e carregar uma visualização formatada dos dados um Spark DataFrame o uso da biblioteca Pandas para criação do DataFrame não será aceito neste trabalho Aqui você deverá importar o dataset para um Spark DataFrame Certifique se de que seus dados foram importados corretamente Este dataset em particular pode gerar diversos erros de importação por conta de a língua portuguesa conter diversos símbolos menos comuns em inglês como vírgulas e acentuações 3 FILTRAGEM Informações desnecessárias espaços duplicados e demais artefatos irrelevantes ao projeto deverão ser filtrados para obtenção do dado corretamente analisado Outras técnicas poderão ser necessárias nesta etapa para um resultado mais preciso 4 MINERAÇÃO Agrupar os dados de forma a obter as respostas solicitadas nas perguntas com uso ou de algoritmo em python sparksubmit xyzpy ou com uso de linguagem Scala O uso da biblioteca PySpark no Google Colab também será aceito nesta etapa mas não o uso da biblioteca Pandas 5 REPRESENTAÇÃO Criar uma forma visual de analisar os dados pode ser muito útil para garantir a precisão das suas respostas Nesta etapa é importante que você revise seus passos e verifique se o seu resultado é coerente Lembrese Mineração de dados só será útil se você souber o que está buscando Confira cada etapa do seu processamento antes de aceitar qualquer resultado 6 REFINAMENTO Encontrou alguma divergência em seus resultados que pode ser solucionada Agora é o momento de voltar no seu processo e melhorálo 7 INTERAÇÃO Esta etapa é o fruto de nosso trabalho em Big Data mas para este trabalho utilize as questões aqui descritas para garantir sua resposta o mais precisa possível e depois vá ao UNIVIRTUS na área de trabalho da nossa matéria e poste seu relatório com as respostas e prints das questões lá Roteiro de Atividade Prática de Big Data 15 Para dar um pontapé inicial em nosso projeto seguem alguns passos iniciais levando em consideração que você já tem todas as etapas das aulas práticas replicadas em sua máquina local PASSOS INICIAIS Neste projeto serão utilizados os servidores feitos em máquinas virtuais durante as aulas práticas que exigem ao menos 8GB de memória RAM instalados em seu computador e um processador de ao menos 2 núcleos mas você poderá realizar esta prática de diversas outras formas mostradas abaixo Utilização de containers Docker para criação dos servidores necessários Uso de serviços como AWS para criação dos servidores e instalação do Hadoop e Spark Uso de sua máquina local para instalar o Spark necessário possuir Linux ou WSL instalado Uso do Google Colab com Spark e biblioteca PySpark esta é a opção mais barata e leve de todas porém você não terá o contato completo com um servidor SPARK ou HADOOP como sugerido por este trabalho Caso você queira se desafiar e ao mesmo tempo aprender a utilizar uma nova ferramenta muito cobrada em entrevistas de emprego e em startups sugiro a utilização do Docker como ferramenta de virtualização dos servidores porém esta é a opção que mais exigirá recursos de seu computador Além do exemplo usado abaixo você também pode realizar os mesmos procedimentos feitos na aula prática 5 de Spark para carregar pelo Ambari e filtrar os dados com uso do PySpark e linguagem Python em conjunto com o MariaDB Exemplo 1 Importação e carregamento do arquivo CSV no Hadoop com apache Spark em linguagem SCALA 1 Para este projeto você precisará realizar o download do dataset IMDB PTBR disponível no repositório de dados kagglecom httpswwwkagglecomluisfredgsimdb ptbrdownload 2 Fazer o upload do arquivo para o HDFS do seu servidor Hadoop criado durante as aulas práticas a Caso precise de tutorial para esta etapa sugiro o seguinte link httpscarledwinticom20201224uploaddearquivosparaohdfscomavmda cloudera b Substitua o nome de arquivo cpfcsv pelo que usaremos neste trabalho imdb reviewsptbrcsv c No comando hdfs dfs mkdir p Coloque o nome de pasta que você desejar Roteiro de Atividade Prática de Big Data 16 3 Em seu prompt de comandos faça a inclusão do pacote sparkcsv ao abrir o sparkshell httpssparkpackagesorgpackagedatabrickssparkcsv a Comando sparkshell packages comdatabrickssparkcsv210150 ou sparkshell packages comdatabrickssparkcsv211150 ou sparkshell b Os próximos passos utilizarão o Spark com códigos em Scala no sparkshell 4 Com o sparkshell aberto importe o SQLContext para permitir a leitura do arquivo CSV a Comando import orgapachesparksqlSQLContext 5 Para realizarmos a interpretação dos dados no arquivo imdbreviewsptbrcsv é necessário criarmos uma instância do SQLContext com o seguinte comando dependendo da versão do HDP pode ser que a seção já exista com nome de spark em substituição ao sqlC a Comando val sqlC new SQLContextsc 6 Por fim vamos importar os dados do arquivo imdbreviewsptbrcsv e criar um Spark DataFrame com ele para que possamos dar sequência na mineração de dados Para tal utilize o seguinte comando a No comando abaixo é importante que você substitua os seguintes dados i HOST Substitua pelo endereço IP do seu host do HDFS da máquina virtual criada em aula prática Provavelmente sandbox hdphortonworkscom Para conferir acesse o hadoop pelo PuTTY mariadev1270012222 e veja dentro do arquivo coresitexml o valor da propriedade fsdefaultFS para abrir este arquivo instale o nano sudo yum nano e depois digite nano etchadoopconfcoresitexml ii PORT Substitua pela porta do seu host da máquina virtual provavelmente 8020 Veja a porta no mesmo arquivo coresitexml descrito anteriormente iii CAMINHO DA PASTA ONDE VOCÊ COLOCOU O ARQUIVO CSV Substitua pelo caminho da pasta na qual você colocou o arquivo imdb reviewsptbrcsv na sua máquina virtual do HADOOP b Comando val imdbDf sqlCreadformatcomdatabrickssparkcsvoptionheadertrueoptioninferSch ematrueloadhdfsHOSTPORTCAMINHO DA PASTA ONDE VOCÊ COLOCOU O ARQUIVO CSVimdbreviewsptbrcsv Provavelmente val imdbDf sqlCreadformatcomdatabrickssparkcsvoptionheader trueoptioninferSchema trueloadhdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv Você também poderá fazer Roteiro de Atividade Prática de Big Data 17 val imdbDf sqlCreadformatcsvoptionheader trueoptioninferSchema trueloadhdfssandboxhdphortonworkscom8020homemariadevimdb reviewsptbrcsv Ou ainda val imdbDf sqlCreadoptionheader trueoptionquote optionescapecsvhdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv Perceba as duas opções de quote e escape Estas opções ajudarão a importação dos dados em português e podem ser usadas nos comandos anteriores também 7 Após carregado o arquivo no DataFrame criado você poderá manipulálo da forma que achar necessário para encontrar as respostas das nossas perguntas deste trabalho mas antes é muito importante garantir que a importação não causou erros de parse como colunas com dados incorretos 8 Para visualizar os dados carregados utilize o comando a Comando imdbDfshow Caso esteja utilizando o Hadoop Cloudera sugiro seguir os passos mostrados nas aulas práticas carga pelo Ambari ou utilizar o seguinte tutorial para carga dos dados httpscarledwinticom20201228comolercsvdohdfshadoopcloudera Exemplo 2 Importação e carregamento do arquivo CSV no Hadoop com apache Spark em linguagem Python 1 Para este projeto você precisará realizar o download do dataset IMDB PTBR disponível no repositório de dados kagglecom httpswwwkagglecomluisfredgsimdb ptbrdownload 2 Fazer o upload do arquivo para o HDFS do seu servidor Hadoop criado durante as aulas práticas a Caso precise de tutorial para esta etapa sugiro o seguinte link httpscarledwinticom20201224uploaddearquivosparaohdfscomavmda cloudera b Substitua o nome de arquivo cpfcsv pelo que usaremos neste trabalho imdb reviewsptbrcsv c No comando hdfs dfs mkdir p Coloque o nome de pasta que você desejar 3 Em seu prompt de comandos faça a Comando pyspark b Os próximos passos utilizarão o Spark com códigos em Python no pyspark shell 4 Com o pyspark shell aberto pelo servidor SPARK ou HADOOP a seção spark já é criada automaticamente e possui o nome spark não sendo necessário abrir nova seção Roteiro de Atividade Prática de Big Data 18 5 Para importarmos os dados do arquivo imdbreviewsptbrcsv e criar um Spark DataFrame com ele e então darmos sequência na mineração de dados utilize o seguinte comando a No comando abaixo é importante que você substitua os seguintes dados i HOST Substitua pelo endereço IP do seu host do HDFS da máquina virtual criada em aula prática Provavelmente sandbox hdphortonworkscom Para conferir acesse o hadoop pelo PuTTY mariadev1270012222 e veja dentro do arquivo coresitexml o valor da propriedade fsdefaultFS para abrir este arquivo instale o nano sudo yum nano e depois digite nano etchadoopconfcoresitexml ii PORT Substitua pela porta do seu host da máquina virtual provavelmente 8020 Veja a porta no mesmo arquivo coresitexml descrito anteriormente iii CAMINHO DA PASTA ONDE VOCÊ COLOCOU O ARQUIVO CSV Substitua pelo caminho da pasta na qual você colocou o arquivo imdb reviewsptbrcsv na sua máquina virtual do HADOOP b Comando imdbDf sparkreadcsvhdfsHOSTPORTCAMINHO DA PASTA ONDE VOCÊ COLOCOU O ARQUIVO CSVimdbreviewsptbrcsv Provavelmente imdbDf sparkreadcsvhdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv Você também poderá fazer imdbDf sparkreadcsvhdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv headerTrue quote escape encodingISO88591 Ou ainda imdbDf sparkreadcsv hdfssandbox hdphortonworkscom8020homemariadevimdbreviewsptbrcsv headerTrue quote escape encodingUTF8 c Perceba as opções de quote escape header e encoding Estas opções ajudarão a importação dos dados em português e podem ser usadas nos comandos anteriores também 6 Após carregado o arquivo no Spark DataFrame criado você poderá manipulálo da forma que achar necessário para encontrar as respostas das nossas perguntas deste trabalho mas antes é muito importante garantir que a importação não causou erros de parse como colunas com dados incorretos ou caracteres errados 7 Para visualizar os dados carregados utilize o comando a Comando imdbDfshow Roteiro de Atividade Prática de Big Data 19 Exemplo 3 Importação e carregamento do arquivo CSV no Google Colab com PySpark e linguagem Python 1 Para este projeto você precisará realizar o download do dataset IMDB PTBR disponível no repositório de dados kagglecom httpswwwkagglecomluisfredgsimdb ptbrdownload 2 Fazer o upload do arquivo para a pasta content do Google Colab arrastar arquivo para as pastas do menu Arquivos à esquerda a Caso queira importar seu arquivo diretamente de seu google drive faça from googlecolab import drive drivemountcontentdrive b Copiar o arquivo imdbreviewsptbrcsv do seu drive para a pasta contente cp contentdriveMyDrivepasta do seu arquivoimdbreviewsptbrcsv content 3 Instalar o pyspark no colab a Comando pip install pyspark 4 Importar a biblioteca e criar uma seção Spark from pysparksql import SparkSession spark SparkSessionbuildergetOrCreate 5 A partir deste ponto seguir os passos a partir da etapa 5 do exemplo 2 anterior É importante destacar que a é possível importar os dados de um arquivo CSV com o uso de uma função de parse manual que recupere cada linha do arquivo CSV e coloque no local certo porém esta solução é desnecessariamente complexa por necessitar tratamento diferente entre a primeira linha e as demais linhas e ainda não ser trivial a interpretação das separações de colunas de uso em frase de vírgulas ponto e vírgulas e aspas Exemplo 4 Outras opções Além da VM do Cloudera HDP Sandbox também é possível realizar esta tarefa pelo AWS Google Cloud Platform ou Azure porém existe o risco de se ultrapassar os limites gratuitos destas plataformas neste trabalho Para estes casos você deverá criar um cluster de 3 ou mais máquinas instalar o hadoop em uma delas NameNode e indicar as demais como DataNode1 até 3 No caso da AWS 1 Crie 4 servidores EC2 Ubuntu no maior nível gratuito possível provavelmente t2micro number of instances 4 2 Renomear as instâncias para NameNode DataNode1 DataNode2 e DataNode3 3 Pelo PuTTYGen crie a chave privada SSH2 RSA usando o arquivo pem gerado na criação das máquinas pelo AWS Roteiro de Atividade Prática de Big Data 20 4 Nas configurações do PuTTY em SSHAUTH e Escolha seu arquivo ppk gerado como chave privada para autenticação 5 No Putty configure o endereço do public DNS de cada máquina dado nas descrições de cada uma delas na porta 22 usuário ubuntu 6 Salve as configurações de acesso criadas de cada máquina 7 Teste os acessos perceba que suas máquinas no AWS devem estar rodandoativas para isso 8 Configure o WinSCP para envio de arquivos para os servidores Mesmos hosts porta 22 mesmo arquivo de autenticação gerado pelo PuTTYGen usuário ubuntu sem senha e protocolo SFPT 9 Teste os acessos remotos às pastas Aqui você pode enviar os arquivos para os servidores 10 Instale o openjdk7jdk copie os arquivos do hadood descompacte para usrlocal e mova todos os arquivos para a pasta usrlocalhadoop em todas as máquinas 11 Altere as permissões para a nova pasta do hadoop em todas as máquinas sudo chown R ubuntu usrlocalhadoop 12 Configure as variáveis de ambiente em todas as máquinas em homeubuntuprofile a Incluir no final deste arquivo export JAVAHOMEusr export PATHPATHJAVAHOMEbin export HADOOPHOMEusrlocalhadoop export PATHPATHHADOOPHOMEbin export HADOOPCONFDIRusrlocalhadoopetchadoop 13 Recarregue as variáveis de ambiente em todas as máquinas profile 14 Altere os arquivos coresitexml de todas as máquinas para conter a chave fsdefaultFS Exemplo configuration property namefsdefaultFSname valuehdfsseuDNSdecadamáquina9000value property configuration 15 Inclua no arquivo de etchosts de seu NameNode todos os IPs dos DataNodes e do NameNode antes do localhost 16 Inclua no seu NameNode a configuração do cluster no arquivo usrlocalhadoopetchadoophdfs sitexml configuration property namedfsreplicationname value3value property property namedfsnamenodenamedirname valuefileusrlocalhadoophadoopdatahdfsnamenodevalue property configuration 17 Crie no seu NameNode a pasta usrlocalhadoophadoopdatahdfsnamenode 18 Crie no seu NameNode o arquivo usrlocalhadoopetchadoopmasters Roteiro de Atividade Prática de Big Data 21 19 Apague o conteúdo do arquivo usrlocalhadoopetchadoopslaves e adicione os endereços DNS públicos de cada um dos seus DataNodes 20 Inclua em cada um dos DataNodes a configuração do cluster no arquivo usrlocalhadoopetchadoophdfssitexml configuration property namedfsreplicationname value3value property property namedfsdatanodedatadirname valuefileusrlocalhadoophadoopdatahdfsdatanodevalue property configuration 21 Crie em cada DataNode a pasta usrlocalhadoohadoopdatahdfsdatanode 22 Formate o HDFS no NameNode hdfs namenode format 23 Inicie o serviço do hadoop no NameNode usrlocalhadoopsbinstartdfssh 24 Teste o acesso em seu navegador SeuDNSpúblicodoNameNode50070 25 Inicie no NameNode o serviço do YARN usrlocalhadoopsbinstartyarnsh usrlocalhadoopsbinmrjobhistorydaemonsh start historyserver 26 Inicie o JPS no NameNode jps 27 Instale o Spark no NameNode Baixe os arquivos do spark e descompacte na pasta usrlocalspark 28 Configure as variáveis de ambiente no NameNode arquivo profile anteriormente visto export YARNCONFDIRHADOOPHOMEetchadoop export SPARKHOMEusrlocalspark export PATHPATHSPARKHOMEbin 29 Demais etapas são as mesmas do começo ao fim do exemplo 1 ou 2 30 Fim A seguir são explicadas as práticas a serem desenvolvida a fim de preencher corretamente o caderno de resolução explicado na seção Formato de Entrega Roteiro de Atividade Prática de Big Data 22 PRÁTICA 01 CONTAGEM DE INSTÂNCIAS Essa primeira prática foi idealizada como primeiro contato do aluno com o SparkHADOOP Sendo assim a dificuldade aumenta conforme a progressão dos itens pedidos Nessa prática você deverá descobrir utilizando sua máquina virtual com o Hadoop ou qualquer outra forma descrita anteriormente qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdbreviewsptbrcsv Sugestão de realização da tarefa 1 Escreva um script em Python ou Scala para somar a coluna id das entradas baseadas na coluna sentiment sentiment será a chave da dupla chavevalor para a etapa do map no mapreduce a Se o problema for de somar os ids adicione ao script uma função do map e outra do reduce para somar os ids b Se o problema for de contar palavras crie uma função de map que já retorne o número de palavras de cada entrada e crie uma função reduce que some todas as quantidades de todas as entradas Em Python sugiro usar o método split de strings para separar as frases em palavras e descartar os espaços em branco Usar split gerará erro na contagem Use a função len para contar as palavras c Sugiro que você crie apenas um script com todas os dados que precisará para que a execução seja feita toda de uma vez Não esqueça de criar uma saída com prints para que você possa entender o resultado apresentado 2 Considerando que os passos de carga do banco de dados já foram executados carregue o Script no servidor pelo Ambari 3 Copie o script para o HDFS pela interface do MariaDB hadoop fs copyToLocal seuscriptpy 4 Rode o script no Hadoop com seu usuário mariadev pelo PuTTY ou webshell pelo sparksubmit sparksubmit seuscriptpy OBS1 Utilizar ferramentas que não sejam de Big Data podem causar truncamento do banco de dados e perda de informações em sua análise OBS2 A execução dos passos sugeridos poderá ser diferente dependendo de sua instalação e ferramentas preferenciais OBS3 É possível executar esta atividade inteiramente pelo console do Spark e sem o uso do MariaDB ou pelo Google Colab OBS3 O uso da biblioteca Pandas resultará na perda total de nota na questão Roteiro de Atividade Prática de Big Data 23 PRÁTICA 02 CONTAGEM DE PALAVRAS Nessa prática você deverá contar todas as palavras existentes nos textos negativos em português e inglês e então informar quantas palavras a mais no total os textos em português possuem total de palavras dos textos negativos em português menos o total de palavras dos textos negativos em inglês Para tal crie um script em Python ou Scala e rodeo com sua máquina virtual Hadoop como feito na prática 1 Apesar de parecer simples esta é a primeira etapa para que possamos aplicar técnicas de Processamento de Linguagem Natural NLP que se inicia com o processo de toquenização de textos para encontrarmos dados estatísticos de cada palavra no texto como frequência em que aparecem Entretanto nesta tarefa apenas contaremos todas as palavras dos textos em inglês e português com sentimentos negativos e faremos uma subtração entre os valores Caso haja palavra repetida contaremos quantas vezes forem necessárias É necessário se preocupar em filtrar corretamente as avaliações de filmes para que apenas os textos marcados como negativos sejam contabilizados Se sua escolha for Python não será permitido o uso de bibliotecas como Pandas ou NLTK para esta tarefa apenas a biblioteca PySpark é permitida Sugestão de realização da tarefa 1 Escreva um script em Python ou Scala para contar as palavras dos textos em português e inglês onde a coluna sentiment seja igual a neg sentiment será a chave da dupla chavevalor para a etapa do map no mapreduce a Se o problema for de contar palavras crie uma função de map que já retorne o número de palavras de cada entrada e crie uma função reduce que some todas as quantidades de todas as entradas Em Python sugiro usar o método split de strings para separar as frases em palavras e descartar os espaços em branco Usar split com aspas e espaço entre as aspas gerará erro na contagem Use a função len para contar as palavras b Sugiro que você crie apenas um script com todas os dados que precisará para que a execução seja feita toda de uma vez para as duas práticas Não esqueça de criar uma saída com prints para que você possa entender o resultado apresentado 2 Considerando que os passos de carga do banco de dados já foram executados carregue o Script no servidor pelo Ambari 3 Copie o script para o HDFS pela interface do MariaDB hadoop fs copyToLocal seuscriptpy Roteiro de Atividade Prática de Big Data 24 4 Rode o script no Hadoop com seu usuário mariadev pelo PuTTY ou webshell pelo sparksubmit sparksubmit seuscriptpy OBS1 Utilizar ferramentas que não sejam de Big Data podem causar truncamento do banco de dados e perda de informações em sua análise OBS2 A execução dos passos sugeridos poderá ser diferente dependendo de sua instalação e ferramentas preferenciais OBS3 É possível executar esta atividade inteiramente pelo console do Spark e sem o uso do MariaDB ou pelo Google Colab OBS3 O uso da biblioteca Pandas resultará na perda total de nota na questão Roteiro de Atividade Prática de Big Data 25 RESPOSTAS AS DÚVIDAS MAIS FREQUÊNTES 1 Eu não tenho a máquina virtual com o Hadoop instalado em minha máquina Como farei a atividade prática R Siga as aulas práticas da Rota da aula prática 1 a 5 Lembrese de configurar a máquina virtual para usar apenas metade da memória do seu computador e metade dos processadores O indicado para esta tarefa é um computador dual core com 8GB de memória RAM e 90GB de HD livre Caso você não possua acesso à um equipamento como este você poderá desenvolver a atividade em seu polo que possui computador para tal ou usar alguma das soluções dadas na explicação como serviços de servidor em nuvem AWS AZURE ou GCP Instalar o Spark em sua máquina local necessário Linux ou WSL no Windows ou ainda usar o Google Colab 2 Onde baixo os softwares criar os scripts das atividades R Você poderá utilizar o Google Colab httpscolabresearchgooglecom de forma online ou instalar caso você tenha o Windows o Anaconda httpswwwanacondacomproductsindividual para gerenciamento dos pacotes e ambientes virtuais do Python Para criação do script qualquer editor de texto servirá porém sugiro a utilização do VSCode ou do PyCharm para esta tarefa Você poderá testar seus scripts com uso da biblioteca PySpark 3 Estou terminando o curso tem como fazer um questionário para atividade prática R Não 4 Eu não possuo máquina para realizar esta atividade Como devo proceder R Você poderá usar um computador em seu polo Nossas atividades são pensadas para execução em computador disponível nos polos porém você pode optar por usar sua própria máquina 5 Além de minha máquina ou a do polo tenho outra opção R Você poderá utilizar um dos serviços de servidor em nuvem como AWS GCP ou AZURE porém existe o risco de cobrança caso ultrapasse os limites de uso gratuito Cuidado Além disso em último caso você poderá usar o google colab apenas com a biblioteca PySpark para finalizar a tarefa porém esta opção limitará seu aprendizado sobre as ferramentas Hadoop e Spark Roteiro de Atividade Prática de Big Data 26 6 Preciso realizar algum tipo de análise ou processamento de linguagem natural nesta atividade R Não esta é uma atividade pensada apenas para colocar em prática seus conhecimentos de linguagem de programação lógica e Big Data Hadoop e Spark 7 Como pode a faculdade solicitar um trabalho que exija equipamentos que o aluno pode não possuir R Muitos dos conhecimentos que você deve aprender para trabalhar no mercado de trabalho são com base em materiais e equipamentos que você não possui ou não tem acesso fácil como servidores grandes bancos de dados roteadores e switches de grande porte equipamentos de grande porte e muitos outros Independentemente desta dificuldade você deve aprender a utilizar estas ferramentas para poder mostrar um desempenho melhor do que os demais no mercado de trabalho A qualidade do profissional que você será só depende de você e isto resultará em trabalhos mais bem remunerados no futuro Sendo assim desejo a todos um ótimo aprendizado e nos vemos na tutoria Atenciosamente Professor Guilherme D Patriota CADERNO DE RESPOSTAS DA ATIVIDADE PRÁTICA DE PROJETOS BIG DATA ALUNO IZAIAS 3049692 Caderno de Resposta Elaborado por Prof MSc Guilherme Ditzel Patriota ANO 2022 Roteiro de Atividade Prática de Big Data Prática 01 Somatório de IDs Questão Qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdbreviewsptbrcsv ENUNCIADO Nessa prática você deverá descobrir utilizando sua máquina virtual com o Hadoop ou Spark ou PySpark qual o valor da soma de todos os campos id dos filmes classificados como negativos para o banco de dados imdb reviewsptbrcsv I Apresentação do Código não esquecer do identificador pessoal Figura 1 Código para a questão II Apresentação das ImagensPrint do resultado não esquecer do identificador Figura 2 Output do terminal III Responda à pergunta Qual o valor da soma de todos os campos id dos filmes classificados como negativos Resposta 247015948 1 Roteiro de Atividade Prática de Big Data 2 Roteiro de Atividade Prática de Big Data Prática 02 Diferença do número de palavras totais de português para inglês dos textos negativos Questão Contar palavras dos textos negativos e achar diferença de quantidade ENUNCIADO Nessa prática você deverá contar todas as palavras existentes nos textos negativos Português e Inglês e então deverá encontrar quantas palavras a mais no total os textos em português possuem Para tal crie um script em Python ou Scala e rodeo com sua máquina virtual Hadoop ou Spark ou PySpark como feito na prática 1 É necessário se preocupar em filtrar corretamente as avaliações de filmes para que apenas os textos marcados como negativos sejam contabilizados I Apresentação do Código não esquecer do identificador pessoal Figura 3 Código para a questão II Apresentação das ImagensPrint do resultado não esquecer do identificador Figura 4 Output do Terminal III Responda à pergunta Qual o número total de palavras a mais que os textos negativos em português possuem em comparação com a soma total das palavras dos textos negativos em inglês independentemente de serem repetidas Resposta15589 3