Como afirmam os analistas de dados, a análise de um conjunto de dados com SQL é, em geral, uma das primeiras etapas para encontrar insights. O que essa consulta faz, na verdade? Quer adivinhar? Aqui, estamos contando o número total de passeios feitos em um conjunto de dados público em relação aos passeios de bicicletas compartilhadas de São Francisco. Agora, vamos ver melhor esse conjunto de dados público em uma demonstração rápida. Agora é hora de desenferrujar suas habilidades de linguagem de consultas de estrutura ou SQL conforme conhecemos alguns conjuntos de dados públicos no Google BigQuery. Vamos lá. Nesta demonstração… Como acessei este conjunto de dados público do BigQuery, que é o que estávamos observando antes, "san_francisco_bikeshare.bikeshare_trips"? Ele é deste conjunto de dados acessÃvel ao público: "bigquery-public-data". Talvez isso não esteja na sua conta do Qwiklabs ou nas suas contas pessoais. Para acessar esses conjuntos de dados, clique em "Adicionar dados", em "Explorar conjuntos de dados públicos", e escolha um desses. Depois, você volta para o console. Quero mostrar algumas coisas interessantes que fui conhecendo no BigQuery ao longo dos anos. Agora temos vários conjuntos de dados públicos do BigQuery para testar. Quando encontrar um que goste… É possÃvel fazer muitas coisas apenas sabendo o nome da tabela. Ainda não vamos escrever SQL. Tenho o nome da tabela. Perceba que há hifens nele. Nomeamos o projeto do BigQuery como "biquery-public-data" com hifens. É aà que precisamos desses acentos graves. Tecnicamente, você só precisa disso no nome do projeto, mas é aà que você vê esses acentos, que é este caractere aqui, em cena. Se não houver hifens, você não precisa desses sinais. Essa é a primeira dica. A segunda é uma das minhas preferidas. Ao manter isso assim, pelo menos no Mac, vai ser a chave de comando ou do Windows, e vai destacar todos os conjuntos de dados na sua consulta. Por que isso é útil? Porque assim você pode clicar neles. Se há vários conjuntos de dados que você quer conhecer melhor, ou você herdou uma consulta de alguém, é possÃvel acessar o esquema rapidamente, os detalhes na visualização daquela determinada tabela. Estamos tentando ir o mais longe possÃvel sem precisar teclar muito. Dê uma olhada no esquema, é "bikeshare_trips" de São Francisco. Há dados como o ID do passeio. Tudo o que poderÃamos querer. A duração e os segundos, o horário de inÃcio e as estações. Deixe sua imaginação correr solta pensando nos insights interessantes que você poderia ter. Dados geográficos. Temos longitude e latitude iniciais, longitude e latitude finais, talvez algumas daquelas funções SIG. Vamos ver quantas linhas nós temos. Não é necessário "COUNT(*)" ou algo do tipo. Temos aqui quase 2 milhões de linhas e cerca de 375 megabytes. Como prática recomendada, não selecione "COUNT(*)" de uma tabela com o valor "10" como limite quando só olhar para uma previa bastaria. Você viu o esquema e o tipo de dados. Agora você pode vir até aqui, observar o número total de linhas e ver valores de dados de amostra. Você consegue ver a estação, onde o trajeto começou e terminou, todas as informações necessárias para conhecer melhor os dados. Se quiser criar uma tabela, clique em "Consultar tabela". Vai aparecer algo como: "Vou substituir tudo no Editor de Consultas". Claro, tudo bem. Depois será algo como: "Selecione algumas colunas dos passeios de bicicletas compartilhadas". Vou dar uma dica bem legal. É algo que descobri há pouco tempo, e parabéns à equipe do BigQuery. Se eu quisesse ver apenas, digamos, o número total de passeios que começaram no nome da estação… Só clico nos nomes dos campos. Isso é bom principalmente se houver nomes de campos bem longos, ou se você tiver… Você não quer ficar digitando como eu faço em demonstrações ao vivo. É só clicar nesses nomes, e eles vão ser adicionados, até as vÃrgulas vão ser adicionadas, o que é bem legal. Já no BigQuery, você consegue formatar a consulta. Mesmo se você conhecer bem SQL, ainda é interessante fazer isso tanto quanto possÃvel, sem digitar nada no editor. Vou executar a consulta. Não é muito útil para nós, porque só vai nos dar o nome da estação. Ainda está no nÃvel de granularidade do passeio individual. Então, qual é uma das coisas que você pode fazer no BigQuery? Se considerar o ID da viagem, podemos dizer: "Quero ter uma função de agregamento, como uma contagem de todos os passeios". Não, isso… Está contando apenas as linhas. Você poderia usar "COUNT(*)", alguns preferem "COUNT(1)" ou algo do tipo. Pensando na legibilidade, vou manter a contagem de "trip_id" para que outra pessoa que herdar meu código consiga ver rapidamente o nÃvel de granularidade desta tabela. Vamos chamar isso de "num_trips". Agora, o que é comum, você vai ver um aviso de erro imediatamente. Se você trabalha com SQL há algum tempo, assim que faz uma agregação em um campo, todos os outros campos restantes também deverão ser agregados, mas… Se já está tarde, talvez você queira abrir o validador. Você vai ver algo do tipo: "Isso faz referência a 'start_station_name'". Uma pessoa aqui está agregada, mas, esta outra, não está. Então, naturalmente, você… Você usa "GROUP BY". Assim podemos dizer: "Certo, estamos agrupando todos os passeios em um único valor. Vamos fazer o agrupamento de acordo com cada uma das estações". Se você lembra de SQL, o que pode fazer para tirar o máximo de proveito? Primeiro, pode usar "ORDER BY", que será uma classificação, e você pode fazer isso usando o alias, como vemos aqui. Você não consegue filtrar com uma cláusula "WHERE" usando um campo de alias, porque isso não existe quando o mecanismo de consulta realiza aquela cláusula "WHERE". É bom lembrar disso. São nesses casos que você pode usar tabelas temporárias. Classifique primeiro pelo maior número de passeio. Vou escolher as 10 principais estações ou algo do tipo. Precisamos formatar isso. Se você quiser pode adicionar um comentário no topo. Temos as 10 principais estações por volume. Vá em frente e execute a consulta, vamos ver as estações mais conhecidas. Temos a Caltrain, de São Francisco, e posso defender essa, com certeza. Quando você desce do trem, precisa ir a algum lugar de São Francisco, e ela já conta com 72 mil passeios. Se quer fazer mais alguns testes, adicione um filtro, como se estivesse pedindo: "Ei, só quero ver os passeios de 2018". Há outro campo, posso voltar… Para ser sincero, esqueci o nome do campo. Pressiono o botão, e depois insiro a data de inÃcio. Vamos ver o campo "start_date". "start_date" é um carimbo de data/hora. Vamos ver. Podemos… "WHERE start_date"… Digamos que, após… Colocamos 2018? Podemos começar com 2017. Fim de 2017. 31/12, claro. Depois, se quiser, é possÃvel fazer a conversão. Espero que tudo seja feito automaticamente. Há muitas funções de datas e extrações para usar, mas… Vamos ver, acho que era antes de 20 mil ou algo do tipo? Acho que 70 mil, para a linha de Caltrain, então vamos ver se essa ainda é a primeira. Olhe, no último ano, a Caltrain perdeu o primeiro lugar, que é do Ferry Building, um ponto turÃstico famoso para quem não conhece São Francisco. Ele tem o maior número de passeios em 2018. Se você está fazendo muitas agregações no BigQuery e filtrando os resultados, é interessante ter esses tipos de insights, mas um jeito mais fácil de fazer isso, muitas vezes, é exportando os dados ou fazendo a vinculação deles diretamente de uma ferramenta de visualização de front-end, como o Data Studio. Há uma escolha do tipo: "Não quero limitar os dados aqui. Quero colocar todos eles em uma ferramenta de visualização". Depois, você pode filtrar os usuários que têm os resultados. Se eu quiser armazenar esta consulta comum, posso fazer algumas coisas. Eu poderia salvar a consulta como… Uma consulta dentro do meu projeto, apenas para mim ou para todas as pessoas com acesso, ou posso salvar apenas no modo de visualização. Já que geralmente confirmo todo o meu código no controle de versão, gosto de usar a linguagem de definição de dados em SQL, SQL DDL, e isso diz que quero criar… Quero uma instrução de criação dentro do próprio código. Se as pessoas se perguntarem: "Onde você conseguiu esses dados de 2018?" Na verdade, não são apenas de 2018, são todos os dados depois de 2017. Se você está aà do outro lado dizendo: "Opa, não são só de 2018!", reconheço isso. Em "CREATE OR REPLACE", insiro "TABLE". Podemos escolher um nome para a tabela. Vamos chamar de… Precisamos de um conjunto de dados. Temos um? Acho que não. Precisamos ter um antes de inserir elementos aqui. Vamos chamar de "bike_insights", ou algo do tipo. O conjunto de dados é só uma coleção. Agora, temos um conjunto de dados vazio. Não há tabelas aqui, então vamos começar a preencher uma. Então inserimos "bike_insights" em "CREATE OR REPLACE TABLE" no conjunto de dados que vamos chamar de… "top_ trips_ 2018_and_beyond". Tente criar nomes mais curtos do que esse. Assim que você criar isso, logo vai ver isto aparecer. Pronto, aà está, e agora você tem isso. A consulta não será executada, novamente, todas as vezes. Talvez você esteja se perguntando: "E se a fonte de dados pública do BigQuery for atualizada depois?' Esse é um ponto realmente excelente. Como você… Sua tabela… Todos os dados foram inseridos aqui. Será estático agora. O que você pode fazer é, caso queira vincular isso ao seu painel, em vez de criar uma tabela, apenas crie uma visualização, que é uma visualização lógica… Ou seja, a cada vez… Vamos chamar essa visualização. Já que vemos a mensagem: "Ei, esse objeto já existe". A cada vez você vai perceber a mudança no Ãcone, e você pode clicar aqui e ver o que consta na tabela. É possÃvel visualizar os dados. Na visualização, não temos mais a prévia, por quê? Porque a visualização é só um objeto vazio. Uma visualização é, basicamente, uma visualização lógica na instância de SQL. É apenas uma consulta armazenada. Se você estiver tentando consultar a visualização, podemos fazer isso. Depois, a execução acontece na consulta que armazenamos anteriormente. Vamos resumir. Vimos conjuntos de dados, inclusive públicos. Você pode conhecer melhor esses elementos. Você viu algumas dicas e alguns truques interessantes. Se quiser editar aquela visualização depois, role para baixo, traga o resultado de volta, observe o esquema e continue analisando como achar melhor. Quando se trata de análise de dados, vimos apenas a ponta do iceberg. Só fizemos uma contagem de passeios com os nomes de estações mais famosas. Há também conjuntos de dados relacionados ao clima. Você pode analisar para ver… Há um conjunto de dados de bicicletas em Nova Iorque ou São Francisco. Você pode ver onde o clima afeta mais… Onde mais afeta os ciclistas ou como é o desempenho, em geral, do programa de bicicletas compartilhadas dependendo da época. Há menos ou mais desses passeios nos meses de inverno? É possÃvel verificar isso por conta própria, mas você consegue fazer tudo com SQL sem se preocupar com a criação da infraestrutura. No BigQuery, tudo é gerenciado para você. Chegamos ao fim.