Prévia do material em texto
RASCUNHO 1 Como é feito hoje Passo a passo acessa o repo do data-jobs na pasta airflow, que jogo dos dados job do localytics importes no collums mappings diaz aquao o evento e as colunas , - duplica um array, e por o nome do evento e os atributos - rola um de para dos nomes do evento e os tipos . Confirmar o nome dos eventos, talvez lucas cerqueira saiba qual é qual, no ruim olhar o json que os localytics manda e olhar, talvez tenha no localytics - edita o arquivo do job, - no push na branch da push pra dev, e ai da pra validar , a master é produção , - depois de comitar ele joga no bucket de dev, buscando por localytics , substituindo o que existe lá - acessando o aiw flow tem uma dags( pipile line de execução) , localytcs-transfer-dag, quando liga ele ja começa a rodar, PRa tesrae, clicar na bolinha verde, e dar clear na ultima bolinha da . No EMR é onde são rodados os cluster dos processos da dag, que demora a subir, RASCUNHO 2 Primeira etapa 1- editar edita o dicionários pra add o evento novo , commitar a branch https://github.com/PasseiDireto/data-jobs/blob/master/airflow/localytics-importer-job/localytics_im porter_job.py 2- validar que que as infos foram jogadas no s3 nos buckets ‘ pd-data-source-us-east-2-dev ‘ ou prod ‘pd-data-source-us-east-2-prod’ 2- acessa airflow da um clear no última bolinha de execução http://dev-airflow.pd-internal.com/admin/ http://dev-airflow.pd-internal.com/admin/airflow/tree?dag_id=localytics-transfer-dag 4- acessa o emr, na aws e validar que foram os 3 processos foram rodados - pedir acesso https://us-east-2.console.aws.amazon.com/elasticmapreduce/ 5- espera que ele finalize, 6- pra validar que deu certo, acessa o data lake, e ver que um diretório com o nome do evento foi criado https://github.com/PasseiDireto/data-jobs/blob/master/airflow/localytics-importer-job/localytics_importer_job.py https://github.com/PasseiDireto/data-jobs/blob/master/airflow/localytics-importer-job/localytics_importer_job.py http://dev-airflow.pd-internal.com/admin/ https://us-east-2.console.aws.amazon.com/elasticmapreduce/ https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix= localytics_data/&showversions=false 7- quando o crowler rodar, que é o último step dessa primeira etapa, sig que os dados, ja vão estar no athena 8- acessado o athena na data base de dev_localytics, ver que foi criada a tabela para o evento , nessa tarefa seria ‘ list view’ 9- qlqr coisa ver com o Lucas Cerqueira ou Otavio Backfuew pra pegar o passado , é montar os dados do passado do evento No emr existe um júpiter nootboks usado pra testar e programar dados no notebook de backfuil, que precisa ter um cluster rodando. clica na seleção da lista, e da start , ele mostra uma pergunta pra escolher um cluster, existente. quando estiver com a bolinha verde, dar ___ dentro no notebook, tem varios aquivo e um dele é o do localytics , clicando nele, ele é dividido em células, e cada célula, dando shift enter, quando da um run . va clicando na célula e dando shift run, e quando tiver o * sig que ta rodando, e o numero é quando ja rodou , que sig o numero de vez que as coisas rodaram . Mudar as infos do localytics de : Passo a passo : 1- Levanta um cluster dentro do EMR ,clonando um cluster que ja foi usado pra esse propósito antes. Lembrar de olhar as configurações do cluster clonado, garantindo que as maquinas sejam spots, e que nenhum step esteja setado. busca por localytics , que vai ter um cluster, se não aparecer na lista clicar no load more ‘localytics back fuil’ 2- marca ele na lista e clicar em clone, da yes qye quer incluir steps, aguarda e fecha e te levar pra tela de configuração. , 3- vc sera levando pra tela ‘ Advance options' do cluster, da um back no step pra garantir que não tenho nenhum step cadastrado, tem que estr vazio. No segundo step, troca as maquinas pra spots No step 3 , troca o nome no sluter pro nome do evento https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix=localytics_data/&showversions=false https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix=localytics_data/&showversions=false pode dar create no cluster. 6- aguarda o cluster ta de pé 7 Vai pro note book, clina no backfill. na lista e da o star e > continuar > seleciona o cluster clonado 8 - quando estiver verdinho - clica na bolinha pra acessar o júpiter 9 - troca as infos no júpiter e dps da shift enter, en tudo célula por células, acabado de rodar, acessa o s3 pra confirmar os dados foram pra lá 9- Confirma no s3, que os dados foram pra lá links Renato Bibiano09:06 https://github.com/PasseiDireto/data-jobs/blob/master/airflow/localytics-importer-job/localytics_im porter_job.py pd-data-source-us-east-2-prod pd-data-source-us-east-2-dev Renato Bibiano09:08 http://dev-airflow.pd-internal.com/admin/ Renato Bibiano09:15 https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix= localytics_data/&showversions=false https://github.com/PasseiDireto/data-jobs/blob/master/airflow/localytics-importer-job/localytics_importer_job.py https://github.com/PasseiDireto/data-jobs/blob/master/airflow/localytics-importer-job/localytics_importer_job.py http://dev-airflow.pd-internal.com/admin/ https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix=localytics_data/&showversions=false https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix=localytics_data/&showversions=false RASCUNHO 3 ? 1- gerar o pr 2 mergiar o pr 3 dar clear na dag do airflow de produção 4- levar os dados do bucket de dev para prod 1 - Acessar o EMR, na lista de cluester, procure por um cluster que tenha sido usado pra esse mesmo propósito. com um nome ‘Localytics Backfill ‘ exemplo : https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#cluster-details: j-3A9374LUCG1P5. 2- Clona o cluster -verificar se nas configurações do cluster as máquinas estão como spots, - que nenhuma task ta configurada - renomeia o cluster para ter o nome do evento que está sendo migrado 3- Aguarda o cluster está UP, com a bolinha verde preenchida. Obs: os status "Starting" e "Bootstrapping" o cluster ainda não tá pronto para rodar 4- Acessar o menu de notebook 5- Buscar por Backfill , clicando em no clicar em trocar o cluster, e escolher o que você levantou link :https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#notebook-det ails:e-6SOFHQ3P7DZKQ6L57O3OCVM59 6- Cluster associado, processo começado. Agora é clicar em abrir no Jupyter;lab 7- No lab, clicar no arquivo ‘ Localytics.ipynb’ Nesse arquivo, editar as células : - localytics_bucket_path e localytics_core_app_id -> se atentar ao ambiente de onde quer pegar as informações. Geralmente são pegos de prod, e colocados no bucket de dev . - columns_mapping -> aqui por o evento que está sendo migrado, com o objeto igual ao add no repositório do git . - célula com informações de start_time / start_date /end_date -> setar o intervalo que quer recuperar os dados, e alterar o destination_bucket para pd-datalake-us-east-2-dev - do começo até a célula que define o intervalo de datas, clicar dentro da célula e dar shift +enter, uma a uma . 8- acessar o bucket de dev e ver que as pastinhas para cada mês do ano que está sendo migrados tão sendo criadas . https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#cluster-details:j-3A9374LUCG1P5 https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#cluster-details:j-3A9374LUCG1P5 link https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev/localytics_data/ Sequencia das tabs https://github.com/PasseiDireto/data-jobs/actions https://s3.console.aws.amazon.com/s3/object/pd-data-source-us-east-2-dev?prefix=localytics_import er_job.py®ion=us-east-2# http://dev-airflow.pd-internal.com/admin/airflow/tree?dag_id=localytics-transfer-dag http://dev-airflow.pd-internal.com/admin/airflow/graph?dag_id=localytics-transfer-dag&execution_date = https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#cluster-details: j-17EZLLBB2Y5WE https://us-east-2.console.aws.amazon.com/glue/home?region=us-east-2#catalog:tab=crawlers ( caso precise rodar o crawler na mão ) https://us-east-2.console.aws.amazon.com/athena/home?region=us-east-2#query https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#cluster-list: https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#notebooks-list: https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix=l ocalytics_data/ListView/year%3D2019/&showversions=false --//-- https://github.com/PasseiDireto/data-jobs/actions https://s3.console.aws.amazon.com/s3/object/pd-data-source-us-east-2-dev?prefix=localytics_importer_job.py®ion=us-east-2# https://s3.console.aws.amazon.com/s3/object/pd-data-source-us-east-2-dev?prefix=localytics_importer_job.py®ion=us-east-2# http://dev-airflow.pd-internal.com/admin/airflow/tree?dag_id=localytics-transfer-dag http://dev-airflow.pd-internal.com/admin/airflow/graph?dag_id=localytics-transfer-dag&execution_date= http://dev-airflow.pd-internal.com/admin/airflow/graph?dag_id=localytics-transfer-dag&execution_date= https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#cluster-details:j-17EZLLBB2Y5WE https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#cluster-details:j-17EZLLBB2Y5WE https://us-east-2.console.aws.amazon.com/glue/home?region=us-east-2#catalog:tab=crawlers https://us-east-2.console.aws.amazon.com/athena/home?region=us-east-2#query https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#cluster-list https://us-east-2.console.aws.amazon.com/elasticmapreduce/home?region=us-east-2#notebooks-list https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix=localytics_data/ListView/year%3D2019/&showversions=false https://s3.console.aws.amazon.com/s3/buckets/pd-datalake-us-east-2-dev?region=us-east-2&prefix=localytics_data/ListView/year%3D2019/&showversions=false