Aula 04 – Tarefa 02 do simulado da prova de certificação HDP Hortonworks

More videos
Views
   

Certificação Hortonworks Hadoop FS – Certificação HDP hortonworks

Simulado da prova de certificação HDP Hortonworks

TAREFA 02

Limpando os dados usando Pig

Observe que os valores são separados por vírgulas nos arquivos flightdelays no HDFS contêm dados históricos de atrasos de vôos de linhas aéreas. As colunas nos arquivos correspondem ao seguinte esquema:

Year, Month, DayofMonth, DayOfWeek, DepTime, CRSDepTime, ArrTime, CRSArrTime, UniqueCarrier, FlightNum, TailNum, ActualElapsedTime, CRSElapsedTime, AirTime, ArrDelay, DepDelay, Origin, Dest, Distance, TaxiIn, TaxiOut, Cancelled, CancellationCode, Diverted, CarrierDelay, WeatherDelay, NASDelay, SecurityDelay, LateAircraftDelay.

Escreva um script Pig que satisfaça todos os seguintes critérios:

  1. Carregue todos os dados em /user/horton/flightdelays
  2. Remova todas as linhas do flightdelays onde a coluna DepTime é igual à string “NA”.
  3. A saída só deve conter somente: Year, Month, DayofMonth, DepTime, UniqueCarrier, FlightNum, ArrDelay, Origin e Dest.
  4. Armazene o resultado em registros separados por vírgula em um novo diretório no HDFS chamado:  /user/horton/flightdelays_clean
  5. Salve o script em um arquivo chamado flightdelays_clean.pig e salve-o no diretório /home/horton/solutions no sistema de arquivos local da máquina cliente.

 

Script:

-- Carrega o arquivo flightdelays usando o PigStorage indicando o separador dos campos, a vírgula.
a = load 'flightdelays' using PigStorage(',');
-- Filtra pelo campo 4 (DepTime) e o 11 (ActualElapsedTime) retirando os que tem 'NA'
b = filter a by (chararray) $4 != 'NA' or (chararray) $11 != 'NA';
-- Gera uma relação limpa, sem campos com 'NA' só com os campos pedidos no passo 3.
c = foreach b generate $0 as year:int, $1 as month:int, $2 as dayofmonth:int, $4 as deptime:int, $8 as uniquecarrier:chararray, $9 as flightnum:chararray, $14 as arrdelay:int, $16 as origin:chararray, $17 as dest:chararray;

--Armazena a relação c no diretório /user/horton/flightdelays_clean
store c into '/user/horton/flightdelays_clean' using PigStorage(',');

Obrigado

Até a próxima

Increva-se

Inscreva-se agora e receba um e-mail assim que eu publicar novo conteúdo.

Concordo em me inscrever no blog Código Fluente

Você poderá cancelar sua inscrição a qualquer momento.

(Visited 5 times, 1 visits today)
About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>