Referência do Oracle NoSQL Database Migrator
Saiba mais sobre parâmetros de modelo de configuração de origem, sumário e transformação disponíveis para o Oracle NoSQL Database Migrator.
Este artigo tem os seguintes tópicos:
Tópicos Relacionados
Parâmetros
Parâmetros de Configuração Comum
Estes são os parâmetros de configuração comuns. Consulte as seções do modelo de configuração individual para obter exemplos.
bucket
-
Finalidade: Especifica o nome do bucket do OCI Object Storage, que contém os objetos de origem/detentor.
Certifique-se de que o bucket necessário já exista na instância do OCI Object Storage e tenha permissões de leitura/gravação.
- Tipo de Dados: string
- Obrigatório (S/N): S
chunkSize
-
Finalidade: Especifica o tamanho máximo de um
chunk
de dados da tabela a ser armazenado no sumidouro. O valor está em MB. Durante a migração, uma tabela é dividida em partes chunkSize e cada parte é gravada como um arquivo separado na pia. Um novo arquivo é criado quando os dados de origem que estão sendo migrados excedem o valor chunkSize.Se não for especificado, o padrão será 32MB. O valor válido é um número inteiro entre 1 e 1024.
- Tipo de Dados: inteiro
- Obrigatório (S/N): N
credentials
-
Finalidade: Especifica o caminho absoluto para um arquivo que contém credenciais do OCI. O NoSQL Database Migrator usa esse arquivo para estabelecer conexão com o serviço OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage etc.
O valor padrão é
$HOME/.oci/config
Consulte Exemplo de Configuração para obter um exemplo do arquivo de credenciais.
Observação:
Os parâmetros de autenticação credentials, useInstancePrincipal e useDelegationToken são mutuamente exclusivos. Especifique apenas um desses parâmetros no modelo de configuração. - Tipo de Dados: string
- Obrigatório (S/N): N
credentialsProfile
-
Finalidade: Especifica o nome do perfil de configuração a ser usado para estabelecer conexão com o serviço OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage etc. As credenciais da conta do usuário são denominadas perfil.
Se você não especificar esse valor, o NoSQL Database Migrator usará o perfil
DEFAULT
.Observação:
Esse parâmetro só será válido se o parâmetro credentials for especificado. - Tipo de Dados: string
- Obrigatório (S/N): N
ponto final
- Finalidade: Especifica uma das seguintes opções:
- O URL do ponto final do Serviço ou o ID da Região do serviço OCI Object Storage.
Para obter a lista de pontos finais do serviço OCI Object Storage, consulte Pontos Finais do Serviço Object Storage.
- O URL do ponto final do Serviço ou o ID da Região do Oracle NoSQL Database Cloud Service.
Você pode especificar o URL completo ou o ID da Região sozinho. Para obter a lista de regiões de dados suportadas para o Oracle NoSQL Database Cloud Service, consulte Regiões de Dados e URLs de Serviços Associados no documento do Oracle NoSQL Database Cloud Service.
- O URL do ponto final do Serviço ou o ID da Região do serviço OCI Object Storage.
- Tipo de Dados: string
- Obrigatório (S/N): S
formato
- Finalidade: Especifica o formato de origem/sink.
- Tipo de Dados: string
- Obrigatório (S/N): S
namespace
-
Finalidade: Especifica o namespace do serviço OCI Object Storage. Esse parâmetro é opcional. Se você não especificar esse parâmetro, o namespace padrão da tenancy será usado.
- Tipo de Dados: string
- Obrigatório (S/N): N
prefixo
-
Finalidade: O prefixo atua como um contêiner ou diretório lógico para armazenar dados no bucket do OCI Object Storage.
- Modelo de configuração de origem: Se o parâmetro
prefix
estiver especificado, todos os objetos do diretório nomeado no parâmetroprefix
serão migrados. Caso contrário, todos os objetos presentes no bucket serão migrados. - Modelo de configuração do dissipador: Se o parâmetro
prefix
for especificado, um diretório com o prefixo fornecido será criado no bucket e os objetos serão migrados para esse diretório. Caso contrário, o nome da tabela da origem será usado como prefixo. Se algum objeto com o mesmo nome já existir no bucket, ele será substituído.
Para obter mais informações sobre prefixo, consulte Object Naming Using Prefixes and Hierarchies.
- Modelo de configuração de origem: Se o parâmetro
- Tipo de Dados: string
- Obrigatório (S/N): N
requestTimeoutMs
-
Finalidade: Especifica o tempo de espera para que cada operação de leitura/gravação de/para a loja seja concluída. Isso é fornecido em milissegundos. O valor padrão é 5.000. O valor pode ser qualquer valor inteiro positivo.
- Tipo de Dados: inteiro
- Obrigatório (S/N): N
security
-
Finalidade: Especifica o caminho absoluto para o arquivo de log-in de segurança que contém as credenciais do armazenamento se o armazenamento for seguro. Para obter mais informações sobre o arquivo de log-in de segurança, consulte Configuring Security with Remote Access no Administrator's Guide.
Você pode usar autenticação baseada em arquivo de senha ou autenticação baseada em wallet. No entanto, a autenticação baseada em wallet só é suportada na Enterprise Edition (EE) do Oracle NoSQL Database. Para obter mais informações sobre autenticação baseada em wallet, consulte Segurança de Origem e Pia.
A edição Community Edition(CE) suporta somente autenticação baseada em arquivo de senha.
- Tipo de Dados: string
- Obrigatório (S/N): S, para um armazenamento seguro
tipo
- Finalidade: Identifica a origem/tipo de dissipador.
- Tipo de Dados: string
- Obrigatório (S/N): S
useDelegationToken
-
Finalidade: Especifica se a ferramenta NoSQL Database Migrator usa ou não uma autenticação de token de delegação para estabelecer conexão com os serviços do OCI. Use a autenticação do token de delegação para executar o utilitário Migrator no Cloud Shell. O token de delegação é criado automaticamente para o usuário quando o Cloud Shell é chamado.
O valor padrão é
false
. - Tipo de dados: booliano
- Obrigatório (S/N): N
Observação:
- A autenticação com token de delegação só é suportada quando a ferramenta NoSQL Database Migrator está em execução em um Cloud Shell.
- Os parâmetros de autenticação credentials, useInstancePrincipal e useDelegationToken são mutuamente exclusivos. Especifique apenas um desses parâmetros no modelo de configuração.
- O Cloud Shell suporta migração apenas entre as seguintes origens e sumidouros:
Tipo Origem válida Dissipador válido Oracle NoSQL Database Cloud Service
(
nosqldb_cloud
)Y Y Arquivo (arquivo JSON no diretório home) Y Y OCI Object Storage (arquivo JSON)
(
object_storage_oci
)Y Y OCI Object Storage (arquivo Parquet)
(
object_storage_oci
)P Y
useInstancePrincipal
-
Finalidade: Especifica se a ferramenta NoSQL Database Migrator usa ou não a autenticação do controlador de instâncias para estabelecer conexão com o serviço OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage etc. Para obter mais informações sobre o método de autenticação do Controlador de Instâncias, consulte Segurança de Origem e Pia.
O valor padrão é
false
.Observação:
- A autenticação com Controladores de Instâncias só é suportada quando a ferramenta NoSQL Database Migrator está em execução em uma instância de computação do OCI, por exemplo, a ferramenta NoSQL Database Migrator em execução em uma VM hospedada no OCI.
- Os parâmetros de autenticação credentials, useInstancePrincipal e useDelegationToken são mutuamente exclusivos. Especifique apenas um desses parâmetros no modelo de configuração.
- Tipo de dados: booliano
- Obrigatório (S/N): N
Modelos de Configuração de Origem
Saiba mais sobre os formatos de arquivo de configuração de origem para cada origem válida e a finalidade de cada parâmetro de configuração.
Para o modelo de arquivo de configuração, consulte Arquivo de Configuração em Terminologia usada com o NoSQL Data Migrator.
Para obter detalhes sobre formatos de sumidouro válidos para cada origem, consulte Modelos de Configuração de Vazamento.
Tópicos
Os tópicos a seguir descrevem os modelos de configuração de origem referenciados pelo Oracle NoSQL Database Migrator para copiar os dados da origem fornecida para um coletor válido.
- Origem do Arquivo JSON
Arquivo ou diretório especificado que contém os dados JSON.
- Arquivo JSON no Bucket do OCI Object Storage
Arquivo JSON especificado no bucket do OCI Object Storage.
- Arquivo JSON Formatado em MongoDB
Arquivo ou diretório especificado contendo os dados JSON formatados em MongoDB.
- Arquivo JSON Formatado MongoDB no bucket do OCI Object Storage
Arquivo JSON exportado MongoDB especificado armazenado no bucket do OCI Object Storage.
- DynamoDB - Arquivo JSON Formatado armazenado no AWS S3
Arquivo JSON exportado DynamoDB especificado armazenado no armazenamento S3 da AWS.
- Arquivo JSON Formatado em DynamoDB
Arquivo JSON exportado DynamoDB especificado de um sistema de arquivos.
- Oracle NoSQL Database
Tabela especificada no Oracle NoSQL Database.
- Oracle NoSQL Database Cloud Service
Tabela especificada no Oracle NoSQL Database Cloud Service.
- Origem do arquivo CSV
Arquivo ou diretório especificado que contém os dados CSV.
- Arquivo CSV no OCI Object Storage Bucket
Arquivo CSV especificado no bucket do OCI Object Storage.
Origem do Arquivo JSON
O formato do arquivo de configuração para arquivo JSON como origem do NoSQL Database Migrator é mostrado abaixo.
Você pode migrar um arquivo de origem JSON especificando o caminho do arquivo ou um diretório no modelo de configuração de origem.
{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-03-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-02T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-02T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-02T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
Modelo de Configuração de Origem
"source": {
"type": "file",
"format": "json",
"dataPath": "<path/to/JSON/[file|dir]>",
"schemaInfo": {
"schemaPath": "<path/to/schema/file>"
}
},
Parâmetros da Origem
Parâmetros de Configuração Comum
Parâmetros de Configuração Exclusivos
dataPath
-
Finalidade: Especifica o caminho absoluto para um arquivo ou diretório que contém os dados JSON para migração.
Certifique-se de que esses dados correspondam ao esquema de tabela NoSQL definido no coletor. Se você especificar um diretório, o NoSQL Database Migrator identificará todos os arquivos com a extensão
.json
nesse diretório para a migração. Os subdiretórios não são suportados. - Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
-
Especificando um arquivo JSON
"dataPath" : "/home/user/sample.json"
-
Especificando um diretório
"dataPath" : "/home/user"
-
schemaInfo
-
Finalidade: Especifica o esquema dos dados de origem que estão sendo migrados. Esse esquema é passado para o sumário NoSQL.
- Tipo de Dados: Objeto
- Obrigatório (S/N): N
schemaInfo.schemaPath
-
Finalidade: Especifica o caminho absoluto para o arquivo de definição de esquema que contém instruções DDL para a tabela NoSQL que está sendo migrada.
- Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
"schemaInfo": { "schemaPath": "<path to the schema file>" }
Arquivo JSON no Bucket do OCI Object Storage
O formato do arquivo de configuração para arquivo JSON no bucket do OCI Object Storage como origem do NoSQL Database Migrator é mostrado abaixo.
Você pode migrar um arquivo JSON no bucket do OCI Object Storage especificando o nome do bucket no modelo de configuração de origem.
{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-03-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-02T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-02T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-02T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
Observação:
Os tipos de sumidouros válidos para o tipo de origem do OCI Object Storage sãonosqldb
e nosqldb_cloud
.
Modelo de Configuração de Origem
"source" : {
"type" : "object_storage_oci",
"format" : "json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"schemaInfo" : {
"schemaObject" : "<object name>"
},
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"useDelegationToken" : <true|false>
}
Parâmetros da Origem
Parâmetros de Configuração Comum
- tipo
Use
"type" : "object_storage_oci"
- formato
Use
"format" : "json"
- ponto finalExemplo:
-
ID da Região:
"endpoint" : "us-ashburn-1"
-
Formato do URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- namespace
Exemplo:
"namespace" : "my-namespace"
- bucket
Exemplo:
"bucket" : "my-bucket"
- prefixoExemplo:
"prefix" : "my_table/Data/000000.json"
(migra apenas000000.json
)"prefix" : "my_table/Data"
(migra todos os objetos com o prefixomy_table/Data
)
- credenciaisExemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfileExemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Exemplo:
"useInstancePrincipal" : true
- useDelegationToken
Exemplo:
"useDelegationToken" : true
Observação:
A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell.
Parâmetros de Configuração Exclusivos
schemaInfo
-
Finalidade: Especifica o esquema dos dados de origem que estão sendo migrados. Esse esquema é passado para o sumário NoSQL.
- Tipo de Dados: Objeto
- Obrigatório (S/N): N
schemaInfo.schemaObject
-
Finalidade: Especifica o nome do objeto no bucket em que as definições de esquema da tabela NoSQL para os dados que estão sendo migrados são armazenadas.
- Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
"schemaInfo": { "schemaObject": "mytable/Schema/schema.ddl" },
Arquivo JSON Formatado em MongoDB
O formato do arquivo de configuração para o Arquivo JSON formatado em MongoDB como uma origem do NoSQL Database Migrator é mostrado abaixo.
Você pode migrar dados JSON exportados MongoDB especificando o arquivo ou diretório no modelo de configuração de origem.
O MongoDB suporta dois tipos de extensões para o formato JSON de arquivos, Modo canônico e Modo relaxado. Você pode fornecer o arquivo JSON formatado em MongoDB que é gerado usando a ferramenta mongoexport no modo Canônico ou Relaxado. Ambos os modos são suportados pelo NoSQL Database Migrator para migração.
Para obter mais informações sobre o arquivo MongoDB Extended JSON (v2), consulte mongoexport_formats.
Para obter mais informações sobre a geração do arquivo JSON formatado em MongoDB, consulte mongoexport para obter mais informações.
{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}
Modelo de Configuração de Origem
"source": {
"type": "file",
"format": "mongodb_json",
"dataPath": "</path/to/json/[file|dir]>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
Parâmetros da Origem
Parâmetros de Configuração Comum
Parâmetros de Configuração Exclusivos
dataPath
-
Finalidade: Especifica o caminho absoluto para um arquivo ou diretório que contém os dados JSON exportados MongoDB para migração.
Você pode fornecer o arquivo JSON formatado em MongoDB que é gerado usando a ferramenta mongoexport.
Se você especificar um diretório, o NoSQL Database Migrator identificará todos os arquivos com a extensão
.json
nesse diretório para a migração. Os subdiretórios não são suportados. Certifique-se de que esses dados correspondam ao esquema de tabela NoSQL definido no coletor. - Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
-
Especificando um arquivo JSON formatado em MongoDB
"dataPath" : "/home/user/sample.json"
-
Especificando um diretório
"dataPath" : "/home/user"
-
schemaInfo
-
Finalidade: Especifica o esquema dos dados de origem que estão sendo migrados. Esse esquema é passado para o sumário NoSQL.
- Tipo de Dados: Objeto
- Obrigatório (S/N): N
schemaInfo.schemaPath
-
Finalidade: Especifica o caminho absoluto para o arquivo de definição de esquema que contém instruções DDL para a tabela NoSQL que está sendo migrada.
- Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
"schemaInfo" : { "schemaPath" : "/home/user/mytable/Schema/schema.ddl" }
Arquivo JSON Formatado MongoDB no bucket do OCI Object Storage
O formato do arquivo de configuração para o arquivo JSON formatado em MongoDB no bucket do OCI Object Storage como origem do NoSQL Database Migrator é mostrado abaixo.
Você pode migrar os dados JSON exportados MongoDB no bucket do OCI Object Storage especificando o nome do bucket no modelo de configuração de origem.
Extraia os dados de MongoDB usando o utilitário mongoexport e faça upload deles para o bucket do OCI Object Storage. Para obter mais informações, consulte mongoexport. O MongoDB suporta dois tipos de extensões para o formato JSON de arquivos, Modo canônico e Modo relaxado. Ambos os formatos são suportados no bucket do OCI Object Storage.
{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}
Observação:
Os tipos de sumidouros válidos para o tipo de origem do OCI Object Storage sãonosqldb
e nosqldb_cloud
.
Modelo de Configuração de Origem
"source" : {
"type" : "object_storage_oci",
"format" : "mongodb_json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"schemaInfo" : {
"schemaObject" : "<object name>"
},
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>
}
Parâmetros da Origem
Parâmetros de Configuração Comum
- tipo
Use
"type" : "object_storage_oci"
- formato
Use
"format" : "mongodb_json"
- ponto finalExemplo:
-
ID da Região:
"endpoint" : "us-ashburn-1"
-
Formato do URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- namespace
Exemplo:
"namespace" : "my-namespace"
- bucket
Exemplo:
"bucket" : "my-bucket"
- prefixoExemplo:
"prefix" : "mongo_export/Data/table.json"
(migra apenastable.json
)"prefix" : "mongo_export/Data"
(migra todos os objetos com o prefixomongo_export/Data
)
Observação:
Se você não fornecer nenhum valor, todos os objetos presentes no bucket serão migrados. - credenciaisExemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfileExemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Exemplo:
"useInstancePrincipal" : true
Parâmetros de Configuração Exclusivos
schemaInfo
-
Finalidade: Especifica o esquema dos dados de origem que estão sendo migrados. Esse esquema é passado para o sumário NoSQL.
- Tipo de Dados: Objeto
- Obrigatório (S/N): N
schemaInfo.schemaObject
-
Finalidade: Especifica o nome do objeto no bucket em que as definições de esquema da tabela NoSQL para os dados que estão sendo migrados são armazenadas.
- Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
"schemaInfo": { "schemaObject": "mytable/Schema/schema.ddl" }
DynamoDB - Arquivo JSON Formatado armazenado no AWS S3
O formato do arquivo de configuração para o Arquivo JSON formatado em DynamoDB no AWS S3 como uma origem do NoSQL Database Migrator é mostrado abaixo.
Você pode migrar um arquivo contendo os dados JSON exportados DynamoDB do armazenamento S3 da AWS especificando o caminho no modelo de configuração de origem.
{"Item":{"Id":{"N":"101"},"Phones":{"L":[{"L":[{"S":"555-222"},{"S":"123-567"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"570004"},"Street":{"S":"21 main"},"DoorNum":{"N":"201"},"City":{"S":"London"}}},"FirstName":{"S":"Fred"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"Smith"},"FavColors":{"SS":["Red","Green"]},"Age":{"N":"22"}}}
{"Item":{"Id":{"N":"102"},"Phones":{"L":[{"L":[{"S":"222-222"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"560014"},"Street":{"S":"32 main"},"DoorNum":{"N":"1024"},"City":{"S":"Wales"}}},"FirstName":{"S":"John"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"White"},"FavColors":{"SS":["Blue"]},"Age":{"N":"48"}}}
Exporte a tabela DynamoDB para o armazenamento S3 da AWS conforme especificado em Exportando dados da tabela DynamoDB para o Amazon S3.
Os tipos válidos de dissipador para JSON formatado em DynamoDB armazenados no AWS S3 são nosqldb
e nosqldb_cloud
.
"source" : {
"type" : "aws_s3",
"format" : "dynamodb_json",
"s3URL" : "<S3 object url>",
"credentials" : "</path/to/aws/credentials/file>",
"credentialsProfile" : <"profile name in aws credentials file">
}
Parâmetros da Origem
Parâmetros de Configuração Comum
- tipo
Use
"type" : "aws_s3"
- formato
Use
"format" : "dynamodb_json"
Observação:
Se o valor do parâmetro type foraws_s3
, o formato deverá serdynamodb_json
.
Parâmetros de Configuração Exclusivos
s3URL
- Finalidade: Especifica o URL de uma tabela DynamoDB exportada armazenada no AWS S3. Você pode obter esse URL na console do AWS S3. O formato de URL válido é
https://<bucket-name>.<s3_endpoint>/<prefix>
. O NoSQL Database Migrator procurará arquivosjson.gz
no prefixo durante a importação.Observação:
Exporte a tabela DynamoDB conforme especificado em Exportando dados da tabela DynamoDB para o Amazon S3. - Tipo de Dados: string
- Obrigatório (S/N): S
- Exemplo:
https://my-bucket.s3.ap-south-1.amazonaws.com/AWSDynamoDB/01649660790057-14f642be
credentials
- Finalidade: Especifica o caminho absoluto para um arquivo que contém as credenciais da AWS. Se não for especificado, o padrão será
$HOME/.aws/credentials
. Para obter mais detalhes sobre o arquivo de credenciais, consulte Configuração e definições de arquivo de credenciais . - Tipo de Dados: string
- Obrigatório (S/N): N
- Exemplo:
"credentials" : "/home/user/.aws/credentials" "credentials" : "/home/user/security/credentials
Observação:
O NoSQL Database Migrator não registra nenhuma das informações de credenciais. Você deve proteger adequadamente o arquivo de credenciais contra acesso não autorizado.
credentialsProfile
- Finalidade: Nome do perfil no arquivo de credenciais da AWS a ser usado para estabelecer conexão com o AWS S3. As credenciais da conta do usuário são denominadas perfil. Se você não especificar esse valor, o NoSQL Database Migrator usará o perfil
default
. Para obter mais detalhes sobre o arquivo de credenciais, consulte Configuração e definições de arquivo de credenciais . - Tipo de Dados: string
- Obrigatório (S/N): N
- Exemplo:
"credentialsProfile" : "default" "credentialsProfile" : "test"
Arquivo JSON Formatado em DynamoDB
O formato do arquivo de configuração para o Arquivo JSON formatado em DynamoDB como uma origem do NoSQL Database Migrator é mostrado abaixo.
Você pode migrar um arquivo ou diretório contendo os dados JSON exportados DynamoDB de um sistema de arquivos especificando o caminho no modelo de configuração de origem.
{"Item":{"Id":{"N":"101"},"Phones":{"L":[{"L":[{"S":"555-222"},{"S":"123-567"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"570004"},"Street":{"S":"21 main"},"DoorNum":{"N":"201"},"City":{"S":"London"}}},"FirstName":{"S":"Fred"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"Smith"},"FavColors":{"SS":["Red","Green"]},"Age":{"N":"22"}}}
{"Item":{"Id":{"N":"102"},"Phones":{"L":[{"L":[{"S":"222-222"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"560014"},"Street":{"S":"32 main"},"DoorNum":{"N":"1024"},"City":{"S":"Wales"}}},"FirstName":{"S":"John"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"White"},"FavColors":{"SS":["Blue"]},"Age":{"N":"48"}}}
Copie os dados da tabela DynamoDB exportados do armazenamento S3 do AWS para um sistema de arquivos montado local.
Os tipos de sumidouro válidos para o arquivo JSON DynamoDB são nosqldb
e nosqldb_cloud
.
"source" : {
"type" : "file",
"format" : "dynamodb_json",
"dataPath" : "<path/to/[file|dir]/containing/exported/DDB/tabledata>"
}
Parâmetros da Origem
Parâmetros de Configuração Comum
Parâmetro de Configuração Exclusivo
dataPath
- Finalidade: Especifica o caminho absoluto para um arquivo ou diretório que contém os dados da tabela DynamoDB exportados. Copie os dados da tabela DynamoDB exportados do AWS S3 para um sistema de arquivos montado local. Certifique-se de que esses dados correspondam ao esquema de tabela NoSQL definido no coletor. Se você especificar um diretório, o NoSQL Database Migrator identificará todos os arquivos com a extensão
.json.gz
nesse diretório e o subdiretóriodata
. - Tipo de Dados: string
- Obrigatório (S/N): S
- Exemplo:
-
Especificando um arquivo
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3/data/zclclwucjy6v5mkefvckxzhfvq.json.gz"
- Especificando um diretório
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3"
-
Oracle NoSQL Database
O formato do arquivo de configuração do Oracle NoSQL Database como origem do NoSQL Database Migrator é mostrado abaixo.
Você pode migrar uma tabela do Oracle NoSQL Database especificando o nome da tabela no modelo de configuração de origem.
{"id":20,"firstName":"Jane","lastName":"Smith","otherNames":[{"first":"Jane","last":"teacher"}],"age":25,"income":55000,"address":{"city":"San Jose","number":201,"phones":[{"area":608,"kind":"work","number":6538955},{"area":931,"kind":"home","number":9533341},{"area":931,"kind":"mobile","number":9533382}],"state":"CA","street":"Atlantic Ave","zip":95005},"connections":[40,75,63],"expenses":null}
{"id":10,"firstName":"John","lastName":"Smith","otherNames":[{"first":"Johny","last":"chef"}],"age":22,"income":45000,"address":{"city":"Santa Cruz","number":101,"phones":[{"area":408,"kind":"work","number":4538955},{"area":831,"kind":"home","number":7533341},{"area":831,"kind":"mobile","number":7533382}],"state":"CA","street":"Pacific Ave","zip":95008},"connections":[30,55,43],"expenses":null}
{"id":30,"firstName":"Adam","lastName":"Smith","otherNames":[{"first":"Adam","last":"handyman"}],"age":45,"income":75000,"address":{"city":"Houston","number":301,"phones":[{"area":618,"kind":"work","number":6618955},{"area":951,"kind":"home","number":9613341},{"area":981,"kind":"mobile","number":9613382}],"state":"TX","street":"Indian Ave","zip":95075},"connections":[60,45,73],"expenses":null}
Modelo de Configuração de Origem
"source" : {
"type": "nosqldb",
"storeName" : "<store name>",
"helperHosts" : ["hostname1:port1","hostname2:port2,..."],
"table" : "<fully qualified table name>",
"includeTTL": <true|false>,
"security" : "</path/to/store/security/file>",
"requestTimeoutMs" : 5000
}
Parâmetros da Origem
Parâmetro de Configuração Comum
- tipo
Use
"type" : "nosqldb"
- segurança
Exemplo:
"security" : "/home/user/client.credentials"
Exemplo de conteúdo do arquivo de segurança para autenticação baseada em arquivo de senha:
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.pwdfile.file=/home/nosql/login.passwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
Exemplo de conteúdo do arquivo de segurança para autenticação baseada em wallet:
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.wallet.dir=/home/nosql/login.wallet oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
- requestTimeoutMs
Exemplo:
"requestTimeoutMs" : 5000
Parâmetros de Configuração Exclusivos
storeName
-
Finalidade: Nome do armazenamento do Oracle NoSQL Database.
- Tipo de Dados: string
- Obrigatório (S/N): S
- Exemplo:
"storeName" : "kvstore"
helperHosts
-
Finalidade: Uma lista de pares de porta de host e registro no formato
hostname:port
. Delimite cada item da lista usando uma vírgula. Especifique pelo menos um host auxiliar. - Tipo de Dados: matriz de strings
- Obrigatório (S/N): S
- Exemplo:
"helperHosts" : ["localhost:5000","localhost:6000"]
tabela
-
Finalidade: Nome de tabela totalmente qualificado do qual migrar os dados.
Formato:
[namespace_name:]<table_name>
Se a tabela estiver no namespace DEFAULT, você poderá omitir o
namespace_name
. A tabela deve existir no armazenamento. - Tipo de Dados: string
- Obrigatório (S/N): S
- Exemplo:
-
Com o namespace DEFAULT
"table" :"mytable"
-
Com um namespace não padrão
"table" : "mynamespace:mytable"
-
Para especificar uma tabela filho
"table" : "mytable.child"
-
includeTTL
-
Finalidade: Especifica se devem ou não incluir metadados TTL para linhas de tabela ao exportar tabelas do Oracle NoSQL Database. Se definido como verdadeiro, os dados TTL das linhas também serão incluídos nos dados fornecidos pela origem. O TTL está presente no objeto JSON
_metadata
associado a cada linha. O tempo de expiração de cada linha é exportado como o número de milissegundos desde a época UNIX (1o de janeiro de 1970).Se você não especificar esse parâmetro, o padrão será
false
.Somente as linhas com um valor de expiração positivo para TTL são incluídas como parte das linhas exportadas. Se uma linha não expirar, o que significa TTL=0, seus metadados TTL não serão incluídos explicitamente. Por exemplo, se ROW1 expirar em 2021-10-19 00:00:00 e ROW2 não expirar, os dados exportados terão a seguinte aparência://ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- Tipo de dados: booliano
- Obrigatório (S/N): N
- Exemplo:
"includeTTL" : true
Oracle NoSQL Database Cloud Service
O formato do arquivo de configuração do Oracle NoSQL Database Cloud Service como origem do NoSQL Database Migrator é mostrado abaixo.
Você pode migrar uma tabela do Oracle NoSQL Database Cloud Service especificando o nome ou o OCID do compartimento no qual a tabela reside no modelo de configuração de origem.
{"id":20,"firstName":"Jane","lastName":"Smith","otherNames":[{"first":"Jane","last":"teacher"}],"age":25,"income":55000,"address":{"city":"San Jose","number":201,"phones":[{"area":608,"kind":"work","number":6538955},{"area":931,"kind":"home","number":9533341},{"area":931,"kind":"mobile","number":9533382}],"state":"CA","street":"Atlantic Ave","zip":95005},"connections":[40,75,63],"expenses":null}
{"id":10,"firstName":"John","lastName":"Smith","otherNames":[{"first":"Johny","last":"chef"}],"age":22,"income":45000,"address":{"city":"Santa Cruz","number":101,"phones":[{"area":408,"kind":"work","number":4538955},{"area":831,"kind":"home","number":7533341},{"area":831,"kind":"mobile","number":7533382}],"state":"CA","street":"Pacific Ave","zip":95008},"connections":[30,55,43],"expenses":null}
{"id":30,"firstName":"Adam","lastName":"Smith","otherNames":[{"first":"Adam","last":"handyman"}],"age":45,"income":75000,"address":{"city":"Houston","number":301,"phones":[{"area":618,"kind":"work","number":6618955},{"area":951,"kind":"home","number":9613341},{"area":981,"kind":"mobile","number":9613382}],"state":"TX","street":"Indian Ave","zip":95075},"connections":[60,45,73],"expenses":null}
Modelo de Configuração de Origem
"source" : {
"type" : "nosqldb_cloud",
"endpoint" : "<Oracle NoSQL Cloud Service endpoint URL or region ID>",
"table" : "<table name>",
"compartment" : "<OCI compartment name or id>",
"credentials" : "<path/to/oci/credential/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"useDelegationToken" : <true|false>,
"readUnitsPercent" : <table readunits percent>,
"includeTTL": <true|false>,
"requestTimeoutMs" : <timeout in milli seconds>
}
Parâmetros da Origem
Parâmetros de Configuração Comum
- tipo
Use
"type" : "nosqldb_cloud"
- ponto finalExemplo:
-
ID da Região:
"endpoint" : "us-ashburn-1"
-
Formato do URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- credenciaisExemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfileExemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Exemplo:
"useInstancePrincipal" : true
- useDelegationToken
Exemplo:
"useDelegationToken" : true
Observação:
A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell. - requestTimeoutMs
Exemplo:
"requestTimeoutMs" : 5000
Parâmetros de Configuração Exclusivos
tabela
-
Finalidade: Nome da tabela da qual os dados serão migrados.
- Tipo de Dados: string
- Obrigatório (S/N): S
- Exemplo:
- Para especificar uma tabela
"table" : "myTable"
- Para especificar uma tabela filho
"table" : "mytable.child"
- Para especificar uma tabela
compartimento
-
Finalidade: Especifica o nome ou o OCID do compartimento no qual a tabela reside.
Se você não fornecer nenhum valor, o padrão será o compartimento root.
Você pode encontrar o OCID do seu compartimento na janela Explorador de Compartimentos em Governança na Console do OCI Cloud.
- Tipo de Dados: string
- Obrigatório (S/N): S, se a tabela não estiver no compartimento raiz da tenancy OU quando o parâmetro useInstancePrincipal estiver definido como verdadeiro.
Observação:
Se o parâmetro useInstancePrincipal for definido como verdadeiro, o compartimento deverá especificar o OCID do compartimento e não o nome. - Exemplo:
-
Nome do compartimento
"compartment" : "mycompartment"
-
Nome do compartimento qualificado com seu compartimento pai
"compartment" : "parent.childcompartment"
-
Nenhum valor fornecido. O padrão é o compartimento raiz.
"compartment": ""
-
OCID do compartimento
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
readUnitsPercent
-
Finalidade: Porcentagem de unidades de leitura de tabela a serem usadas durante a migração da tabela NoSQL.
O valor padrão é 90. O intervalo válido é qualquer número inteiro entre 1 e 100. O tempo necessário para migrar dados é diretamente proporcional a esse atributo. É melhor aumentar o throughput de leitura da tabela para a atividade de migração. Você pode reduzir o throughput de leitura após a conclusão do processo de migração.
Para saber os limites diários sobre alterações de throughput, consulte Limites da Nuvem no documento do Oracle NoSQL Database Cloud Service.
Consulte Diagnosticando e Solucionando Problemas do Oracle NoSQL Database Migrator para saber como usar esse atributo para melhorar a velocidade de migração de dados.
- Tipo de Dados: inteiro
- Obrigatório (S/N): N
- Exemplo:
"readUnitsPercent" : 90
includeTTL
-
Finalidade: Especifica se devem ou não incluir metadados TTL para linhas de tabela ao exportar tabelas do Oracle NoSQL Database Cloud Service. Se definido como verdadeiro, os dados TTL das linhas também serão incluídos nos dados fornecidos pela origem. O TTL está presente no objeto JSON
_metadata
associado a cada linha. O tempo de expiração de cada linha é exportado como o número de milissegundos desde a época UNIX (1o de janeiro de 1970).Se você não especificar esse parâmetro, o padrão será
false
.Somente as linhas com um valor de expiração positivo para TTL são incluídas como parte das linhas exportadas. Se uma linha não expirar, o que significa TTL=0, seus metadados TTL não serão incluídos explicitamente. Por exemplo, se ROW1 expirar em 2021-10-19 00:00:00 e ROW2 não expirar, os dados exportados terão a seguinte aparência://ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- Tipo de dados: booliano
- Obrigatório (S/N): N
- Exemplo:
"includeTTL" : true
Origem do Arquivo CSV
O formato do arquivo de configuração para o arquivo CSV como origem do NoSQL Database Migrator é mostrado abaixo. O arquivo CSV deve estar de acordo com o formato RFC4180
.
É possível migrar um arquivo CSV ou um diretório contendo os dados CSV especificando o nome ou o diretório do arquivo no modelo de configuração de origem.
1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"
Modelo de Configuração de Origem
"source" : {
"type" : "file",
"format" : "csv",
"dataPath": "</path/to/a/csv/[file|dir]>",
"hasHeader" : <true | false>,
"columns" : ["column1", "column2", ....],
"csvOptions": {
"encoding": "<character set encoding>",
"trim": "<true | false>"
}
}
Parâmetros da Origem
Parâmetros de Configuração Comum
Parâmetros de Configuração Exclusivos
datapath
-
Finalidade: Especifica o caminho absoluto para um arquivo ou diretório que contém os dados CSV para migração. Se você especificar um diretório, o NoSQL Database Migrator importará todos os arquivos com a extensão
.csv
ou.CSV
nesse diretório. Todos os arquivos CSV são copiados em uma única tabela, mas não em qualquer ordem específica.Os arquivos CSV devem estar em conformidade com o padrão
RFC4180
. Certifique-se de que os dados em cada arquivo CSV correspondam ao esquema da tabela NoSQL Database definido na tabela coletora. Os subdiretórios não são suportados. - Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
-
Especificando um arquivo CSV
"dataPath" : "/home/user/sample.csv"
-
Especificando um diretório
"dataPath" : "/home/user"
-
Observação:
Os arquivos CSV devem conter apenas valores escalares. A importação de arquivos CSV contendo tipos complexos, como MAP, RECORD, ARRAY e JSON, não é suportada. A ferramenta NoSQL Database Migrator não verifica a exatidão dos dados no arquivo CSV de entrada. A ferramenta NoSQL Database Migrator suporta a importação de dados CSV que estão em conformidade com o formato RFC4180
. Os arquivos CSV que contêm dados que não estão em conformidade com o padrão RFC4180
podem não ser copiados corretamente ou podem resultar em um erro. Se os dados de entrada estiverem corrompidos, a ferramenta NoSQL Database Migrator não fará parsing dos registros CSV. Se forem encontrados erros durante a migração, a ferramenta NoSQL Database Migrator registrará as informações sobre os registros de entrada com falha para fins informativos e de depuração. Para obter mais detalhes, consulte Progresso do Migrador de Log em Usando o Oracle NoSQL Data Migrator.
hasHeader
-
Finalidade: Especifica se o arquivo CSV tem um cabeçalho ou não. Se for definido como
true
, a primeira linha será ignorada. Se for definido comofalse
, a primeira linha será considerada um registro CSV. O valor padrão éfalse
. - Tipo de Dados: Booliano
- Obrigatório (S/N): N
-
Exemplo:
"hasHeader" : "false"
colunas
-
Finalidade: Especifica a lista de nomes de coluna da tabela NoSQL Database. A ordem dos nomes das colunas indica o mapeamento dos campos do arquivo CSV com as colunas da tabela NoSQL Database correspondentes. Se a ordem das colunas do arquivo CSV de entrada não corresponder às colunas da tabela NoSQL Database existentes ou recém-criadas, você poderá mapear a ordenação usando esse parâmetro. Além disso, ao importar para uma tabela que tenha uma Coluna de Identidade, você pode ignorar o nome da coluna de Identidade no parâmetro
columns
.Observação:
- Se a tabela NoSQL Database tiver colunas adicionais que não estão disponíveis no arquivo CSV, os valores das colunas ausentes serão atualizados com o valor padrão, conforme definido na tabela NoSQL Database. Se um valor padrão não for fornecido, um valor Nulo será inserido durante a migração. Para obter mais informações sobre valores padrão, consulte a seção Data Type Definitions no SQL Reference Guide.
- Se o arquivo CSV tiver colunas adicionais não definidas na tabela NoSQL Banco de Dados, as informações adicionais da coluna serão ignoradas.
- Se algum valor no registro CSV estiver vazio, ele será definido como o valor padrão das colunas correspondentes na tabela NoSQL Database. Se um valor padrão não for fornecido, um valor Nulo será inserido durante a migração.
- Tipo de Dados: Matriz de Strings
- Obrigatório (S/N): N
-
Exemplo:
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
Finalidade: Especifica as opções de formatação para um arquivo CSV. Forneça o formato de codificação do conjunto de caracteres do arquivo CSV e escolha se deseja ou não cortar os espaços em branco.
- Tipo de Dados: Objeto
- Obrigatório (S/N): N
csvOptions.encoding
-
Finalidade: Especifica o conjunto de caracteres para decodificar o arquivo CSV. O valor padrão é
UTF-8
. Os conjuntos de caracteres suportados sãoUS-ASCII, ISO-8859-1, UTF-8,
eUTF-16
. - Tipo de Dados: String
- Obrigatório (S/N): N
-
Exemplo:
"encoding" : "UTF-8"
csvOptions.trim
-
Finalidade: Especifica se os espaços em branco à esquerda e à direita de um valor de campo CSV devem ser cortados. O valor padrão é
false
. - Tipo de Dados: Booliano
- Obrigatório (S/N): N
-
Exemplo:
"trim" : "true"
Arquivo CSV no OCI Object Storage Bucket
O formato do arquivo de configuração para o arquivo CSV no bucket do OCI Object Storage como origem do NoSQL Database Migrator é mostrado abaixo. O arquivo CSV deve estar de acordo com o formato RFC4180
.
Você pode migrar um arquivo CSV no bucket do OCI Object Storage especificando o nome do bucket no modelo de configuração de origem.
1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"
Observação:
Os tipos de sumidouros válidos para o tipo de origem do OCI Object Storage sãonosqldb
e nosqldb_cloud
.
Modelo de Configuração de Origem
"source" : {
"type" : "object_storage_oci",
"format" : "csv",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"hasHeader" : <true | false>,
"columns" : ["column1", "column2", ....],
"csvOptions" : {
"encoding" : "<character set encoding>",
"trim" : <true | false>
}
}
Parâmetros da Origem
Parâmetros de Configuração Comum
- tipo
Use
"type" : "object_storage_oci"
- formato
Use
"format" : "csv"
- ponto finalExemplo:
-
ID da Região:
"endpoint" : "us-ashburn-1"
-
Formato do URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- namespace
Exemplo:
"namespace" : "my-namespace"
- bucket
Exemplo:
"bucket" : "my-bucket"
Observação:
- O NoSQL Database Migrator importa todos os arquivos com a extensão .
csv
ou.CSV
no sentido do objeto e os copia em uma única tabela na mesma ordem. -
Os arquivos CSV devem conter apenas valores escalares. A importação de arquivos CSV contendo tipos complexos, como MAP, RECORD, ARRAY e JSON, não é suportada. A ferramenta NoSQL Database Migrator não verifica a exatidão dos dados no arquivo CSV de entrada. A ferramenta NoSQL Database Migrator suporta a importação de dados CSV que estão em conformidade com o formato
RFC4180
. Os arquivos CSV que contêm dados que não estão em conformidade com o padrãoRFC4180
podem não ser copiados corretamente ou podem resultar em um erro. Se os dados de entrada estiverem corrompidos, a ferramenta NoSQL Database Migrator não fará parsing dos registros CSV. Se forem encontrados erros durante a migração, a ferramenta NoSQL Database Migrator registrará as informações sobre os registros de entrada com falha para fins informativos e de depuração. Para obter mais detalhes, consulte Progresso do Migrador de Log em Usando o Oracle NoSQL Data Migrator.
- O NoSQL Database Migrator importa todos os arquivos com a extensão .
- prefixoExemplo:
"prefix" : "my_table/Data/000000.csv"
(migra apenas000000.csv
)"prefix" : "my_table/Data"
(migra todos os objetos com o prefixomy_table/Data
)
- credenciaisExemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfileExemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Exemplo:
"useInstancePrincipal" : true
Parâmetros de Configuração Exclusivos
hasHeader
-
Finalidade: Especifica se o arquivo CSV tem um cabeçalho ou não. Se for definido como
true
, a primeira linha será ignorada. Se for definido comofalse
, a primeira linha será considerada um registro CSV. O valor padrão éfalse
. - Tipo de Dados: Booliano
- Obrigatório (S/N): N
-
Exemplo:
"hasHeader" : "false"
colunas
-
Finalidade: Especifica a lista de nomes de coluna da tabela NoSQL Database. A ordem dos nomes das colunas indica o mapeamento dos campos do arquivo CSV com as colunas da tabela NoSQL Database correspondentes. Se a ordem das colunas do arquivo CSV de entrada não corresponder às colunas da tabela NoSQL Database existentes ou recém-criadas, você poderá mapear a ordenação usando esse parâmetro. Além disso, ao importar para uma tabela que tenha uma Coluna de Identidade, você pode ignorar o nome da coluna de Identidade no parâmetro
columns
.Observação:
- Se a tabela NoSQL Database tiver colunas adicionais que não estão disponíveis no arquivo CSV, os valores das colunas ausentes serão atualizados com o valor padrão, conforme definido na tabela NoSQL Database. Se um valor padrão não for fornecido, um valor Nulo será inserido durante a migração. Para obter mais informações sobre valores padrão, consulte a seção Data Type Definitions no SQL Reference Guide.
- Se o arquivo CSV tiver colunas adicionais não definidas na tabela NoSQL Banco de Dados, as informações adicionais da coluna serão ignoradas.
- Se algum valor no registro CSV estiver vazio, ele será definido como o valor padrão das colunas correspondentes na tabela NoSQL Database. Se um valor padrão não for fornecido, um valor Nulo será inserido durante a migração.
- Tipo de Dados: Matriz de Strings
- Obrigatório (S/N): N
-
Exemplo:
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
Finalidade: Especifica as opções de formatação para um arquivo CSV. Forneça o formato de codificação do conjunto de caracteres do arquivo CSV e escolha se deseja ou não cortar os espaços em branco.
- Tipo de Dados: Objeto
- Obrigatório (S/N): N
csvOptions.encoding
-
Finalidade: Especifica o conjunto de caracteres para decodificar o arquivo CSV. O valor padrão é
UTF-8
. Os conjuntos de caracteres suportados sãoUS-ASCII, ISO-8859-1, UTF-8,
eUTF-16
. - Tipo de Dados: String
- Obrigatório (S/N): N
-
Exemplo:
"encoding" : "UTF-8"
csvOptions.trim
-
Finalidade: Especifica se os espaços em branco à esquerda e à direita de um valor de campo CSV devem ser cortados. O valor padrão é
false
. - Tipo de Dados: Booliano
- Obrigatório (S/N): N
-
Exemplo:
"trim" : "true"
Modelos de Configuração de Receptor
Saiba mais sobre os formatos de arquivo de configuração do coletor para cada coletor válido e a finalidade de cada parâmetro de configuração.
Tópicos
Os tópicos a seguir descrevem os modelos de configuração do coletor referidos pelo Oracle NoSQL Database Migrator para copiar os dados de uma origem válida para o coletor fornecido.
- Dissipador de Arquivos JSON
Arquivo JSON especificado.
- Arquivo Parquet
Arquivo parquet no diretório especificado.
- Arquivo JSON no Bucket do OCI Object Storage
Arquivo JSON no bucket especificado do OCI Object Storage.
- Arquivo Parquet no Bucket do OCI Object Storage
Arquivo parquet no bucket especificado do OCI Object Storage.
- Oracle NoSQL Database
Tabela especificada no Oracle NoSQL Database.
- Oracle NoSQL Database Cloud Service
Tabela especificada no Oracle NoSQL Database Cloud Service.
Dissipador de Arquivos JSON
O formato do arquivo de configuração para Arquivo JSON como sumário do NoSQL Database Migrator é mostrado abaixo.
Modelo de Configuração do Dissipador
"sink" : {
"type" : "file",
"format" : "json",
"dataPath": "</path/to/a/file>",
"schemaPath" : "<path/to/a/file>",
"pretty" : <true|false>,
"useMultiFiles" : <true|false>,
"chunkSize" : <size in MB>
}
Parâmetros do dissipador
Parâmetros de Configuração Comum
- tipo
Use
"type" : "file"
- formato
Use
"format" : "json"
- chunkSize
Exemplo:
"chunkSize" : 40
Observação:
Esse parâmetro é aplicável SOMENTE quando o parâmetro useMultiFiles é definido como verdadeiro.
Parâmetros de Configuração Exclusivos
dataPath
-
Finalidade: Especifica o caminho absoluto para um arquivo no qual os dados de origem serão copiados no formato JSON.
Se o arquivo não existir no caminho de dados especificado, o NoSQL Database Migrator o criará. Se ele existir, o NoSQL Database Migrator substituirá seu conteúdo pelos dados de origem.
Certifique-se de que o diretório pai no caminho de dados seja válido para o arquivo especificado.
Observação:
Se o parâmetro useMultiFiles estiver definido como verdadeiro, especifique o caminho para um diretório; caso contrário, especifique o caminho para o arquivo. - Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
- Com o parâmetro useMultiFiles definido como verdadeiro
"dataPath" :"
/home/user/data
" - Com o parâmetro useMultiFiles não especificado ou definido como falso
"dataPath" :"
/home/user/sample.json
"
- Com o parâmetro useMultiFiles definido como verdadeiro
schemaPath
-
Finalidade: Especifica o caminho absoluto para um arquivo para gravar informações do esquema da tabela fornecidas pela origem.
Se esse valor não for definido, as informações do esquema de origem não serão migradas para o coletor. Se esse valor for especificado, o utilitário de migração gravará o esquema da tabela de origem no arquivo especificado aqui.
As informações do esquema são gravadas como um comando DDL por linha neste arquivo. Se o arquivo não existir no caminho de dados especificado, o NoSQL Database Migrator o criará. Se ele já existir, o NoSQL Database Migrator substituirá seu conteúdo pelos dados de origem. Certifique-se de que o diretório pai no caminho de dados seja válido para o arquivo especificado.
- Tipo de Dados: string
- Obrigatório (S/N): N
-
Exemplo:
"schemaPath" : "/home/user/schema_file"
bastante
-
Finalidade: Especifica se deve ou não embelezar a saída JSON para aumentar a legibilidade.
Se não for especificado, o valor padrão será falso.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"pretty" : true
useMultiFiles
-
Finalidade: Especifica se os dados da tabela NoSQL devem ou não ser divididos em vários arquivos ao migrar dados de origem para um arquivo.
Se não for especificado, o valor padrão será falso.
Se definido como verdadeiro, ao migrar dados de origem para um arquivo, os dados da tabela NoSQL serão divididos em vários arquivos menores. Por exemplo,
<chunk>.json
, em que chunk=000000, 000001, 000002 e assim por diante.dataPath |--000000.json |--000001.json
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"useMultiFiles" : true
Arquivo Parquet
O formato do arquivo de configuração do Arquivo Parquet como um sumário do NoSQL Database Migrator é mostrado abaixo.
Modelo de Configuração do Dissipador
"sink" : {
"type" : "file",
"format" : "parquet",
"dataPath": "</path/to/a/dir>",
"chunkSize" : <size in MB>,
"compression": "<SNAPPY|GZIP|NONE>",
"parquetOptions": {
"useLogicalJson": <true|false>,
"useLogicalEnum": <true|false>,
"useLogicalUUID": <true|false>,
"truncateDoubleSpecials": <true|false>
}
}
Parâmetros do dissipador
Parâmetros de Configuração Comum
Parâmetros de Configuração Exclusivos
dataPath
-
Finalidade: Especifica o caminho para um diretório para armazenar os dados da tabela NoSQL migrados. Verifique se o diretório já existe e tem permissões de leitura e gravação.
- Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo:
"dataPath" : "/home/user/migrator/my_table"
compactação
-
Finalidade: Especifica o tipo de compactação a ser usado para compactar os dados Parquet. Os valores válidos são SNAPPY, GZIP e NONE.
Se não for especificado, o padrão será SNAPPY.
- Tipo de Dados: string
- Obrigatório (S/N): N
-
Exemplo:
"compression" : "GZIP"
parquetOptions
-
Finalidade: Especifica as opções para selecionar os tipos lógicos Parquet para as colunas NoSQL ENUM, JSON e UUID.
Se você não especificar esse parâmetro, o NoSQL Database Migrator gravará os dados das colunas ENUM, JSON e UUID como String.
- Tipo de Dados: objeto
- Obrigatório (S/N): N
parquetOptions.useLogicalJson
-
Finalidade: Especifica se os dados da coluna JSON NoSQL devem ou não ser gravados como tipo JSON lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.
Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna JSON NoSQL como String.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
Finalidade: Especifica se os dados da coluna ENUM NoSQL devem ou não ser gravados como tipo ENUM lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.
Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna ENUM NoSQL como String.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
Finalidade: Especifica se os dados da coluna UUID NoSQL devem ou não ser gravados como tipo de UUID lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.
Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna UUID NoSQL como String.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
Finalidade: Especifica se os valores +Infinity, -Infinity e NaN serão truncados ou não.
Por padrão, ele é definido comofalse
. Se for definido comotrue
,- Positive_Infinity é truncado para Double.MAX_VALUE.
- NEGATIVE_INFINITY é truncado para -Double.MAX_VALUE.
- NaN é truncado para 9.9999999999999990E307.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"truncateDoubleSpecials" : true
Arquivo JSON no Bucket do OCI Object Storage
O formato do arquivo de configuração para arquivo JSON no bucket do OCI Object Storage como sumário do NoSQL Database Migrator é mostrado abaixo.
Observação:
Os tipos de origem válidos para o OCI Object Storage como coletor sãonosqldb
e nosqldb_cloud
.
Modelo de Configuração do Dissipador
"sink" : {
"type" : "object_storage_oci",
"format" : "json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"chunkSize" : <size in MB>,
"pretty" : <true|false>,
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"useDelegationToken" : <true|false>
}
Parâmetros do dissipador
Parâmetros de Configuração Comum
- tipo
Use
"type" : "object_storage_oci"
- formato
Use
"format" : "json"
- ponto finalExemplo:
-
ID da Região:
"endpoint" : "us-ashburn-1"
-
Formato do URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- namespace
Exemplo:
"namespace" : "my-namespace"
- bucket
Exemplo:
"bucket" : "my-bucket"
- prefixo
O esquema é migrado para o arquivo
<prefix>/Schema/schema.ddl
e os dados de origem são migrados para os arquivos<prefix>/Data/<chunk>.json
, em que chunk=000000.json, 000001.json e assim por diante.Exemplo:"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
- chunkSize
Exemplo:
"chunkSize" : 40
- credenciaisExemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfileExemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Exemplo:
"useInstancePrincipal" : true
- useDelegationToken
Exemplo:
"useDelegationToken" : true
Observação:
A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell.
Parâmetro de Configuração Exclusivo
bastante
-
Finalidade: Especifica se deve ou não embelezar a saída JSON para aumentar a legibilidade.
Se não for especificado, o valor padrão será falso.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"pretty" : true
Arquivo Parquet no Bucket do OCI Object Storage
O formato do arquivo de configuração para o arquivo Parquet no bucket do OCI Object Storage como um sumário do NoSQL Database Migrator é mostrado abaixo.
Observação:
Os tipos de origem válidos para o tipo de origem do OCI Object Storage sãonosqldb
e nosqldb_cloud
.
Modelo de Configuração do Dissipador
"sink" : {
"type" : "object_storage_oci",
"format" : "parquet",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"chunkSize" : <size in MB>,
"compression": "<SNAPPY|GZIP|NONE>",
"parquetOptions": {
"useLogicalJson": <true|false>,
"useLogicalEnum": <true|false>,
"useLogicalUUID": <true|false>,
"truncateDoubleSpecials": <true|false>
},
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"useDelegationToken" : <true|false>
}
Parâmetros do dissipador
Parâmetros de Configuração Comum
- tipo
Use
"type" : "object_storage_oci"
- formato
Use
"format" : "parquet"
- ponto finalExemplo:
-
ID da Região:
"endpoint" : "us-ashburn-1"
-
Formato do URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- namespace
Exemplo:
"namespace" : "my-namespace"
- bucket
Exemplo:
"bucket" : "my-bucket"
- prefixo
Os dados de origem são migrados para os arquivos
<prefix>/Data/<chunk>.parquet
, em que chunk=000000.parquet, 000001.parquet e assim por diante.Exemplo:"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
- chunkSize
Exemplo:
"chunkSize" : 40
- credenciaisExemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfileExemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Exemplo:
"useInstancePrincipal" : true
- useDelegationToken
Exemplo:
"useDelegationToken" : true
Observação:
A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell.
Parâmetro de Configuração Exclusivo
compactação
-
Finalidade: Especifica o tipo de compactação a ser usado para compactar os dados Parquet. Os valores válidos são SNAPPY, GZIP e NONE.
Se não for especificado, o padrão será SNAPPY.
- Tipo de Dados: string
- Obrigatório (S/N): N
-
Exemplo:
"compression" : "GZIP"
parquetOptions
-
Finalidade: Especifica as opções para selecionar os tipos lógicos Parquet para as colunas NoSQL ENUM, JSON e UUID.
Se você não especificar esse parâmetro, o NoSQL Database Migrator gravará os dados das colunas ENUM, JSON e UUID como String.
- Tipo de Dados: objeto
- Obrigatório (S/N): N
parquetOptions.useLogicalJson
-
Finalidade: Especifica se os dados da coluna JSON NoSQL devem ou não ser gravados como tipo JSON lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.
Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna JSON NoSQL como String.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
Finalidade: Especifica se os dados da coluna ENUM NoSQL devem ou não ser gravados como tipo ENUM lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.
Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna ENUM NoSQL como String.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
Finalidade: Especifica se os dados da coluna UUID NoSQL devem ou não ser gravados como tipo de UUID lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.
Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna UUID NoSQL como String.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
Finalidade: Especifica se os valores +Infinity, -Infinity e NaN serão truncados ou não.
Por padrão, ele é definido comofalse
. Se for definido comotrue
,- Positive_Infinity é truncado para Double.MAX_VALUE.
- NEGATIVE_INFINITY é truncado para -Double.MAX_VALUE.
- NaN é truncado para 9.9999999999999990E307.
- Tipo de dados: booliano
- Obrigatório (S/N): N
-
Exemplo:
"truncateDoubleSpecials" : true
Oracle NoSQL Database
O formato do arquivo de configuração do Oracle NoSQL Database como um sumário do NoSQL Database Migrator é mostrado abaixo.
Modelo de Configuração do Dissipador
"sink" : {
"type": "nosqldb",
"storeName" : "<store name>",
"helperHosts" : ["hostname1:port1","hostname2:port2,..."],
"security" : "</path/to/store/credentials/file>",
"table" : "<fully qualified table name>",
"includeTTL": <true|false>,
"ttlRelativeDate": "<date-to-use in UTC>",
"schemaInfo" : {
"schemaPath" : "</path/to/a/schema/file>",
"defaultSchema" : <true|false>,
"useSourceSchema" : <true|false>,
"DDBPartitionKey" : <"name:type">,
"DDBSortKey" : "<name:type>"
},
"overwrite" : <true|false>,
"requestTimeoutMs" : <timeout in milli seconds>
}
Parâmetros do dissipador
Parâmetro de Configuração Comum
- tipo
Use
"type" : "nosqldb"
- segurança
Exemplo:
"security" : "
/home/user/client.credentials
"Exemplo de conteúdo do arquivo de segurança para autenticação baseada em arquivo de senha:
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.pwdfile.file=/home/nosql/login.passwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
Exemplo de conteúdo do arquivo de segurança para autenticação baseada em wallet:
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.wallet.dir=/home/nosql/login.wallet oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
- requestTimeoutMs
Exemplo:
"requestTimeoutMs" : 5000
Parâmetro de Configuração Exclusivo
storeName
-
Finalidade: Nome do armazenamento do Oracle NoSQL Database.
- Tipo de Dados: string
- Obrigatório (S/N): S
- Exemplo:
"storeName" : "kvstore"
helperHosts
-
Finalidade: Uma lista de pares de porta de host e registro no formato
hostname:port
. Delimite cada item da lista usando uma vírgula. Especifique pelo menos um host auxiliar. - Tipo de Dados: matriz de strings
- Obrigatório (S/N): S
- Exemplo:
"helperHosts" : ["localhost:5000","localhost:6000"]
tabela
-
Finalidade: Especifica o nome da tabela para armazenar os dados migrados.
Formato:
[namespace_name:]<table_name>
Se a tabela estiver no namespace DEFAULT, você poderá omitir o
namespace_name
. A tabela deve existir no armazenamento durante a migração e seu esquema deve corresponder aos dados de origem.Se a tabela não estiver disponível no coletor, você poderá usar o parâmetro
schemaInfo
para instruir o NoSQL Database Migrator a criar a tabela no coletor. - Tipo de Dados: string
- Obrigatório (S/N): S
- Exemplo:
-
Com o namespace DEFAULT
"table" :"mytable"
-
Com um namespace não padrão
"table" : "mynamespace:mytable"
-
Para especificar uma tabela filho
"table" : "mytable.child"
Observação:
Você pode migrar as tabelas filho de uma origem de dados válida para o Oracle NoSQL Database. O NoSQL Database Migrator copia apenas uma única tabela em cada execução. Certifique-se de que a tabela pai seja migrada antes da tabela filho.
-
includeTTL
-
Finalidade: Especifica se devem ou não incluir metadados TTL para linhas de tabela fornecidas pela origem ao importar tabelas do Oracle NoSQL Database.
Se você não especificar esse parâmetro, o padrão será
false
. Nesse caso, o NoSQL Database Migrator não inclui metadados TTL para linhas de tabela fornecidas pela origem ao importar tabelas do Oracle NoSQL Database.Se definido como verdadeiro, a ferramenta NoSQL Database Migrator executará as seguintes verificações nos metadados TTL ao importar uma linha de tabela:- Se você importar uma linha que não tenha a definição
_metadata
, a ferramenta NoSQL Database Migrator definirá o TTL como 0, o que significa que a linha nunca expirará. - Se você importar uma linha que tenha a definição
_metadata
, a ferramenta NoSQL Database Migrator comparará o valor de TTL com um Horário de Referência quando uma linha for importada. Se a linha já tiver expirado em relação à hora de referência, ela será ignorada. Se a linha não tiver expirado, ela será importada juntamente com o valor TTL. Por padrão, o Horário de Referência da operação de importação é o horário atual em milissegundos, obtido de System.currentTimeMillis(), da máquina em que a ferramenta Migrador de Banco de Dados NoSQL está em execução. Mas você também pode definir um Horário de Referência personalizado usando o parâmetro de configuraçãottlRelativeDate
se quiser estender o tempo de expiração e importar linhas que, de outra forma, expirariam imediatamente.A fórmula para calcular o tempo de expiração de uma linha é a seguinte:expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
Observação:
Como os limites do Oracle NoSQL TTL estão em horas e dias, em alguns casos, o TTL da linha importada pode ser ajustado para a hora ou dia mais próximo. Por exemplo, considere uma linha que tenha o valor de expiração1629709200000 (2021-08-23 09:00:00)
e o valor do Horário de Referência seja1629707962582 (2021-08-23 08:39:22)
. Aqui, embora a linha não tenha expirado em relação ao Horário de Referência quando esses dados são importados, o novo TTL para a linha é1629712800000 (2021-08-23 10:00:00)
.
- Se você importar uma linha que não tenha a definição
- Tipo de dados: booliano
- Obrigatório (S/N): N
- Exemplo:
"includeTTL" : true
ttlRelativeDate
-
Finalidade: Especifique uma data UTC no formato AAAA-MM-DD hh:mm:ss usado para definir a expiração TTL das linhas da tabela durante a importação para o Oracle NoSQL Database.
Se uma linha da tabela nos dados que você está exportando tiver expirado, você poderá definir o parâmetro ttlRelativeDate como uma data antes do horário de expiração da linha da tabela nos dados exportados.
Se você não especificar esse parâmetro, ele assumirá como padrão o horário atual em milissegundos, obtido de System.currentTimeMillis(), da máquina em que a ferramenta NoSQL Database Migrator está sendo executada.
- Data Type: data
- Obrigatório (S/N): N
- Exemplo:
"ttlRelativeDate" : "2021-01-03 04:31:17"
Vamos considerar um cenário em que as linhas da tabela expiram após sete dias de 1o de janeiro de 2021. Depois de exportar essa tabela, em 7 de janeiro de 2021, você encontra um problema com sua tabela e decide importar os dados. As linhas da tabela expirarão em um dia (data de expiração dos dados menos o valor padrão do parâmetro de configuração ttlRelativedate, que é a data atual). Mas se você quiser estender a data de expiração das linhas da tabela para cinco dias, em vez de um dia, use o parâmetro ttlRelativeDate e escolha uma data anterior. Portanto, nesse cenário, se você quiser estender o tempo de expiração das linhas da tabela por cinco dias, defina o valor dos parâmetros de configuração ttlRelativeDate como 3-Jan-2021, que é usado como Tempo de Referência quando as linhas da tabela são importadas.
esquemainfo
-
Finalidade: Especifica o esquema dos dados que estão sendo migrados. Se isso não for especificado, o NoSQL Database Migrator assumirá que a tabela já existe no armazenamento do coletor.
- Tipo de Dados: Objeto
- Obrigatório (S/N): N
schemaInfo.schemaPath
-
Finalidade: Especifica o caminho absoluto para um arquivo que contém instruções DDL para a tabela NoSQL.
O NoSQL Database Migrator executa os comandos DDL listados nesse arquivo antes de migrar os dados.
O NoSQL Database Migrator não suporta mais de uma instrução DDL por linha no arquivo
schemaPath
. -
Tipo de Dados: string
-
Obrigatório (S/N): N
Observação:
defaultSchema
eschemaPath
são mutuamente exclusivos. -
Exemplo:
"schemaPath" : "/home/user/schema_file"
schemaInfo.defaultSchema
-
Finalidade: A definição desse parâmetro como verdadeiro instrui o NoSQL Database Migrator a criar uma tabela com o esquema padrão. O esquema padrão é definido pelo próprio migrador. Para obter mais informações sobre definições de esquema padrão, consulte Esquema Padrão em Usando o Oracle NoSQL Data Migrator.
-
Tipo de dados: booliano
-
Obrigatório (S/N): N
Observação:
defaultSchema
eschemaPath
são mutuamente exclusivos.
schemaInfo.useSourceSchema
-
Finalidade: Especifica se o coletor usa ou não a definição de esquema de tabela fornecida pela origem ao migrar tabelas NoSQL.
-
Tipo de dados: booliano
- Obrigatório (S/N): N
Observação:
Os parâmetros defaultSchema, schemaPath e useSourceSchema são mutuamente exclusivos. Especifique apenas um desses parâmetros. - Exemplo:
- Com Esquema Padrão:
"schemaInfo" : { "defaultSchema" : true }
- Com um esquema predefinido:
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>" }
- Com o esquema de origem:
"schemaInfo" : { "useSourceSchema" : true }
- Com Esquema Padrão:
schemaInfo.DDBPartitionKey
- Finalidade: Especifica a chave de partição DynamoDB e o tipo correspondente do Oracle NoSQL Database a ser usado na tabela afundar do Oracle NoSQL Database. Essa chave será usada como uma chave de partição da tabela do BD NoSQL. Isso só é aplicável quando
defaultSchema
é definido como verdadeiro e o formato de origem édynamodb_json
. Consulte Mapeamento de tipos DynamoDB para tipos Oracle NoSQL para obter mais detalhes. - Obrigatório (S/N): S, se
defaultSchema
for verdadeiro e a origem fordynamodb_json
. - Exemplo:
"DDBPartitionKey" : "PersonID:INTEGER"
Observação:
Se a chave de partição contiver traço (-) ou ponto (.), o Migrador a substituirá por sublinhado (_), pois o nome da coluna NoSQL não suporta ponto e traço.
schemaInfo.DDBSortKey
- Finalidade: Especifica a chave de classificação DynamoDB e seu tipo correspondente do Oracle NoSQL Database a ser usado na tabela do Oracle NoSQL Database de destino. Se a tabela DynamoDB importadora não tiver uma chave de classificação, esse atributo não deverá ser definido. Essa chave será usada como parte não fragmentada da chave primária na tabela do BD NoSQL. Isso só é aplicável quando
defaultSchema
é definido como verdadeiro e a origem édynamodb_json
. Consulte Mapeamento de tipos DynamoDB para tipos Oracle NoSQL para obter mais detalhes. - Obrigatório (S/N): N
- Exemplo:
"DDBSortKey" : "Skey:STRING"
Observação:
Se a chave de classificação contiver traço (-) ou ponto (.), o Migrador a substituirá por sublinhado (_), pois o nome da coluna NoSQL não suporta ponto e traço.
overwrite
-
Finalidade: Indica o comportamento do NoSQL Database Migrator quando o registro que está sendo migrado da origem já está presente no coletor.
Se o valor for definido como falso, ao migrar tabelas, o NoSQL Database Migrator ignorará os registros para os quais a mesma chave primária já existe no coletor.
Se o valor for definido como verdadeiro, ao migrar tabelas, o NoSQL Database Migrator substituirá os registros para os quais a mesma chave primária já existe no coletor.
Se não for especificado, o padrão será verdadeiro.
- Tipo de dados: booliano
- Obrigatório (S/N): N
- Exemplo:
"overwrite" : false
Oracle NoSQL Database Cloud Service
O formato do arquivo de configuração do Oracle NoSQL Database Cloud Service como um sumário do NoSQL Database Migrator é mostrado abaixo.
Modelo de Configuração do Dissipador
"sink" : {
"type" : "nosqldb_cloud",
"endpoint" : "<Oracle NoSQL Cloud Service Endpoint>",
"table" : "<table name>",
"compartment" : "<OCI compartment name or id>",
"includeTTL": <true|false>,
"ttlRelativeDate" : "<date-to-use in UTC>",
"schemaInfo" : {
"schemaPath" : "</path/to/a/schema/file>",
"defaultSchema" : <true|false>,
"useSourceSchema" : <true|false>,
"DDBPartitionKey" : <"name:type">,
"DDBSortKey" : "<name:type>",
"onDemandThroughput" : <true|false>,
"readUnits" : <table read units>,
"writeUnits" : <table write units>,
"storageSize" : <storage size in GB>
},
"credentials" : "</path/to/oci/credential/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"useDelegationToken" : <true|false>,
"writeUnitsPercent" : <table writeunits percent>,
"requestTimeoutMs" : <timeout in milli seconds>,
"overwrite" : <true|false>
}
Parâmetros do dissipador
Parâmetros de Configuração Comum
- tipo
Use
"type" : "nosqldb_cloud"
- ponto finalExemplo:
-
ID da Região:
"endpoint" : "us-ashburn-1"
-
Formato do URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- credenciaisExemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfileExemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Exemplo:
"useInstancePrincipal" : true
- useDelegationToken
Exemplo:
"useDelegationToken" : true
Observação:
A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell. - requestTimeoutMs
Exemplo:
"requestTimeoutMs" : 5000
Parâmetro de Configuração Exclusivo
- tabela
- compartimento
- includeTTL
- ttlRelativeDate
- schemaInfo
- schemaInfo.schemaPath
- schemaInfo.defaultSchema
- schemaInfo.useSourceSchema
- schemaInfo.DDBPartitionKey
- schemaInfo.DDBSortKey
- schemaInfo.onDemandThroughput
- schemaInfo.readUnits
- schemaInfo.writeUnits
- schemaInfo.storageSize
- writeUnitsPercent
- overwrite
tabela
-
Finalidade: Especifica o nome da tabela para armazenar os dados migrados.
Certifique-se de que essa tabela exista no Oracle NoSQL Database Cloud Service. Caso contrário, você terá que usar o objeto
schemaInfo
na configuração do coletor para instruir o NoSQL Database Migrator a criar a tabela.O esquema desta tabela deve corresponder aos dados de origem.
- Tipo de Dados: string
- Obrigatório (S/N): S
- Exemplo:
- Para especificar uma tabela
"table" : "mytable"
- Para especificar uma tabela filho
"table" : "mytable.child"
Observação:
Você pode migrar as tabelas filho de uma origem de dados válida para o Oracle NoSQL Database Cloud Service. O NoSQL Database Migrator copia apenas uma única tabela em cada execução. Certifique-se de que a tabela pai seja migrada antes da tabela filho.
- Para especificar uma tabela
compartimento
-
Finalidade: Especifica o nome ou o OCID do compartimento no qual a tabela reside.
Se você não fornecer nenhum valor, o padrão será o compartimento root.
Você pode encontrar o OCID do seu compartimento na janela Explorador de Compartimentos em Governança na Console do OCI Cloud.
- Tipo de Dados: string
- Obrigatório (S/N): S, se a tabela não estiver no compartimento raiz da tenancy OU quando o parâmetro useInstancePrincipal estiver definido como verdadeiro.
Observação:
Se o parâmetro useInstancePrincipal for definido como verdadeiro, o compartimento deverá especificar o OCID do compartimento e não o nome. - Exemplo:
-
Nome do compartimento
"compartment" : "mycompartment"
-
Nome do compartimento qualificado com seu compartimento pai
"compartment" : "parent.childcompartment"
-
Nenhum valor fornecido. O padrão é o compartimento raiz.
"compartment": ""
-
OCID do compartimento
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
includeTTL
-
Finalidade: Especifica se devem ou não incluir metadados TTL para linhas de tabela fornecidas pela origem ao importar tabelas do Oracle NoSQL Database.
Se você não especificar esse parâmetro, o padrão será
false
. Nesse caso, o NoSQL Database Migrator não inclui metadados TTL para linhas de tabela fornecidas pela origem ao importar tabelas do Oracle NoSQL Database.Se definido como verdadeiro, a ferramenta NoSQL Database Migrator executará as seguintes verificações nos metadados TTL ao importar uma linha de tabela:- Se você importar uma linha que não tenha a definição
_metadata
, a ferramenta NoSQL Database Migrator definirá o TTL como 0, o que significa que a linha nunca expirará. - Se você importar uma linha que tenha a definição
_metadata
, a ferramenta NoSQL Database Migrator comparará o valor de TTL com um Horário de Referência quando uma linha for importada. Se a linha já tiver expirado em relação à hora de referência, ela será ignorada. Se a linha não tiver expirado, ela será importada juntamente com o valor TTL. Por padrão, o Horário de Referência da operação de importação é o horário atual em milissegundos, obtido de System.currentTimeMillis(), da máquina em que a ferramenta Migrador de Banco de Dados NoSQL está em execução. Mas você também pode definir um Horário de Referência personalizado usando o parâmetro de configuraçãottlRelativeDate
se quiser estender o tempo de expiração e importar linhas que, de outra forma, expirariam imediatamente.A fórmula para calcular o tempo de expiração de uma linha é a seguinte:expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
Observação:
Como os limites do Oracle NoSQL TTL estão em horas e dias, em alguns casos, o TTL da linha importada pode ser ajustado para a hora ou dia mais próximo. Por exemplo, considere uma linha que tenha o valor de expiração1629709200000 (2021-08-23 09:00:00)
e o valor do Horário de Referência seja1629707962582 (2021-08-23 08:39:22)
. Aqui, embora a linha não tenha expirado em relação ao Horário de Referência quando esses dados são importados, o novo TTL para a linha é1629712800000 (2021-08-23 10:00:00)
.
- Se você importar uma linha que não tenha a definição
- Tipo de dados: booliano
- Obrigatório (S/N): N
- Exemplo:
"includeTTL" : true
ttlRelativeDate
-
Finalidade: Especifique uma data UTC no formato AAAA-MM-DD hh:mm:ss usado para definir a expiração TTL das linhas da tabela durante a importação para o Oracle NoSQL Database.
Se uma linha da tabela nos dados que você está exportando tiver expirado, você poderá definir o parâmetro ttlRelativeDate como uma data antes do horário de expiração da linha da tabela nos dados exportados.
Se você não especificar esse parâmetro, ele assumirá como padrão o horário atual em milissegundos, obtido de System.currentTimeMillis(), da máquina em que a ferramenta NoSQL Database Migrator está sendo executada.
- Data Type: data
- Obrigatório (S/N): N
- Exemplo:
"ttlRelativeDate" : "2021-01-03 04:31:17"
Vamos considerar um cenário em que as linhas da tabela expiram após sete dias de 1o de janeiro de 2021. Depois de exportar essa tabela, em 7 de janeiro de 2021, você encontra um problema com sua tabela e decide importar os dados. As linhas da tabela expirarão em um dia (data de expiração dos dados menos o valor padrão do parâmetro de configuração ttlRelativedate, que é a data atual). Mas se você quiser estender a data de expiração das linhas da tabela para cinco dias, em vez de um dia, use o parâmetro ttlRelativeDate e escolha uma data anterior. Portanto, nesse cenário, se você quiser estender o tempo de expiração das linhas da tabela por cinco dias, defina o valor dos parâmetros de configuração ttlRelativeDate como 3-Jan-2021, que é usado como Tempo de Referência quando as linhas da tabela são importadas.
schemaInfo
-
Finalidade: Especifica o esquema dos dados que estão sendo migrados.
Se você não especificar esse parâmetro, o NoSQL Database Migrator assumirá que a tabela já existe no Oracle NoSQL Database Cloud Service.
Se esse parâmetro não for especificado e a tabela não existir no coletor, a migração falhará.
- Tipo de Dados: Objeto
- Obrigatório (S/N): N
schemaInfo.schemaPath
-
Finalidade: Especifica o caminho absoluto para um arquivo que contém instruções DDL para a tabela NoSQL.
O NoSQL Database Migrator executa os comandos DDL listados nesse arquivo antes de migrar os dados.
O NoSQL Database Migrator não suporta mais de uma instrução DDL por linha no arquivo
schemaPath
. -
Tipo de Dados: string
-
Obrigatório (S/N): N
Observação:
defaultSchema
eschemaPath
são mutuamente exclusivos. -
Exemplo:
"schemaPath" : "/home/user/schema_file"
schemaInfo.defaultSchema
-
Finalidade: A definição desse parâmetro como Sim instrui o NoSQL Database Migrator a criar uma tabela com esquema padrão. O esquema padrão é definido pelo próprio migrador. Para obter mais informações sobre definições de esquema padrão, consulte Esquema Padrão em Usando o Oracle NoSQL Data Migrator.
-
Tipo de dados: booliano
-
Obrigatório (S/N): N
Observação:
defaultSchema
eschemaPath
são mutuamente exclusivos.
schemaInfo.useSourceSchema
-
Finalidade: Especifica se o coletor usa ou não a definição de esquema de tabela fornecida pela origem ao migrar tabelas NoSQL.
-
Tipo de dados: booliano
- Obrigatório (S/N): N
Observação:
Os parâmetros defaultSchema, schemaPath e useSourceSchema são mutuamente exclusivos. Especifique apenas um desses parâmetros. - Exemplo:
- Com Esquema Padrão:
"schemaInfo": { "defaultSchema": true, "readUnits": 100, "writeUnits": 60, "storageSize": 1 }
- Com um esquema predefinido:
"schemaInfo": { "schemaPath": "<complete/path/to/the/schema/definition/file>", "readUnits": 100, "writeUnits": 100, "storageSize": 1 }
- Com o esquema de origem:
"schemaInfo": { "useSourceSchema": true, "readUnits": 100, "writeUnits": 60, "storageSize": 1 }
- Com Esquema Padrão:
schemaInfo.DDBPartitionKey
- Finalidade: Especifica a chave de partição DynamoDB e o tipo correspondente do Oracle NoSQL Database a ser usado na tabela afundar do Oracle NoSQL Database. Essa chave será usada como uma chave de partição da tabela do BD NoSQL. Isso só é aplicável quando
defaultSchema
é definido como verdadeiro e o formato de origem édynamodb_json
. Consulte Mapeamento de tipos DynamoDB para tipos Oracle NoSQL para obter mais detalhes. - Obrigatório (S/N): S, se
defaultSchema
for verdadeiro e a origem fordynamodb_json
. - Exemplo:
"DDBPartitionKey" : "PersonID:INTEGER"
Observação:
Se a chave de partição contiver traço (-) ou ponto (.), o Migrador a substituirá por sublinhado (_), pois o nome da coluna NoSQL não suporta ponto e traço.
schemaInfo.DDBSortKey
- Finalidade: Especifica a chave de classificação DynamoDB e seu tipo correspondente do Oracle NoSQL Database a ser usado na tabela do Oracle NoSQL Database de destino. Se a tabela DynamoDB importadora não tiver uma chave de classificação, esse atributo não deverá ser definido. Essa chave será usada como parte não fragmentada da chave primária na tabela do BD NoSQL. Isso só é aplicável quando
defaultSchema
é definido como verdadeiro e a origem édynamodb_json
. Consulte Mapeamento de tipos DynamoDB para tipos Oracle NoSQL para obter mais detalhes. - Obrigatório (S/N): N
- Exemplo:
"DDBSortKey" : "Skey:STRING"
Observação:
Se a chave de classificação contiver traço (-) ou ponto (.), o Migrador a substituirá por sublinhado (_), pois o nome da coluna NoSQL não suporta ponto e traço.
schemaInfo.onDemandThroughput
- Finalidade: Especifica criar a tabela com throughput de leitura e gravação sob demanda. Se esse parâmetro não estiver definido, a tabela será criada com capacidade provisionada.
O valor padrão é
false
.Observação:
Esse parâmetro não é aplicável a tabelas filho, pois elas compartilham o throughput da tabela pai de nível superior. -
Tipo de dados: Booliano
-
Obrigatório (S/N): N
- Exemplo:
"onDemandThroughput" : "true"
schemaInfo.readUnits
- Finalidade: Especifica o throughput de leitura da nova tabela.
Observação:
- Este parâmetro não é aplicável a tabelas provisionadas com capacidade sob demanda.
- Esse parâmetro não é aplicável a tabelas filho, pois elas compartilham o throughput de leitura da tabela pai de nível superior.
-
Tipo de Dados: inteiro
-
Obrigatório (S/N): S, se a tabela não for uma tabela filha ou se o parâmetro schemaInfo.onDemandThroughput estiver definido como
false
, caso contrário, N. - Exemplo:
"readUnits" : 100
schemaInfo.writeUnits
- Finalidade: Especifica o throughput de gravação da nova tabela.
Observação:
- Este parâmetro não é aplicável a tabelas provisionadas com capacidade sob demanda.
- Esse parâmetro não é aplicável a tabelas filho, pois elas compartilham o throughput de gravação da tabela pai de nível superior.
-
Tipo de Dados: inteiro
-
Obrigatório (S/N): S, se a tabela não for uma tabela filha ou se o parâmetro schemaInfo.onDemandThroughput estiver definido como
false
, caso contrário, N. - Exemplo:
"writeUnits" : 100
schemaInfo.storageSize
- Finalidade: Especifica o tamanho de armazenamento da nova tabela em GB.
Observação:
Esse parâmetro não é aplicável a tabelas filho, pois elas compartilham o tamanho de armazenamento da tabela pai de nível superior. -
Tipo de Dados: inteiro
-
Obrigatório (S/N): S, se a tabela não for uma tabela filho, senão N.
- Exemplo:
-
Com
schemaPath
"schemaInfo" : { "schemaPath" : "</path/to/a/schema/file>", "readUnits" : 500, "writeUnits" : 1000, "storageSize" : 5 }
-
Com
defaultSchema
"schemaInfo" : { "defaultSchema" :Yes, "readUnits" : 500, "writeUnits" : 1000, "storageSize" : 5 }
-
writeUnitsPercent
-
Finalidade: Especifica a Porcentagem de unidades de gravação da tabela a serem usadas durante a atividade de migração. O tempo necessário para migrar dados é diretamente proporcional a esse atributo.
O valor padrão é 90. O intervalo válido é qualquer número inteiro entre 1 e 100.
Consulte Diagnosticando e Solucionando Problemas do Oracle NoSQL Database Migrator para saber como usar esse atributo para melhorar a velocidade de migração de dados.
- Tipo de Dados: inteiro
- Obrigatório (S/N): N
- Exemplo:
"writeUnitsPercent" : 90
overwrite
-
Finalidade: Indica o comportamento do NoSQL Database Migrator quando o registro que está sendo migrado da origem já está presente no coletor.
Se o valor for definido como falso, ao migrar tabelas, o NoSQL Database Migrator ignorará os registros para os quais a mesma chave primária já existe no coletor.
Se o valor for definido como verdadeiro, ao migrar tabelas, o NoSQL Database Migrator substituirá os registros para os quais a mesma chave primária já existe no coletor.
Se não for especificado, o padrão será verdadeiro.
- Tipo de dados: booliano
- Obrigatório (S/N): N
- Exemplo:
"overwrite" : false
Modelos de Configuração de Transformação
Este tópico explica os parâmetros de configuração das diferentes transformações suportadas pelo Oracle NoSQL Database Migrator. Para obter o modelo de arquivo de configuração completo, consulte Arquivo de Configuração em Terminologia usada com o NoSQL Data Migrator.
O Oracle NoSQL Database Migrator permite modificar os dados, ou seja, adicionar transformações de dados como parte da atividade de migração. Você pode definir várias transformações em uma única migração. Nesse caso, a ordem das transformações é vital porque os dados de origem passam por cada transformação na ordem dada. A saída de uma transformação se torna a entrada para a próxima no pipeline do migrador.
Transformações da Tabela
Atributo de Configuração da Transformação | Você pode usar essa transformação para... |
---|---|
ignoreFields |
Ignore as colunas identificadas da linha de origem antes de escrever na pia. |
includeFields |
Inclua as colunas identificadas da linha de origem antes de gravar na pia. |
renameFields |
Renomeie as colunas identificadas da linha de origem antes de escrever na pia. |
aggregateFields |
Agregue várias colunas da origem em uma única coluna na pia. Como parte dessa transformação, você também pode identificar as colunas que deseja excluir na agregação. Esses campos serão ignorados da coluna agregada. |
Você pode encontrar o modelo de configuração para cada transformação suportada abaixo.
ignoreFields
O formato do arquivo de configuração para a transformação ignoreFields
é mostrado abaixo.
Modelo de Configuração de Transformação
"transforms" : {
"ignoreFields" : ["<field1>","<field2>",...]
}
Parâmetro de Transformação
ignoreFields
-
Finalidade: Uma matriz dos nomes de coluna a serem ignorados dos registros de origem.
Observação:
É possível fornecer somente campos de nível superior. As transformações não podem ser aplicadas aos dados nos campos aninhados. - Tipo de Dados: matriz de strings
- Obrigatório (S/N): S
-
Exemplo: para ignorar as colunas denominadas "nome" e "endereço" do registro de origem:
"ignoreFields" : ["name","address"]
includeFields
O formato do arquivo de configuração para a transformação includeFields
é mostrado abaixo.
Modelo de Configuração de Transformação
"transforms" : {
"includeFields" : ["<field1>","<field2>",...]
}
Parâmetro de Transformação
includeFields
-
Finalidade: Uma matriz dos nomes de coluna a serem incluídos nos registros de origem. Ela apenas inclui os campos especificados na matriz; o restante dos campos é ignorado.
Observação:
A ferramenta NoSQL Database Migrator gerará um erro se você especificar um array vazio. Além disso, você pode especificar apenas os campos de nível superior. A ferramenta NoSQL Database Migrator não aplica transformações aos dados nos campos aninhados. - Tipo de Dados: matriz de strings
- Obrigatório (S/N): S
-
Exemplo: para ignorar as colunas denominadas "idade" e "gênero" do registro de origem:
"includeFields" : ["age","gender"]
renameFields
O formato do arquivo de configuração para a transformação renameFields
é mostrado abaixo.
Modelo de Configuração de Transformação
"transforms" : {
"renameFields" : {
"<old_name>" : "<new_name>",
"<old_name>" : "<new_name>,"
.....
}
}
Parâmetro de Transformação
renameFields
-
Finalidade: Pares de Chave/Valor dos nomes antigos e novos das colunas a serem renomeadas.
Observação:
É possível fornecer somente campos de nível superior. As transformações não podem ser aplicadas aos dados nos campos aninhados. - Tipo de Dados: Objeto JSON
- Obrigatório (S/N): S
-
Exemplo: Para renomear a coluna chamada "residência" como "endereço" e a coluna chamada "_id" como "id":
"renameFields" : { "residence" : "address", "_id" : "id" }
aggregateFields
O formato do arquivo de configuração para a transformação aggregateFields
é mostrado abaixo.
Modelo de Configuração de Transformação
"transforms" : {
"aggregateFields" : {
"fieldName" : "name of the new aggregate field",
"skipFields" : ["<field1>","<field2">,...]
}
}
Parâmetro de Transformação
aggregateFields
-
Finalidade: Nome do campo agregado na pia.
- Tipo de Dados: string
- Obrigatório (S/N): S
-
Exemplo: Se o registro fornecido for:
{ "id" : 100, "name" : "john", "address" : "USA", "age" : 20 }
Se a transformação agregada for:
"aggregateFields" : { "fieldName" : "document", "skipFields" : ["id"] }
A coluna agregada na pia se parece com:
{ "id": 100, "document": { "name": "john", "address": "USA", "age": 20 } }
Mapeamento de tipos DynamoDB para tipos Oracle NoSQL
A tabela abaixo mostra o mapeamento dos tipos DynamoDB para os tipos Oracle NoSQL.
Tabela - Mapeando o tipo DynamoDB para o tipo Oracle NoSQL
# | Tipo DynamoDB | Tipo JSON para a coluna JSON NoSQL | Tipo Oracle NoSQL |
---|---|---|---|
1 | String (S) | String JSON | STRING |
2 | Tipo de Número (N) | Número JSON | NÚMERO INTEIRO/LONGO/FLUTUANTE/DUPLO/NÚMERO |
3 | Booliano (BOOL) | Booliano JSON | BOOLEAN |
4 | Tipo binário (B) - Buffer de bytes | String JSON codificada em BASE-64 | BINARY |
5 | NULL | JSON nulo | NULL |
6 | Conjunto de Strings (SS) | Array JSON de Strings | ARRAY (STRING) |
7 | Conjunto de Números (NS) | Array JSON de Números | MATRIZ (INTEIRO/LONGO/FLUTUANTE/DUPLO/NÚMERO) |
8 | Conjunto Binário (BS) | Matriz JSON de Strings codificadas em Base-64 | ARRAY (BINÁRIO) |
9 | LISTA (L) | Array de JSON | ARRAY (JSON) |
10 | MAPA (M) | Objeto JSON | JSON |
11 | CHAVE DE PARTIÇÃO | NA | PRIMARY KEY e SHARD KEY |
12 | CHAVE DE CLASSIFICAÇÃO | NA | CHAVE PRINCIPAL |
13 | Nomes de atributo com traço e ponto | Nomes de campos JSON com um sublinhado | Nomes de colunas com sublinhado |
- DynamoDB Suporta apenas um tipo de dados para Números e pode ter até 38 dígitos de precisão, em contraste, o Oracle NoSQL suporta muitos tipos para escolher com base no intervalo e na precisão do data.You pode selecionar o tipo de Número apropriado que se adapte ao intervalo de seus dados de entrada. Se você não tiver certeza da natureza dos dados, o tipo NUMBER NoSQL poderá ser usado.
- DynamoDB Suporta apenas um tipo de dados para Números e pode ter até 38 dígitos de precisão, em contraste, o Oracle NoSQL suporta muitos tipos para escolher com base no intervalo e na precisão do data.You pode selecionar o tipo de Número apropriado que se adapte ao intervalo de seus dados de entrada. Se você não tiver certeza da natureza dos dados, o tipo NUMBER NoSQL poderá ser usado.
- A chave de partição em DynamoDB tem um limite de 2048 bytes, mas o Oracle NoSQL Cloud Service tem um limite de 64 bytes para a chave Primária/Chave de partição.
- A chave de classificação em DynamoDB tem um limite de 1024 bytes, mas o Oracle NoSQL Cloud Service tem um limite de 64 bytes para a chave Primária.
- Os nomes de atributo em DynamoDB podem ter 64 KB, mas os nomes de coluna do serviço Oracle NoSQL Cloud têm um limite de 64 caracteres.
Mapeamento do Tipo de Dados Oracle NoSQL para Parquet
Descreve o mapeamento dos tipos de dados do Oracle NoSQL para tipos de dados Parquet.
Tipo de NoSQL | Tipo Parquet |
---|---|
BOOLEAN | BOOLEAN |
INTEGER | INT32 |
LONG | INT64 |
FLOAT | DOUBLE |
DOUBLE | DOUBLE |
BINARY | BINARY |
FIXED_BINARY | BINARY |
STRING | BINÁRIO (STRING) |
ENUM | BINÁRIO (STRING)
ou BINARY(ENUM), se o ENUM lógico estiver configurado |
UUID | BINÁRIO (STRING)
ou FIXED_BINARY(16), se o UUID lógico estiver configurado |
TIMESTAMP(p) | INT64(TIMESTAMP(p)) |
NUMBER | DOUBLE |
field_name MATRIZ (T) |
|
field_name MAPA (T) |
|
field_name RECORD(K₁ T₁ N₁, Kٖ₂ T₂ N₂, ....)
em que: K = Nome da chave T = Tipo N = Anulável ou não |
|
JSON | BINÁRIO (STRING)
ou BINARY(JSON), se o JSON lógico estiver configurado |
Observação:
Quando o tipo de Número NoSQL é convertido para o tipo Parquet Duplo, pode haver alguma perda de precisão caso o valor não possa ser representado em Duplo. Se o número for muito grande para representar como Duplo, ele será convertido em Double.NEGATIVE_INFINITY ou Double.POSITIVE_INFINITY.Mapeamento da tabela DynamoDB para a tabela Oracle NoSQL
Em DynamoDB, uma tabela é um conjunto de itens, e cada item é um conjunto de atributos. Cada item da tabela tem um identificador exclusivo ou uma chave primária. Além da chave primária, a tabela não tem esquema. Cada item pode ter seus próprios atributos distintos.
- Chave de partição - Uma chave primária simples, composta de um atributo conhecido como chave de partição. DynamoDB usa o valor da chave de partição como entrada para uma função hash interna. A saída da função hash determina a partição na qual o item será armazenado.
- Chave de partição e chave de classificação - Como uma chave primária composta, esse tipo de chave é composto de dois atributos. O primeiro atributo é a chave de partição e o segundo é a chave de classificação. DynamoDB usa o valor da chave de partição como entrada para uma função hash interna. A saída da função hash determina a partição na qual o item será armazenado. Todos os itens com o mesmo valor de chave de partição são armazenados juntos, em ordem classificada por valor de chave de classificação.
Por outro lado, as tabelas Oracle NoSQL suportam modelos de dados flexíveis com design sem esquema e esquema.
- Modelando a tabela DynamoDB como um documento JSON (Recomendado): Nesta modelagem, você mapeia todos os atributos das tabelas do Dynamo DB para uma coluna JSON da tabela NoSQL, exceto a chave de partição e a chave de classificação. Você modelará a chave de partição e a chave de classificação como as colunas de Chave Primária da tabela NoSQL. Você usará a transformação
AggregateFields
para agregar dados de chave não primária em uma coluna JSON.Observação:
O Migrator fornece uma configuração amigáveldefaultSchema
para criar automaticamente uma tabela DDL sem esquema que também agrega atributos em uma coluna JSON. - Modelando a tabela DynamoDB como colunas fixas na tabela NoSQL: Nesta modelagem, para cada atributo da tabela DynamoDB, você criará uma coluna na tabela NoSQL conforme especificado no Mapeamento de tipos DynamoDB para tipos Oracle NoSQL. Você modelará a chave de partição e classificará os atributos da chave como Chave(s) primária(s). Isso deve ser usado somente quando você tiver certeza de que a importação do esquema da tabela DynamoDB é fixa e cada item tem valores para a maioria dos atributos. Se os itens DynamoDB não tiverem atributos comuns, isso poderá resultar em muitas colunas NoSQL com valores vazios.
Observação:
É altamente recomendável usar tabelas sem esquema ao migrar dados de DynamoDB para o Oracle NoSQL Database devido à natureza das tabelas DynamoDB sem esquema. Isso é especialmente para tabelas grandes nas quais o conteúdo de cada registro pode não ser uniforme na tabela.
Diagnóstico e Solução de Problemas do Oracle NoSQL Database Migrator
Saiba mais sobre os desafios gerais que você pode enfrentar ao usar o , e como resolvê-los.
Falha na migração. Como posso resolver isto?
Uma falha na migração de dados pode ser causada por vários motivos subjacentes. As causas importantes estão listadas abaixo:
Tabela - Causas da Falha de Migração
Mensagem de Erro | Definição | Resolução |
---|---|---|
Failed to connect to Oracle NoSQL Database |
O migrador não pôde estabelecer uma conexão com o NoSQL Database. |
|
Failed to connect to Oracle NoSQL Database Cloud Service |
O migrador não pôde estabelecer uma conexão com o Oracle NoSQL Database Cloud Service. |
|
Table not found |
A tabela identificada para a migração não pôde ser localizada pelo NoSQL Database Migrator. |
Para a origem:
Para o pia:
|
DDL Execution failed |
Os comandos DDL fornecidos no arquivo de definição do esquema de entrada são inválidos. |
|
failed to write record to the sink table with java.lang.IllegalArgumentException |
O registro de entrada não corresponde ao esquema de tabela do coletor. |
|
Request timeout |
A operação da fonte ou pia não foi concluída no tempo esperado. |
|
O que devo considerar antes de reiniciar uma migração com falha?
Quando uma tarefa de migração de dados falhar, o coletor estará em um estado intermediário contendo os dados importados até o ponto de falha. Você pode identificar os detalhes do erro e da falha nos logs e reiniciar a migração após diagnosticar e corrigir o erro. Uma migração reiniciada é iniciada novamente, processando todos os dados desde o início. Não há como fazer checkpoint e reiniciar a migração a partir do ponto de falha. Portanto, o NoSQL Database Migrator substitui qualquer registro que já tenha sido migrado para o coletor.
A migração é muito lenta. Como posso acelerá-lo?
O tempo necessário para a migração de dados depende de vários fatores, como volume de dados que estão sendo migrados, velocidade da rede e carga atual no banco de dados. No caso de um serviço de nuvem, a velocidade da migração também depende do throughput de leitura e do throughput de gravação provisionados. Assim, para melhorar a velocidade de migração, você pode:- Tente reduzir a carga de trabalho atual no Oracle NoSQL Database ao migrar os dados.
- Certifique-se de que a máquina que está executando a migração, a origem e o sumidouro estejam localizados no mesmo data center e as latências de rede sejam mínimas.
- No caso do Oracle NoSQL Database Cloud Service, provisione um alto throughput de leitura/gravação e verifique se o armazenamento alocado para a tabela é suficiente ou não. Se o NoSQL Database Migrator não estiver criando a tabela, você poderá aumentar o throughput de gravação. Se o migrador estiver criando a tabela, considere especificar um valor mais alto para o parâmetro
schemaInfo.writeUnits
na configuração do coletor. Depois que a migração de dados for concluída, você poderá reduzir esse valor. Esteja ciente dos limites diários nas alterações de throughput. Consulte Limites de Nuvem e Modelos de Configuração de Dissipação.
Tenho uma migração de longa duração envolvendo grandes conjuntos de dados. Como posso acompanhar o progresso da migração?
Você pode ativar o registro em log adicional para rastrear o andamento de uma migração de longa execução. Para controlar o comportamento de log do Oracle NoSQL Database Migrator, defina o nível desejado de log no arquivo logging.properties
. Esse arquivo é fornecido com o pacote NoSQL Database Migrator e está disponível no diretório em que o Oracle NoSQL Database Migrator foi descompactado. Os diferentes níveis de registro em log são OFF, SEVERE, WARNING, INFO, FINE,
e ALL
na ordem de aumentar o nível de detalhamento. A definição do nível de log como OFF
desativa todas as informações de log, enquanto a definição do nível de log como ALL
fornece as informações completas do log. O nível de log padrão é WARNING
. Toda a saída de log é configurada para ir para a console por padrão. Você pode ver comentários no arquivo logging.properties
para saber sobre cada nível de log.
Referência do Oracle NoSQL Database Migrator