Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Como trabalhar com os dados da Johns Hopkins University sobre COVID-19 no MongoDB Atlas

Aaron Bassett, Joe Karlsson, Mark Smith, Maxime Beugnet8 min read • Published Feb 17, 2022 • Updated Sep 09, 2024
Atlas
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Alguns recursos mencionados abaixo serão descontinuados em 30, 2025 de setembro. Saiba mais.

TL;DR

Nosso Cluster MongoDB está sendo executado na versão 7.0.3.
Você pode se conectar a ele usando MongoDB Compass o , o mongo shell, SQL ou qualquer MongoDB driver que ofereça suporte MongoDB 7 a pelo menos .0 com o seguinte URI:
1mongodb+srv://readonly:readonly@covid-19.hip2i.mongodb.net/covid19
readonly é o nome de usuário e a senha, eles não devem ser substituídos.

Notícias

15 de novembro de 2023

  • A Universidade John Hopkins (JHU) parou de coletar dados a partir de 10de março de 2023.
  • Aqui está o repositório do JHU no Github .
  • A primeira entrada de dados é 2020-01-22, a última é 2023-03-09.
  • Cluster agora em execução em 7.0.3
  • Foi removido o banco de dados covid19jhu com os dados brutos. Use o banco de dados muito melhor covid19.
  • O acesso às Ferramentas de BI agora está desativado.

10de dezembro de 2020

  • Atualizado o cluster para 4.4.
  • Melhorou o script de importação de dados do python para calcular os valores diários utilizando os valores cumulativos existentes com um Aggregation Pipeline.
    • confirmed_daily.
    • deaths_daily.
    • recovered_daily.

13de maio de 2020

  • Renomeou o campo "cidade" para "condado" e "cidades" para "condados", quando apropriado. Elas contêm os dados da coluna "Admin2" em JHU CSVs.

6de maio de 2020

  • O banco de dados docovid19 agora tem collection do 5 . Mais detalhes em nosso README.md.
  • A collectioncovid19.statistics foi renomeada como covid19.global_and_us para maior clareza.
  • Os gráficos da Maxime agora estão usando a covid19.global_and_us collection.
  • O conjunto de dados é atualizado a cada hora, portanto, qualquer confirmação feita pela JHU será refletida no máximo uma hora depois em nosso cluster.

Sumário

Introdução

À medida que a pandemia de COVID-19 varreu o mundo, o trabalho da JHU (Universidade Johns Hopkins) e seu painel de controle19 do COVID- tornam-se de vital importância para manter as pessoas informadas sobre o progresso do vírus em suas comunidades, em seus países e no mundo .
O JHU não apenas publica seu painel, mas também disponibiliza os dados que o alimentam gratuitamente para qualquer pessoa usar. No entanto, seus dados são fornecidos como arquivos CSV simples que você precisa baixar toda vez para depois consultá-los. Decidimos tornar esses dados atualizados mais acessíveis para que as pessoas possam construir outras análises e aplicativos diretamente sobre o conjunto de dados.
Agora estamos hospedando um serviço com uma cópia atualizada com frequência dos dados do JHU no MongoDB Atlas, nosso cloud. Esses dados são gratuitos para qualquer pessoa consultar usando a MongoDB e/ou SQL. Também oferecemos suporte direto a uma variedade de BI, para que você possa consultar os dados com Tableau, Qlik e Excel.
Com o conjunto de dados MongoDB COVID-19 , não haverá mais downloads manuais e nem alterações frequentes de formato. Com esse conjunto de dados, esse serviço fornecerá uma visualização consistente de JSON e SQL todos os dias, sem a necessidade de umETLdownstream.
Nenhum dos dados reais é modificado. Ele é estruturado de forma simples para facilitar a consulta, colocando-o em um clusterMongoDB Atlas e criando algumas API convenientes.

O conjunto de dados do MongoDB

Todos os dados que usamos para criar o conjunto de dados MongoDB COVID-19 vêm do conjunto de dadosJHU. Por sua vez, eis as fontes que eles estão usando:
  • a Organização Global de Saúde,
  • a Commissão Nacional de Saúde da Rep. Popular da China,
  • o Centro de Controle de Saúde dos Estados Unidos,
  • o Departamento de Saúde do Governo da Austrália,
  • Centro Europeu de Prevenção e Controle de Saúde,
  • e muitos outros.
Usando os arquivos CSV que eles fornecem, estamos produzindo dois bancos de dados diferentes em nosso cluster.
  • covid19jhu contém os arquivos CSV brutos importados com a ferramenta mongoimport ,
  • covid19 contém o mesmo conjunto de dados, mas com um design de esquema MongoDB limpo com todas as boas práticas que recomendamos.
Aqui está um exemplo de documento no banco de dadoscovid19:
1{
2 "_id" : ObjectId("5e957bfcbd78b2f11ba349bf"),
3 "uid" : 312,
4 "country_iso2" : "GP",
5 "country_iso3" : "GLP",
6 "country_code" : 312,
7 "state" : "Guadeloupe",
8 "country" : "France",
9 "combined_name" : "Guadeloupe, France",
10 "population" : 400127,
11 "loc" : {
12 "type" : "Point",
13 "coordinates" : [ -61.551, 16.265 ]
14 },
15 "date" : ISODate("2020-04-13T00:00:00Z"),
16 "confirmed" : 143,
17 "deaths" : 8,
18 "recovered" : 67
19}
O documento acima foi obtido unindo o arquivo UID_ISO_FIPS_LookUp_Table.csv e a série temporal de arquivos CSV que você pode encontrar nesta pasta.
Alguns campos podem não existir em todos os documentos porque não são relevantes ou simplesmente não são fornecidos pelo JHU. Se você quiser mais detalhes, execute uma análise de esquema com oMongoDB Compass nas diferentes collection disponíveis.
Se você mesmo preferir hospedar os dados, os scripts necessários para baixar e transformar os dados JHU são de código aberto. Você pode visualizá-los e instruções sobre como usá-los em nosso repositório do GitHub.
No banco de dadoscovid19, você encontrará coleções 5 que são detalhadas em nosso arquivo README.md do repositório GitHub.
  • metadata
  • global (os dados dos arquivos globais de série temporal)
  • us_only (os dados dos arquivos dos EUA da série temporal)
  • global_and_us (o mais completo)
  • países_summary (igual ao global, mas os países são agrupados em um único documento para cada data)

Começar

Você pode começar a explorar os dados imediatamente sem qualquer MongoDB ou experiência de programação usando MongoDB Charts ou MongoDB Compass.
Nas seções a seguir, também mostraremos como consumir esse conjunto de dados usando os drivers Java, Node.js e Python.
Mostraremos como realizar as seguintes queries em cada idioma:
  • Recupere os últimos 5 dias de dados para um determinado local,
  • Recuperar todos os dados do último dia,
  • Faça uma query geoespacial para recuperar dados dentro de uma determinada distância de um determinado local.

Explore o conjunto de dados com MongoDB Charts

Com oCharts, você pode criar visualizações dos dados usando qualquer um dos gráficos e tabelas pré-criados. Em seguida, você pode organizar isso em um painel exclusivoou incorporar os gráficos em suas páginas ou blogs.
Se você deseja criar seu próprio painel do MongoDB Charts, precisará configurar seu próprio clusterMongoDB Atlas gratuito e importar o conjunto de dados em seu cluster usando os scripts de importação ou mongoexport & mongoimport ou mongodump & mongorestore. Consulte esta seção para obter mais detalhes: Fazer uma cópia dos dados.

Explore o conjunto de dados com o MongoDB Compass

O MongoDB Compass permite que você se aprofunde nos dados usando a linguagem de query do MongoDB ou por meio do editor visual doaggregation pipeline . Executar uma série de operações nos dados, incluindo matemática, comparação e agrupamentos. Crie documentos que forneçam insights e interpreta ções exclusivas. Você pode usar o resultado de seus pipelines como fontes de dados para seus gráficos.
Screencast mostrando alguns dos recursos do MongoDB Compass para explorar dados do COVID-19
Para o MongoDB Compass ou seu driver, você pode usar esta connection string.
1mongodb+srv://readonly:readonly@covid-19.hip2i.mongodb.net/covid19

Explorar o Conjunto de Dados com a MongoDB Shell

Como armazenamos os dados no MongoDB, você também pode acessá-los por meio do MongoDB Shell ou usando qualquer um de nossos drivers. Limitamos o acesso a essas coleções para "somente leitura". Você pode encontrar as cadeias de conexão para o shell e o Compass abaixo, bem como exemplos de drivers para Java, Node.jse Python para começar.
1mongo "mongodb+srv://covid-19.hip2i.mongodb.net/covid19" --username readonly --password readonly

Acessando os dados com Java

Nossos exemplos Java estão disponíveis em nossa pasta Java do repositório do Github.
Você precisa dos três POJOs da pasta Java Github para fazer isso funcionar.

Acessando os dados com Node.js

Nossos exemplos de Node.js estão disponíveis em nossa pasta Node.js do repositório Github.

Acessando os dados com Python

Nossos exemplos de Python estão disponíveis em nossa pasta Python do repositório Github.

Acessando os dados com Golang

Nossos exemplos de Golang estão disponíveis em nossa pasta Golang do repositório Github.

Acessando os dados com o Google Colaboratory

Se você tem uma conta do Google, uma ótima maneira de começar é com nosso Google Colab Notebook.
O código de amostra mostra como instalar o PyMongo e usá-lo para se conectar ao conjunto de dados MongoDB COVID-19. Existem algumas queries de exemplo que mostram como consultar os dados e exibi-los no bloco de anotações, e o último exemplo demonstra como exibir um gráfico usando Pandas & Mapplolib!
Como renderizar um gráfico em um bloco de anotações CoLab
Se quiser modificar o bloco de anotações, você pode fazer uma cópia selecionando "Salvar uma cópia no Drive ..." no menu "Arquivo" e, em seguida, estará livre para editar a cópia.

Acessando os dados com ferramentas de business intelligence

Você pode obter muito valor do conjunto de dados sem nenhuma programação. Habilitamos o Atlas BI Connector (não é mais, consulte a seção de notícias), que expõe uma interface SQL para a estrutura de documentos do MongoDB. Isso significa que você pode usar ferramentas de análise e painel de dados como Tableau, Qlik Sensee até mesmo MySQL Workbench para analisar, visualizar e extrair conhecimento dos dados.
Aqui está um exemplo de uma visualização produzida em alguns cliques com o Tableau:
COVID-19 Mapa mundial no Tableau.
O Tableau é uma poderosa ferramenta de visualização de dados e painel e pode ser conectado aos nossos dados da COVID-19 em algumas etapas. Escrevemos um breve tutorial para que você comece a usar.

Acessando os dados com qualquer ferramenta SQL

Conforme mencionado acima, o Atlas BI Connector está ativado (não é mais, consulte a seção Novidades), para que você possa conectar qualquer ferramenta SQL a este cluster usando as seguintes informações de conexão:
  • Servidor MongoDB: cofre-19-biconnector.HI2i.mongodb.net,
  • Porta: 27015,
  • Banco de dados: covid19,
  • Nome de usuário: readonly ou readonly?source=admin,
  • Senha: somente leitura.

Fazer uma cópia dos dados

Acessar nossa cópia desses dados em um banco de dados somente leitura é útil, mas não será suficiente se você quiser integrá-los a outros dados em um único cluster MongoDB. Você pode obter uma cópia do banco de dados para usar offline usando uma ferramenta diferente fora do MongoDB ou para carregar em sua própria instância do MongoDB. O mongoexport é uma ferramenta de linha de comando que produz uma exportaçãoJSONL ou CSV de dados armazenados em uma instância MongoDB. Primeiro, siga estas instruções para instalar o MongoDB database.
Agora você pode executar o seguinte em seu console para baixar os metadados e coleções global_and_us como arquivos jsonl em seu diretório atual:
1mongoexport --collection='global_and_us' --out='global_and_us.jsonl' --uri="mongodb+srv://readonly:readonly@covid-19.hip2i.mongodb.net/covid19"
2mongoexport --collection='metadata' --out='metadata.jsonl' --uri="mongodb+srv://readonly:readonly@covid-19.hip2i.mongodb.net/covid19"
Utilize a opção--jsonArray se você preferir trabalhar com uma matriz JSON em vez de um arquivoJSONL.
A documentação de todos os recursos do mongoexport está disponível no site do MongoDB e com o comando mongoexport --help.
Depois de ter os dados em seu computador, você pode usá-los diretamente com ferramentas locais ou carregá-los em sua própria instância do MongoDB usando mongoimport.
1mongoimport --collection='global_and_us' --uri="mongodb+srv://<user>:<password>@<your-cluster>.mongodb.net/covid19" global_and_us.jsonl
2mongoimport --collection='metadata' --uri="mongodb+srv://<user>:<password>@<your-cluster>.mongodb.net/covid19" metadata.jsonl
Observe que você não pode executar esses comandos em nosso cluster porque o usuário que demos a você (readonly:readonly) não tem permissão de escrita nesse cluster. Leia nossa publicação no blog Obtendo seu cluster do MongoDB Atlas gratuito se quiser saber mais.
Outra maneira inteligente de duplicar o conjunto de dados em seu próprio cluster seria usar mongodump e mongorestore. Além de ser mais eficiente, ele também capturará a definição dos índices junto com os dados.
1mongodump --uri="mongodb+srv://readonly:readonly@covid-19.hip2i.mongodb.net/covid19"
2mongorestore --drop --uri="<YOUR_URI>"

Resumo

Vemos o valor e a importância de tornar esses dados o mais prontamente disponíveis possível para todos, por isso não vamos parar por aqui. Nos próximos dias, adicionaremos uma GraphQL e REST API, além de disponibilizar os dados no Excel e no Google Planilhas.
Também lançamos um programa de créditos Atlas para qualquer pessoa que trabalhe na detecção, compreensão e interrupção da propagação da COVID-19.
Se você estiver tendo problemas para acessar os dados ou tiver outros conjuntos de dados que gostaria de hospedar, entre em contato conosco na MongoDB Community. Também gostariamos de mostrar todos os serviços que você criar com base nesse conjunto de dados. Por fim, envie PRs para quaisquer alterações de código que você gostaria de fazer nos exemplos.
Você também pode entrar em contato diretamente com os autores (Aaron Bassett, Joe Karlsson, Mark Smithe Maxime Beugnet) no Twitter.

Fontes


Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Como implementar o MongoDB Atlas com o AWS CDK no TypeScript


Jan 23, 2024 | 5 min read
Tutorial

Aprenda a criar soluções de pesquisa de varejo aprimoradas por IA com MongoDB e Databricks


Sep 18, 2024 | 14 min read
exemplo de código

EHRS-Peru


Sep 11, 2024 | 3 min read
Tutorial

Desbloqueando a pesquisa semântica: crie um mecanismo de pesquisa de filmes baseado em Java com o Atlas Vector Search e o Spring Boot


Sep 18, 2024 | 10 min read
Sumário