No Hadoop, como mostrar o processo atual de -copyFromLocal


10

Ainda sou um novato no Hadoop e, desta vez, estava tentando processar um arquivo de 106 GB. Eu costumava -copyFromLocalcopiar esse arquivo grande para o meu Hadoop DFS, mas como o arquivo é grande, tenho que esperar um longo tempo sem ter idéia do status atual da cópia.

Existe alguma maneira de mostrar o status atual de cópia de arquivo com este comando?

Agradecemos antecipadamente a sua ajuda!

Respostas:


14

CopyFromLocalnão tem a capacidade de exibir o progresso da cópia do arquivo. Como alternativa, você pode abrir outro shell e executar o $ watch hadoop fs -ls <filenameyouarecopying>. Isso exibirá o arquivo e seu tamanho uma vez a cada 2,0 segundos.


1
Se não estiver documentado, não existe. :-)
SunnyShah 4/15

1

Não parece haver uma opção detalhada para nenhum dos comandos de cópia (copyFromLocal, copyToLocal, get, put). Sua melhor aposta é provavelmente examinar o tamanho do arquivo no destino no HDFS para avaliar seu progresso.


1

Você pode usar "nohup &" para executar a cópia como um processo em segundo plano. nohup fará com que o processo seja executado mesmo após o logout do servidor. Sempre que precisar, você pode verificar o processo usando "hadoop fs -ls.


1

Também é possível acompanhar o progresso da leitura do arquivo local usando o pvcomando e canalizar o conteúdo do arquivo para hdfs dfsstdin:

pv mylargefile.txt | hdfs dfs -put - /path/to/file/on/hdfs/mylargefile.txt


pvé uma ferramenta tão desvalorizada IMO. Faz o trabalho aqui perfeitamente.
Michael Mior 22/03
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.