Skip to main content
Sensor.Community é uma rede global de sensores movida por colaboradores que cria Dados Ambientais Abertos. Os dados são coletados por sensores em todo o mundo. Qualquer pessoa pode comprar um sensor e instalá-lo onde quiser. As APIs para baixar os dados estão no GitHub, e os dados estão disponíveis gratuitamente sob a Database Contents License (DbCL).
O conjunto de dados tem mais de 20 bilhões de registros, portanto tenha cuidado ao simplesmente copiar e colar os comandos abaixo, a menos que seus recursos consigam lidar com esse volume. Esses comandos foram executados em um serviço do ClickHouse Cloud com dimensionamento adequado.
Para testar esses comandos por conta própria, você pode se inscrever em um teste gratuito do ClickHouse Cloud ou configurar um ClickHouse auto-hospedado.
  1. Os dados estão no S3, então podemos usar a table function s3 para criar uma tabela a partir dos arquivos. Também podemos consultar os dados no local. Vamos ver algumas linhas antes de tentar inseri-los no ClickHouse:
Os dados estão em arquivos CSV, mas o delimitador é ponto e vírgula. As linhas têm esta aparência:
  1. Usaremos a tabela MergeTree a seguir para armazenar os dados no ClickHouse:
  1. Usaremos a função de tabela s3Cluster, que distribui os arquivos do S3 entre os nós do seu cluster para que sejam lidos em paralelo. No ClickHouse Cloud, seu cluster se chama default, e você pode executar a consulta exatamente como mostrado. Em um servidor autogerenciado, substitua default pelo nome do seu cluster — ou, se estiver executando um único servidor, use a função de tabela s3, removendo o primeiro argumento para que a chamada comece pela URL.
Esta consulta vai demorar um pouco — são cerca de 1,67 T de dados não comprimidos:
Aqui está a resposta - mostrando o número de linhas e a velocidade de processamento. Os dados são inseridos a uma taxa de mais de 6M de linhas por segundo!
  1. Vamos ver quanto espaço de armazenamento em disco é necessário para a tabela sensors:
O 1,67 T é compactado para 310 GiB, e há 20,69 bilhões de linhas:
  1. Vamos analisar os dados agora que eles estão no ClickHouse. Observe que o volume de dados aumenta ao longo do tempo, à medida que mais sensores são implantados:
Podemos criar um gráfico no SQL Console para visualizar os resultados:
  1. Esta consulta conta o número de dias quentes e úmidos em excesso:
Veja a visualização do resultado: