Tudo bem? Meu nome é Victorino Vila e eu vou ser o instrutor de vocês de mais um treinamento de BigQuery.
RANGE_BUCKET
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!
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!
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.
Int64
- Inteiros cujos valores variam de 10(-19) e 10(+19);Float64
- Equivalente ao Int64
, mas para números decimais;Bool
- Valores lógicos (Verdadeiro ou Falso);Numeric
- Números com 38 dígitos de precisão de 9 dígitos decimais;String
- Sequências de caracteres Unicode;Timestamp
- Representa um ponto específico no tempo;Datetime
- Representa uma data e hora dentro do calendário;Geography
- Representa pontos, linhas ou polígonos com dados;Struc
ou Array
- Representam um valor em JSON
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, o
boolna verdade é um
inteiro 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!
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:
Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
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.
Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.
Emitimos certificados para atestar que você finalizou nossos cursos e formações.
Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
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.
Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.
Emitimos certificados para atestar que você finalizou nossos cursos e formações.
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.
Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.
Acesso completo
durante 1 ano
Estude 24h/dia
onde e quando quiser
Novos cursos
todas as semanas