Return to Video

ONPC CAP02 VA03 TRABALHANDO ARQUIVOS HADOOP

  • 0:08 - 0:11
    Quando falamos de HDFS,
    estamos falando de armazenamento
  • 0:11 - 0:16
    de forma distribuída dentro de um cluster
    onde possuem vários nós.
  • 0:16 - 0:18
    Esse sistema
    de arquivo do HDFS
  • 0:18 - 0:22
    é muito similar ao sistema
    de arquivo do Linux.
  • 0:22 - 0:24
    Então, alguns comandos
    que nós temos no Linux,
  • 0:24 - 0:29
    como por exemplo, listar arquivo,
    criar diretório, copiar, mover,
  • 0:29 - 0:30
    são muito
    semelhantes.
  • 0:30 - 0:36
    Porém, no HDFS nós temos
    alguns comandos específicos
  • 0:36 - 0:42
    onde nós chamamos o HDFS
    por linha de comando, por exemplo.
  • 0:42 - 0:46
    Acessando o servidor Hadoop
    via terminal, via console,
  • 0:46 - 0:49
    nós temos a opção de utilizar
    alguns comandos
  • 0:49 - 0:53
    tanto de gerenciamento
    quanto de manipulação de arquivos.
  • 0:53 - 0:59
    Os dois comandos que nós
    podemos utilizar dentro do HDFS
  • 0:59 - 1:03
    para manipular arquivo
    é o Hadoop FS.
  • 1:05 - 1:08
    Então, quando eu falo
    de Hadoop FS,
  • 1:08 - 1:11
    eu estou falando
    de Hadoop File System.
  • 1:11 - 1:12
    Então, aqui é
    um "help" dele.
  • 1:12 - 1:14
    Se eu simplesmente
    digitar "hadoop fs",
  • 1:14 - 1:19
    eu tenho o help e todos
    os comandos que eu posso utilizar.
  • 1:19 - 1:22
    Por exemplo: ler
    arquivo com "cat",
  • 1:22 - 1:24
    o "cp", eu
    posso copiar.
  • 1:24 - 1:27
    Se eu quiser listar
    um diretório, eu uso o "ls".
  • 1:27 - 1:31
    Então, nós temos aí um sistema
    de manipulação de arquivos
  • 1:31 - 1:34
    muito semelhante
    ao Linux.
  • 1:34 - 1:39
    Eu também tenho
    o comando "hdfs dfs",
  • 1:39 - 1:42
    onde o hdfs é
    o nosso HDFS,
  • 1:42 - 1:45
    então, é o software
    que nós estamos utilizando.
  • 1:45 - 1:49
    E DFS significa
    Distributed File System.
  • 1:49 - 1:53
    E qual é a diferença
    do HDFS e do DFS?
  • 1:53 - 1:56
    Para quem vai utilizar,
    nenhuma.
  • 1:56 - 2:01
    A única diferença é que o HDFS
    funciona especificamente para o HDFS.
  • 2:01 - 2:05
    Já o comando Hadoop FS
    funciona tanto para o HDFS
  • 2:05 - 2:08
    quanto para outros
    sistemas de arquivo,
  • 2:08 - 2:11
    como o S3 da Amazon,
    por exemplo.
  • 2:11 - 2:13
    Então nós vamos usar
    o mais genérico possível,
  • 2:13 - 2:16
    que é
    o Hadoop FS.
  • 2:17 - 2:20
    Fazendo uma manipulação de dados,
    visualizando arquivos
  • 2:20 - 2:23
    ou até
    criando diretórios,
  • 2:23 - 2:26
    as opções que eu tenho
    dentro do Hadoop
  • 2:26 - 2:29
    com o Hadoop FS
    são bem vastas.
  • 2:29 - 2:31
    Então, eu posso desde
    copiar um arquivo
  • 2:31 - 2:34
    até subir arquivos
    para o HDFS.
  • 2:34 - 2:36
    Um dos comandos
    muito utilizado é o "ls",
  • 2:36 - 2:41
    onde eu listo os diretórios
    que eu tenho dentro do meu HDFS.
  • 2:41 - 2:45
    Nesse exemplo aqui,
    eu vou fazer uma listagem
  • 2:45 - 2:48
    da raiz do meu HDFS,
    por exemplo.
  • 2:48 - 2:49
    Então, eu dou
    uma barra.
  • 2:49 - 2:55
    O HDFS é baseado em Linux, então
    ele tem os arquivos, os diretórios,
  • 2:55 - 2:58
    sempre começando com barra
    e depois um outro nome,
  • 2:58 - 2:59
    barra outro
    diretório.
  • 2:59 - 3:05
    Enfim, temos aí toda a hierarquia
    de arquivos que nós temos dentro do Linux.
  • 3:05 - 3:08
    Nesse exemplo aqui, eu
    tenho algumas pastas criadas
  • 3:08 - 3:13
    dentro do meu Hadoop,
    dentro do meu HDFS.
  • 3:13 - 3:15
    Por exemplo:
    a pasta warehouse,
  • 3:15 - 3:18
    a pasta user,
    a pasta apps.
  • 3:18 - 3:23
    Então, nós vimos aí que podemos
    listar todo o diretório,
  • 3:23 - 3:27
    todos os arquivos
    que existem dentro do HDFS.
  • 3:27 - 3:32
    Mas eu também posso criar
    diretórios novos, criar subdiretórios.
  • 3:32 - 3:36
    E, para isso, eu utilizo
    o comando "hadoop fs".
  • 3:36 - 3:38
    Só que, ao invés do "ls",
    onde eu listo,
  • 3:38 - 3:40
    eu vou utilizar
    o "mkdir",
  • 3:40 - 3:44
    que é o comando para criar
    diretórios lá dentro do HDFS,
  • 3:44 - 3:47
    sempre precedido
    de hadoop fs,
  • 3:47 - 3:49
    porque eu estou falando
    de Hadoop File System.
  • 3:49 - 3:52
    Se eu der um mkdir sem
    o hadoop fs, por exemplo,
  • 3:52 - 3:55
    ele vai criar o diretório
    dentro do meu Linux,
  • 3:55 - 3:57
    dentro do meu
    sistema local,
  • 3:57 - 4:00
    não vai ser
    dentro do HDFS.
  • 4:00 - 4:03
    E eu vou falar aqui
    que eu vou criar na barra,
  • 4:03 - 4:05
    que é a minha raiz
    do HDFS,
  • 4:05 - 4:09
    e vou criar um diretório
    chamado "datalake".
  • 4:09 - 4:15
    O Hadoop, o HDFS, não dá retorno
    falando que ele criou com sucesso.
  • 4:15 - 4:19
    Se ele der algum retorno, ou vai
    ser de erro ou vai ser de worm.
  • 4:19 - 4:21
    Então, no nosso caso aqui,
    como deu certo,
  • 4:21 - 4:23
    ele não vai
    retornar nada.
  • 4:23 - 4:26
    E como nós ficamos sabendo
    se deu certo ou não a criação?
  • 4:26 - 4:31
    Nós podemos simplesmente
    dar um "hadoop fs - ls" novamente,
  • 4:31 - 4:35
    e aí eu tenho a listagem
    de toda a minha barra,
  • 4:35 - 4:38
    raiz do meu
    HDFS,
  • 4:38 - 4:41
    e a pasta
    Data Lake está lá.
  • 4:41 - 4:44
    Se eu quiser criar uma pasta,
    um subdiretório,
  • 4:44 - 4:48
    dentro do meu diretório
    Data Lake, como eu faço?
  • 4:48 - 4:49
    Eu posso
    ir lá
  • 4:49 - 4:57
    e dar
    um "hadoop fs - mkdir /datalake/"...
  • 4:57 - 5:01
    Eu vou colocar aqui
    dados brutos, por exemplo.
  • 5:04 - 5:05
    Dados brutos.
  • 5:05 - 5:09
    E aí eu tenho a opção
    de criar um outro diretório.
  • 5:09 - 5:12
    Eu também posso criar
    em outro diretório qualquer.
  • 5:12 - 5:15
    Eu posso criar um outro
    diretório dentro dos dados brutos?
  • 5:15 - 5:19
    Também posso. E aí eu consigo
    segregar cada entrada de dados
  • 5:19 - 5:22
    dentro do meu Data Lake,
    dentro do meu HDFS.
  • 5:22 - 5:28
    E aí nós temos o Data Lake, a pasta
    Data Lake com os dados brutos,
  • 5:28 - 5:31
    o diretório dados brutos
    dentro da pasta Data Lake.
  • 5:31 - 5:34
    Porém, tudo que eu for
    fazer dentro do HDFS,
  • 5:34 - 5:38
    diferentemente do sistema
    de arquivos do Linux...
  • 5:38 - 5:39
    Eu não consigo,
    por exemplo,
  • 5:39 - 5:42
    dar um "cd" e o nome
    da pasta e entrar na pasta.
  • 5:42 - 5:44
    Eu sempre tenho que passar
    o caminho absoluto.
  • 5:44 - 5:49
    Então, se eu quiser visualizar tudo
    que tem dentro da pasta dados brutos,
  • 5:49 - 5:51
    eu tenho que vir
    aqui e digitar
  • 5:51 - 5:58
    hadoop fs - ls /datalake/dadosbrutos.
  • 5:59 - 6:04
    Então, eu sempre passo
    o diretório completo.
  • 6:04 - 6:06
    Se eu der, por exemplo,
    só dados brutos...
  • 6:08 - 6:09
    O HDFS vai me
    retornar falando
  • 6:09 - 6:12
    que não encontrou nenhum arquivo
    nem diretório com esse nome.
  • 6:12 - 6:16
    Então, ele tem esse mecanismo
    de controle de erro,
  • 6:16 - 6:18
    e aí sim ele retorna
    o erro para nós.
  • 6:18 - 6:22
    Então, nós sempre temos
    que passar o caminho absoluto
  • 6:22 - 6:25
    dentro do meu Data Lake,
    dentro do meu HDFS.
  • 6:25 - 6:29
    Então, nós vimos como criar
    o diretório Data Lake,
  • 6:29 - 6:32
    como criar um subdiretório
    dentro do Data Lake,
  • 6:32 - 6:33
    chamado
    dados brutos.
  • 6:33 - 6:34
    E o que nós
    vamos fazer agora?
  • 6:34 - 6:37
    Nós vamos jogar arquivos
    dentro dos dados brutos.
  • 6:37 - 6:42
    Não adianta nada só termos o diretório
    e não termos os arquivos lá dentro, né?
  • 6:42 - 6:46
    Na máquina que eu estou aqui,
    eu tenho dentro do meu diretório "tmp",
  • 6:46 - 6:49
    no Linux... Eu não estou
    falando do HDFS.
  • 6:49 - 6:55
    Então, eu só vou dar
    um "ls /tmp/teste.txt",
  • 6:55 - 6:58
    e eu tenho esse arquivo
    dentro do meu Linux aqui.
  • 6:58 - 7:03
    Eu vou ler esse arquivo só
    para vocês verem o que eu tenho nele.
  • 7:03 - 7:06
    Então, eu tenho aqui
    esse arquivo teste.txt
  • 7:06 - 7:09
    onde eu tenho cinco
    linhas escrito teste.
  • 7:09 - 7:10
    É um arquivo
    texto.
  • 7:10 - 7:14
    Poderia ser um csv, poderia
    ser um txt mais complexo,
  • 7:14 - 7:18
    poderia ser um JSON,
    qualquer tipo de arquivo.
  • 7:18 - 7:22
    E como eu faço para jogar esse
    arquivo lá dentro do Data Lake,
  • 7:22 - 7:26
    lá dentro do HDFS,
    da pasta dados brutos?
  • 7:27 - 7:31
    Eu dou
    um "hadoop fs -put".
  • 7:31 - 7:35
    O put copia o arquivo
    que está localmente no Linux,
  • 7:35 - 7:37
    no caminho
    que eu especificar,
  • 7:37 - 7:42
    e joga lá para o HDFS,
    no caminho que eu especificar.
  • 7:42 - 7:45
    Então vamos lá.
    Onde está o put?
  • 7:45 - 7:50
    Está no Linux, né,
    no "/tmp/teste.txt",
  • 7:50 - 7:52
    e eu vou jogar para onde
    dentro do meu Data Lake?
  • 7:52 - 7:59
    Vou jogar
    no "/datalake/dadosbrutos".
  • 8:01 - 8:04
    Se não retornar nenhum erro,
    significa que deu certo.
  • 8:05 - 8:06
    Como eu faço
    para verificar?
  • 8:06 - 8:13
    "hadoop fs -ls /datalake/dadosbrutos".
  • 8:15 - 8:18
    Vocês vão ver
    que o arquivo está lá,
  • 8:18 - 8:20
    teste.txt.
  • 8:20 - 8:23
    E se eu quiser ler esse arquivo
    que está dento do HDFS?
  • 8:23 - 8:26
    Aqui, eu li
    através do Linux.
  • 8:26 - 8:31
    Eu posso simplesmente
    dar um "hadoop fs -cat".
  • 8:31 - 8:34
    Notem que é
    o mesmo comando,
  • 8:34 - 8:36
    porém, eu dou
    hadoop fs na frente
  • 8:36 - 8:39
    porque eu vou
    executá-lo lá no HDFS,
  • 8:39 - 8:41
    e aí eu coloco
    o caminho completo, né,
  • 8:41 - 8:48
    "/datalake/dadosbrutos/teste.txt"...
  • 8:50 - 8:55
    E eu consigo ler o arquivo
    que está lá dentro do HDFS.
  • 8:55 - 8:59
    Então, nós vimos
    que a manipulação de dados,
  • 8:59 - 9:03
    a manipulação de arquivos, de pastas,
    de diretórios, dentro do HDFS,
  • 9:03 - 9:05
    é muito similar
    ao Linux.
  • 9:05 - 9:08
    Porém, eu sempre uso
    o comando "hadoop fs"
  • 9:08 - 9:12
    ou o comando
    "hdfs dfs"
  • 9:12 - 9:14
    para especificar que eu
    estou manipulando
  • 9:14 - 9:18
    os arquivos ou diretórios
    lá dentro do HDFS.
Title:
ONPC CAP02 VA03 TRABALHANDO ARQUIVOS HADOOP
Video Language:
Portuguese, Brazilian
Duration:
09:28

Portuguese, Brazilian subtitles

Incomplete

Revisions