Ainda sou um novato no Hadoop e, desta vez, estava tentando processar um arquivo de 106 GB. Eu costumava -copyFromLocal
copiar 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!
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.
fonte
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.
fonte
Também é possível acompanhar o progresso da leitura do arquivo local usando o
pv
comando e canalizar o conteúdo do arquivo parahdfs dfs
stdin:pv mylargefile.txt | hdfs dfs -put - /path/to/file/on/hdfs/mylargefile.txt
fonte
pv
é uma ferramenta tão desvalorizada IMO. Faz o trabalho aqui perfeitamente.