• Início

  • Soluções

    • Advanced Analytics e IA
    • Database
    • Development
    • Cloud Solutions
  • Cursos

  • Carreira

    • Acelera Jovem
  • Comunidade

  • Blog

  •  

    Use tab to navigate through the menu items.
    Para ver como funciona, vá para o seu site online.
    • Todos os posts
    • Categorias
    • Meus Posts
    dataside
    02 de mai.

    Saiba como consumir dados de um JSON direto de uma API

    em  Big Data

    Por: Leonardo Marinho


    Percebemos que a utilização de APIs e arquivos JSONs estão cada vez mais presentes no dia-dia de desenvolvedores, profissionais de dados e Analytics.


    Pois a facilidade de armazenar, manusear e realizar integrações é de extrema facilidade e versatilidade quando combinamos estas tecnologias.


    Com isso, neste post, irei mostrar como consumir dados de um JSON direto de uma API.


    Ferramentas que iremos utilizar:


    Irei utilizar a ferramenta de ETL da suíte Pentaho para realizar a leitura, tratamento e o carregamento dos dados. E irei carregá-los num banco de dados SQL SERVER.


    O que consultaremos?


    Como sou fã da NBA, liga de basquete dos EUA, irei consultar alguns dados das franquias (times) existentes.


    Utilizarei a seguinte API gratuita https://www.balldontlie.io/api/v1/teams.


    Algumas informações sobre as franquias da NBA


    Apenas para alinhamento, as franquias são separadas por divisões e conferências.


    Hoje a NBA possui 30 franquias separadas em conferências Leste e Oeste. 15 para cada lado.


    São separadas também em 6 divisões com 5 franquias para cada lado. São elas: Atlântico, Central, Sudeste, Noroeste, Pacífico e Sudoeste.


    Percebemos que a utilização de APIs e arquivos JSONs estão cada vez mais presentes no dia-dia de desenvolvedores, profissionais de dados e Analytics.


    Pois a facilidade de armazenar, manusear e realizar integrações é de extrema facilidade e versatilidade quando combinamos estas tecnologias.


    Com isso, neste post, irei mostrar como consumir dados de um JSON direto de uma API.


    Ferramentas que iremos utilizar:


    Irei utilizar a ferramenta de ETL da suíte Pentaho para realizar a leitura, tratamento e o carregamento dos dados. E irei carregá-los num banco de dados SQL SERVER.


    O que consultaremos?


    Como sou fã da NBA, liga de basquete dos EUA, irei consultar alguns dados das franquias (times) existentes.


    Utilizarei a seguinte API gratuita https://www.balldontlie.io/api/v1/teams.


    Algumas informações sobre as franquias da NBA


    Apenas para alinhamento, as franquias são separadas por divisões e conferências.


    Hoje a NBA possui 30 franquias separadas em conferências Leste e Oeste. 15 para cada lado.


    São separadas também em 6 divisões com 5 franquias para cada lado. São elas: Atlântico, Central, Sudeste, Noroeste, Pacífico e Sudoeste.

    Fonte: zigzagdoesporte.com.br

    Dados que serão consumidos Voltando para API, irei consumir os seguintes dados:


    Nome;


    Abreviação;


    Conferência;


    Cidade;


    Divisão.


    Estes dados estão presentes neste json de retorno da chamada da API.


    Eu utilizo o site: https://jsonformatter.org/# para “formatar” o json em um formato de árvore. Formatando, o json fica de uma forma mais legível, assim, nos ajudando a encontrar qual nó iremos ler.


    Neste exemplo, temos o nó “Data” com um vetor de 30 posições. Cada posição do vetor possui os dados de uma determinada franquia.


    Abrindo o Pentaho


    Estes são os STEP’s que iremos utilizar para extrair os dados da API, transformar e carregá-los no banco de dados.


    Generate rows – Este step utilizamos para gerar linhas. Neste caso, gerei uma linha com a URL da API;


    Configuração:


    Retorno:


    REST Client – Este step é referente ao WEB SERVICE que realiza a leitura de APIs que retornam Json.


    Configuração:


    Repare que no campo “URL Field name” recebe o campo gerado no “Generate Rows”.


    Retorno:


    JSON Input – Este step realiza a leitura da string do json. E é possível fazer o “tagueamento” dos atributos presente no json.


    Configuração:


    Repare que no campo “Select Field” recebe o campo gerado no “REST client”.


    Na aba “content” realizamos o “tagueamento” dos atributos(coluna) do json. Repare que o nome depois do “.” deve ser idêntico ao que está no json.