O Atlas Data Federation permite GCP buckets de armazenamento GCP como armazenamentos de instância do banco de dados federado . Você deve definir mapeamentos na instância do banco de dados federado para o bucket do Cloud Storage para executar queries nos seus dados.
Observação
Nos referimos a objetos como arquivos e prefixos separados por delimitadores como diretórios nesta página. No entanto, esses serviços de armazenamento de objeto não são, na verdade, sistemas de arquivos e não têm os mesmos comportamentos em todos os casos como arquivos em um disco rígido.
Formato de arquivo de configuração
Para definir um armazenamento de instância do banco de dados federado com o Google Cloud Platform, você pode especificar os parâmetros de configuração no formato JSON. A configuração contém o armazenamento de dados da Google Cloud Platform e o mapeia para coleções virtuais que você pode consultar.
A configuração JSON para dados no Google Cloud Platform usa os seguintes campos:
1 { 2 "stores" : [ 3 { 4 "name" : "<string>", 5 "provider" : "<string>", 6 "region" : "<string>", 7 "bucket" : "<string>", 8 "prefix": "<string>", 9 "delimiter": "<string>" 10 } 11 ], 12 "databases" : [ 13 { 14 "name" : "<string>", 15 "collections" : [ 16 { 17 "name" : "<string>", 18 "dataSources" : [ 19 { 20 "storeName" : "<string>", 21 "path" : "<string>", 22 "defaultFormat" : "<string>", 23 "provenanceFieldName": "<string>", 24 "omitAttributes": <boolean> 25 } 26 ] 27 } 28 ], 29 "maxWildcardCollections" : <integer>, 30 "views" : [ 31 { 32 "name" : "<string>", 33 "source" : "<string>", 34 "pipeline" : "<string>" 35 } 36 ] 37 } 38 ] 39 } 40
A configuração JSON para Google Cloud Platform contém dois objetos de nível superior: stores e databases
stores
O objeto stores define cada armazenamento de dados associado com a instância do banco de dados federado. O armazenamento de instância do banco de dados federado captura arquivos no Google Cloud Platform. O Data Federation só pode acessar armazenamentos de dados definidos no objeto stores.
O objeto stores contém os seguintes campos:
1 "stores" : [ 2 { 3 "name" : "<string>", 4 "provider" : "<string>", 5 "region" : "<string>", 6 "bucket" : "<string>", 7 "prefix": "<string>", 8 "delimiter": "<string>" 9 } 10 ]
A tabela a seguir descreve os campos no objeto de armazenamentos :
Campo | Tipo | necessidade | Descrição | ||||
|---|---|---|---|---|---|---|---|
array | Obrigatório | Array de objetos em que cada objeto representa um armazenamento de dados a ser associado à instância do banco de dados federado. O armazenamento de instância do banco de dados federado captura:
O Atlas Data Federation só pode acessar armazenamentos de dados definidos no objeto | |||||
string | Obrigatório | Nome de armazenamento da instância do banco de dados federado . O campo | |||||
string | Obrigatório | Nome do provedor de nuvem onde os dados são armazenados. O valor deve ser | |||||
string | Obrigatório | Nome da Google Cloud Platform região da Google Cloud Platform na qual o bucket de armazenamento da Google Google Cloud Platform Cloud Platform está hospedado. Para obter uma lista de nomes de regiões válidos, consulte Google Cloud Platform (GCP). | |||||
string | Obrigatório | Nome do bucket de armazenamento da Google Google Cloud Platform Cloud Platform. Deve corresponder exatamente ao nome de um Google Cloud Platform bucket do Google Cloud Platform Storage que o Atlas Data Federation deve acessar. | |||||
string | Opcional | O prefixo Atlas Data Federation se aplica ao procurar arquivos no Google Cloud Platform bucket Storage do Google Cloud Platform. Por exemplo, considere um Google Cloud Platform bucket de armazenamento da Google Cloud Platform O armazenamento de instância do banco de dados federado acrescenta o valor de O padrão é a raiz do bucket de armazenamento do Google Google Cloud Platform Cloud Platform, recuperando todos os arquivos. | |||||
string | Opcional | Delimitador que separa |
databases
O objeto databases define o mapeamento entre cada instância do banco de dados federado definido em stores e nas collections MongoDB nos bancos de dados.
O objeto databases contém os seguintes campos:
1 "databases" : [ 2 { 3 "name" : "<string>", 4 "collections" : [ 5 { 6 "name" : "<string>", 7 "dataSources" : [ 8 { 9 "storeName" : "<string>", 10 "path" : "<string>", 11 "defaultFormat" : "<string>", 12 "provenanceFieldName": "<string>", 13 "omitAttributes": <boolean> 14 } 15 ] 16 } 17 ], 18 "maxWildcardCollections" : <integer>, 19 "views" : [ 20 { 21 "name" : "<string>", 22 "source" : "<string>", 23 "pipeline" : "<string>" 24 } 25 ] 26 } 27 ]
A tabela a seguir descreve os campos no objeto de bancos de dados :
Campo | Tipo | necessidade | Descrição | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
array | Obrigatório | Array de objetos onde cada objeto representa um banco de dados, suas coleções e, opcionalmente, quaisquer visualizações nas coleções. Cada banco de dados pode ter vários objetos | |||||||||||||
string | Obrigatório | Nome do banco de dados para o qual o Atlas Data Federation mapeia os dados contidos no armazém de dados. | |||||||||||||
array | Obrigatório | Array de objetos em que cada objeto representa uma coleção e fontes de dados que mapeiam para um | |||||||||||||
string | Obrigatório | Nome da collection para a qual a Atlas Data Federation mapeia os dados contidos em cada Você pode gerar nomes de coleções dinamicamente a partir de caminhos de arquivos, especificando | |||||||||||||
array | Obrigatório | Array de objetos em que cada objeto representa um | |||||||||||||
string | Obrigatório | Nome de um armazém de instância do banco de dados federado para mapear para o | |||||||||||||
string | Obrigatório | Controla como o Atlas Data Federation pesquisa e analisa arquivos no Por exemplo, considere um Google Cloud Platform bucket de armazenamento da Google Cloud Platform chamado Um Um Se o Anexar o caractere curinga
Consulte Definir Caminho para Dados do S3 para obter mais informações. Ao especificar o
Ao especificar atributos do mesmo tipo, faça qualquer um dos seguintes:
| |||||||||||||
string | Opcional | Formato padrão que o Data Federation assume se encontrar um arquivo sem extensão ao pesquisar o Os seguintes valores são válidos para o campo
Se o formato do arquivo for Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo. Veja também: Formatos de dados suportados | |||||||||||||
string | Opcional | Nome do campo que inclui a procedência dos documentos nos resultados. Se você especificar esta configuração na configuração de armazenamento, o Atlas Data Federation retornará os seguintes campos para cada documento no resultado:
Você não pode definir esta configuração utilizando o Editor Visual na UI do Atlas. | |||||||||||||
booleano | Opcional | Sinalizador que especifica se devem ser omitidos os atributos (pares de chave e valor) que o Atlas Data Federation adiciona aos documentos na coleção. Você pode especificar um dos seguintes valores:
Se omitido, o padrão é Por exemplo, considere um arquivo denominado |
Exemplo de configuração para Google Cloud Platform o bucket de armazenamento do Google Cloud Platform
Considere um Google Cloud Platform contêiner datacenter-alpha de armazenamento do Google Cloud Platform contendo dados coletados de um centro de dados:
|--metrics |--hardware
O caminho /metrics/hardware armazena arquivos JSON com métricas derivadas do hardware do centro de dados, onde cada nome de arquivo é o carimbo de data/hora UNIX em milissegundos do período de 24 horas coberto por esse arquivo:
/hardware/1564671291998.json
A configuração a seguir:
Define um armazenamento de instância do banco de dados federado
datacenter-alphaGoogle Cloud Platform no bucket de armazenamento dous-central1Google Cloud Platform Google Cloud Platform do na região do Google Cloud Platform do. O armazenamento da instância do banco de dados federado store é especificamente restrito para incluir apenas arquivos de dados no caminho do diretóriometrics. Um delimitador de/é definido para simular uma hierarquia do sistema de arquivos para facilitar a navegação e a recuperação.Mapeia arquivos da pasta
hardwarepara um banco de dados MongoDBdatacenter-alpha-metricse uma coleçãohardware. O mapeamento de configuração inclui lógica de análise para capturar o carimbo de data/hora implícito no nome do arquivo.
{ "stores" : [ { "name" : "datacenter-alpha", "provider" : "gcs", "region" : "us-central1", "bucket" : "datacenter-alpha", "prefix": "metrics", "delimiter": "/" } ], "databases" : [ { "name" : "datacenter-alpha-metrics", "collections" : [ { "name" : "hardware", "dataSources" : [ { "storeName" : "datacenter-alpha", "path" : "/hardware/{date date}" } ] } ] } ] }
O Atlas Data Federation analisa o Google Cloud Platform bucket de armazenamento da Google Cloud Platform datacenter-alpha e processa todos os arquivos /metrics/hardware/ abaixo de. O collections objeto usa a sintaxe de análise de caminho para mapear o nome do arquivo para o date campo , que é uma8601 data ISO-, em cada documento. Se um campo date correspondente não existir em um documento, o Atlas Data Federation adicionará.
Os usuários conectados à instância do banco de dados federado podem usar a Linguagem de Query MongoDB e agregações compatíveis para analisar dados no GCP bucket de Armazenamento GCP por meio da datacenter-alpha-metrics.hardware coleção.