Usando o Google BigQuery para resolver problemas globais de ciência de dados geoespaciais

por | Jul 23, 2021

Correio eletrónicoTwitterLinkedIn

Um aspeto fundamental da Premise como uma plataforma capacitada para o público é a geoespaciais que recolhemos de todo o mundo.

Estes dados têm componentes de localização, como a latitude e a longitude, que oferecem oportunidades para uma análise perspicaz e de valor acrescentado. Na Premise, a privacidade e a segurança dos nossos utilizadores é fundamental e, por isso, anonimizamos rigorosamente os nossos dados, o que nos permite realizar análises subnacionais, protegendo a privacidade dos nossos utilizadores.

O problema dos dados geoespaciais

Um grande desafio quando se trata de trabalhar com dados geoespaciais é o facto de poderem ser muito dispendiosos do ponto de vista computacional. A não otimização destes cálculos pode custar tempo e dinheiro. Com mais de 2,75 milhões de contribuintes únicos que efectuaram mais de 100 milhões de envios até à data, é essencial processar e analisar estes dados rapidamente.

Prever dados demográficos que apresentem as Filipinas por província e a percentagem da população que fala principalmente filipino/tagalogues

Um caminho para Premise ciência de dados se concentrou em transformar esta riqueza de dados em produtos para os nossos clientes foi através da criação de um conjunto de dados demográficos que agrega os nossos dados demográficos a fronteiras administrativas a diferentes níveis, ou seja, nacional ou estatal/provincial. Isto permite-nos obter uma desagregação de informações demográficas como a etnia, a língua, a religião e muito mais, como se pode ver no exemplo acima.

O que fizemos

Recorremos ao Google BigQuery para realizar pesquisas geoespaciais cálculos geoespaciais de alta velocidade a uma escala global. Isto permitiu-nos responder a diversas necessidades de dados, incluindo a síntese de centenas de milhões de registos e a eliminação de potenciais estrangulamentos de processamento.

Com dados dispersos por diferentes projectos e várias tabelas, precisávamos de incorporar a população global, geoespaciais geoespaciais, localizações e histórico de utilizadores anónimos e os resultados dos nossos dados demográficos numa única tabela.

Anteriormente, tínhamos analisado estes dados utilizando o Google Colab que exigia a execução do bloco de notas mais de 1000 vezes devido a limitações de memória do serviço.

Queríamos obter uma cobertura global num único passo, o que exigia um ambiente diferente. Um desafio adicional que esta análise colocava era o facto de exigir milhões de junções espaciais, ou seja, juntar partes de dados que se encontram no mesmo local ou região. Isto tende a ser muito dispendioso do ponto de vista computacional.  

Por que o BigQuery foi a solução ideal

Como os contribuidores se deslocam à medida que vivem, precisávamos de processar o comportamento dos utilizadores e garantir que os atribuíamos ao estado ou distrito correto para assegurar a exatidão das nossas desagregações demográficas. O BigQuery forneceu uma solução para todos os nossos desafios para essa análise.

Os recursos do BigQuery o tornaram uma escolha óbvia para esse desafio. Ele nos ajudou a utilizar perfeitamente a memória escalável do Google Cloud e nos permitiu processar nossos dados rapidamente em escala global. No processo, conseguimos acelerar drasticamente os milhões de junções espaciais que tínhamos de fazer.  

A profundidade das funcionalidades e a flexibilidade do BigQuery permitir-nos-iam efetuar todos os cálculos, desde cálculos de tamanho de amostra a margens de erro e intervalos de confiança, dentro da plataforma. Por exemplo, tivemos de combinar as localizações dos utilizadores com os fusos horários globais e processar muitos pontos de informação de localização dos utilizadores para os atribuir às regiões correctas.

O que aprendemos

O resultado final foi que transferimos toda a computação principal para a BQ com uma consulta SQL que combinava dados populacionais, dados de submissão de contribuintes, as nossas tabelas geoespaciais e informações do utilizador. 

Seleccionámos dados demográficos apenas de utilizadores recentemente activos, realizámos uma junção espacial para determinar a área administrativa a que um utilizador pertencia para podermos agregar dados, agregámos os dados com grupos por e, em seguida, utilizámos os nossos dados populacionais para calcular margens de erro e intervalos de confiança para os nossos dados.  

O processamento de dados demográficos envolveu o contacto com tabelas que incluíam mais de 146 milhões de linhas, totalizando mais de 731 GB de dados. Usando o BigQuery e otimizando nosso SQL, processamos apenas 3,9 GB e levamos apenas 12 segundos para concluir o que levou semanas durante o piloto. As nossas consultas de localização de utilizadores processaram mais de 8 TB de dados em menos de 10 minutos.  

Estes cálculos rápidos permitir-nos-ão manter o nosso produto demográfico global atualizado quase em tempo real, proporcionando uma melhor experiência ao cliente e libertando a equipa de ciência de dados para se concentrar na melhoria do produto, em vez de se limitar a tentar concluir a análise.

O projeto é um excelente exemplo de como a Premise Data está a aproveitar as ferramentas do Google Cloud para criar eficientemente produtos globais para os nossos clientes. Os nossos próximos projectos envolvem a utilização das bibliotecas de índices espaciais H3 integradas no BigQuery como uma abordagem diferente para agregar dados de segurança.  

O trabalho de bastidores realizado pela Google permite-nos, enquanto cientistas de dados, concentrarmo-nos na criação de produtos de valor acrescentado e na síntese de fontes de dados variadas, libertando-nos para utilizar funções geoespaciais dispendiosas do ponto de vista computacional e processar terabytes de dados em minutos, graças à infraestrutura da Google. 

Entre em contacto connosco hoje para saber mais sobre como podemos poupar-lhe tempo e dinheiro, desenvolvendo soluções a longo prazo para os seus problemas empresariais mais prementes.