Primeiras aulas do curso BigQuery: Funções do BigQuery

BigQuery: Funções do BigQuery

Tipos de dados e conceito de funções - Apresentação

Tudo bem? Meu nome é Victorino Vila e eu vou ser o instrutor de vocês de mais um treinamento de BigQuery.

Aqui na parte de cima da tela eu estou mostrando para vocês as aulas que farão parte desse treinamento. O nosso objetivo aqui é mostrar para vocês sobre funções.

Nem sempre o dado que está no banco de dados - seja no BigQuery, seja em qualquer outra base de dados - está no formato que eu quero ver. Nós armazenamos o dado de uma maneira, mas na hora de exibi-lo, queremos vê-lo de outra forma.

As funções são um grande instrumento para podermos transformar os dados. Podemos pegar os dados que estão de um jeito e exibi-los de outro e toda aquela parte de filtro, agrupamento e todos aqueles instrumentos que nós podemos usar no comando de SQL podem ser aplicados quando nós exibimos o resultado dessas funções.

Nós vamos começar esse treinamento falando um pouco sobre o que é uma função, qual é a importância dela para o banco de dados e vamos falar também dos tipos de dados existentes no BigQuery. Por quê? Porque as funções se separam em grupos e cada função se aplica a um tipo de dado específico.

Então nós vamos começar primeiro com as funções numéricas, onde aplicaremos funções em cima de indicadores numéricos - sejam eles números inteiros ou decimais.

Depois vamos falar de operadores lógicos. São funções que são aplicadas sobre o resultado de verdadeiro ou falso e muitas vezes nós conseguimos essas funções como critério de filtro.

Depois vamos usar funções em cima de textos, que chamamos de strings. Aí nós teremos uma gama de funções. É claro que vamos percorrer bastante funções nesse treinamento, mas não vamos conseguir ver todas as funções existentes, nós vamos mostrar as mais importantes.

Depois vamos falar sobre funções relacionadas com datas, com tempo - seja ele o dia com hora, minuto, segundo ou funções apenas aplicadas sobre a hora. Depois nós vamos falar sobre funções geográficas, em cima de dados geoespaciais.

[02:29 ] Vamos conseguir ver como essas funções podem, por exemplo, interagir com mapas e desenhar coisas nos mapas - principalmente os mapas em cima do Google.

Depois nós faremos um exercício bem simples, usando essas funções em cima da nossa base de dados que criamos na última aula do curso anterior.

Vai ser um apanhado geral, nós vamos percorrer vários tipos de funções para que você conheça as funções que podem ser utilizadas dentro do BigQuery. Espero que vocês gostem desse treinamento. Um abraço. Vamos em frente!

Tipos de dados e conceito de funções - Ajustando as consultas salvas

Antes de nós começarmos esse treinamento, eu vou fazer uma manipulação no meu ambiente de Google BigQuery, porque durante o treinamento passado eu salvei algumas consultas, eu salvei a consulta da aula 2, da aula 3, da aula 4, da aula 5 e da aula 6.

E quando eu as salvei - vou clicar aqui à esquerda em “Consultas salvas” para mostrar para vocês - eu criei esses nomes aqui: “AULA NÚMERO 2”, “AULA NÚMERO 3”, “AULA NÚMERO 4”, “AULA NÚMERO 5” e “AULA NÚMERO 6”.

Mas só que nós vamos começar a salvar as novas consultas desse treinamento, que também vão estar referentes às aulas número 2, 3, 4, 5, 6 ou aula 1, por exemplo.

Para que não haja confusão eu vou fazer o seguinte: antes de começar tudo, eu vou mudar o nome dessas consultas e colocar na frente o termo “CURSO 1”, para dizer que essas consultas fazem referência ao primeiro curso de Google BigQuery. As consultas desse treinamento eu vou salvar como “CURSO 2”.

Se você está seguindo todos os passos do mesmo jeito que eu estou fazendo nos vídeos, você deve ter as suas aulas salvas. Eu não sei se você usou esse mesmo nome ou um nome diferente, mas o importante é que você diferencie as consultas do curso 1 para as consultas desse curso. Essa metodologia eu vou fazer em todos os próximos cursos de BigQuery daqui para frente.

Eu vou clicar sobre a “AULA NÚMERO 2”, vou abrir a consulta no editor e eu vou aqui em cima em “Salvar como” e eu vou colocar aqui no nome “CURSO 1 - AULA NÚMERO 2”.

Vou clicar sobre essa faixa azul onde está escrito “AULA NÚMERO 2” e vou abrir a “AULA NÚMERO 3”. Vou abrir no editor de consulta, “Salvar como” e vou colocar aqui na frente “CURSO 1 - AULA NÚMERO 3”.

Vamos lá! Eu vou fazer a mesma coisa com a “AULA NÚMERO 4”. Vou abrir a consulta no editor, vou em “Salvar como” e digitar “CURSO 1 - AULA NÚMERO 4”. Agora, para a “AULA NÚMERO 5” vou colocar o nome de “CURSO 1 - AULA NÚMERO 5”. E finalmente, para a “AULA NÚMERO 6”.

O que eu tenho agora são essas consultas todas aqui, só que agora eu vou apagar essas de cima. Eu clico sobre a aula número 2 e eu tenho um botão bem aqui do lado direito, de “Excluir”. Vou excluir a “AULA NÚMERO 3”, “AULA NÚMERO 4”, “AULA NÚMERO 5” e finalmente a “AULA NÚMERO 6”.

Agora eu tenho as minhas aulas com o termo “CURSO 1” na frente e eu posso salvar os novos cursos nesse treinamento com o termo “CURSO 2” na frente.

Isso só foi uma manipulação que eu fiz no meu ambiente antes de nós começarmos a ver realmente os vídeos dessa aula. Obrigado, um abraço. Até o próximo vídeo!

Tipos de dados e conceito de funções - Tipo de Dados

Estamos aqui no BigQuery, estamos conectados com o nosso usuário que nós criamos no curso passado e eu já tenho aqui carregado, , aquele banco de dados “sucos_vendas” na minha conta, que foi um banco de dados que nós carregamos no final do curso passado.

Por exemplo: eu vou clicar em “notas_fiscais” e eu vou ver aqui embaixo o formato da tabela. Uma informação importante é o que nós chamamos do tipo do campo.

Esses tipos são características que não podem ser diferentes dentro de um campo, ou seja, se eu tenho um campo CPF e ele é do tipo inteiro ou integer, ele vai ser integer sempre. Eu não posso ter nesse campo alguém que não seja integer.

A mesma coisa vale para todos os tipos de dados. Nós vamos fazer aqui uma revisão e ver quais são os tipos de dados suportados pelo BigQuery.

Aqui eu tenho todos os tipos suportados pelo BigQuery. Vamos começar pelo int64. O int64 é um número inteiro, ou seja, um número que não tem casas decimais. Ele varia geralmente entre 10 elevado a menos 19 a 10 elevado a 19, são os valores mínimos e máximos suportados pelo integer ou int64.

Já o float64 ou float seria o equivalente ao int64, porém para números decimais. Quando nós falamos de casas decimais, estamos falando de casas decimais variáveis.

O bool são valores lógicos, ou seja, o valor dele é verdadeiro ou falso. Lá na estrutura interna do BigQuery, oboolna verdade é uminteiro de 1 byte que pode valer o valor 1 ou 0.

Porém, nós conseguimos nos referenciar a ele com os valores verdadeiro ou falso, então eu posso colocar em uma condição de filtro se tal coisa é verdadeira ou se tal campo é falso. Eu posso usar assim.

O numeric é parecido com o float, ou seja, são números decimais; porém eles se limitam a 32 dígitos de precisão, com 9 dígitos de casas decimais.

O string é uma sequência de caracteres que incluem também números. Porém, é claro que quando eu tenho números definidos como string, eles têm um comportamento e quando eu tenho números definidos como int, float ou numeric, eu tenho outro.

A tabela de caracteres suportada pelo BigQuery é a tabela que nós chamamos de Unicode - que envolve uma gama de caracteres, inclusive, caracteres que não são apenas os usados no alfabeto latino, por exemplo, nós podemos ter caracteres também de outros tipos de alfabetos.

O bytes seria a sequência de caracteres, porém não Unicode, ou seja, somente aqueles caracteres da tabela ASCII.

O timestamp representa um ponto específico no tempo e esse ponto não necessariamente é uma data, ele pode ser um valor numérico contado a partir de uma data específica. A própria definição teórica no BigQuery diz que o timestamp é isso, ele representa um ponto específico no tempo.

Já o datetime é também um ponto específico no tempo, porém representado como uma data gregoriana - com data, onde você tem o dia, mês e ano; uma hora, que vai de hora, minuto, segundo e milissegundo. Ou seja, é uma data dentro do calendário que nós estamos acostumados a trabalhar.

Nós temos também os dados geográficos, que são representações de um ponto no mapa, de uma linha no mapa ou de um polígono no mapa. Quando eu falo polígono, é uma linha tracejada que começa e termina no mesmo ponto.

Quando falamos de uma linha, não necessariamente é uma linha reta, ele pode ser uma linha que traça uma rota, mas não se fecha, não cria uma área dentro dela. Quando ela cria uma área, ela é um polígono. Quando ela não cria uma área, ela é considerada uma linha ou um ponto no mapa.

Claro que quando nós olhamos um mapa com, por exemplo, o Google Maps, sabemos que podemos representar coisas no mapa como um ponto - ou seja, aquele restaurante fica localizado em um ponto.

Posso representar em uma linha quando eu quero falar de uma rota entre o ponto A e o ponto B e qual rota eu vou traçar. Então aquela linha que traça a rota é o geography do tipo linha.

Ou quando, por exemplo, eu quero mostrar os limites de um estado ou de uma cidade. Aí é um polígono que começa em um ponto e termina no outro.

Claro que para desenhar isso eu tenho vários pontos que representam coordenadas geográficas dentro do mapa. Tudo isso entra no dado geográfico.

Aí nós temos o dado que é o struct ou array - que, inclusive, nós vimos esse tipo de estrutura no curso passado. O struct ou array são dados semiestruturados e que normalmente são representados como JSONs, que mixam valores com propriedades, valores com arrays, ou arrays com outros JSONs incluídos.

Então esses são os tipos de dados que nós vamos trabalhar e ver daqui para frente dentro da nossa formação de Google BigQuery. Então é isso! Um abraço e até o próximo vídeo!

Sobre o curso BigQuery: Funções do BigQuery

O curso BigQuery: Funções do BigQuery possui 305 minutos de vídeos, em um total de 69 atividades. Gostou? Conheça nossos outros cursos de NoSQL em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda NoSQL acessando integralmente esse e outros cursos, comece hoje!

Plus

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85
à vista R$1.020
Matricule-se

Pro

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas