Referencia del Oracle NoSQL Database Migrator
Obtenga información sobre los parámetros de plantilla de configuración de origen, receptor y transformación disponibles para Oracle NoSQL Database Migrator.
En este artículo se incluyen los siguientes temas:
Temas relacionados
Parámetros
Parámetros de configuración comunes
A continuación se muestran los parámetros de configuración comunes. Consulte las secciones de plantillas de configuración individuales para obtener ejemplos.
bucket
-
Objetivo: especifica el nombre del cubo de OCI Object Storage, que contiene los objetos de origen/disipador.
Asegúrese de que el cubo necesario ya existe en la instancia de OCI Object Storage y tiene permisos de lectura/escritura.
- Data Type: string
- Obligatorio (Y/N): Y
chunkSize
-
Objetivo: especifica el tamaño máximo de un
chunk
de datos de tabla que se almacenará en el receptor. El valor está en MB. Durante la migración, una tabla se divide en fragmentos chunkSize y cada fragmento se escribe como un archivo independiente en el receptor. Se crea un nuevo archivo cuando los datos de origen que se están migrando superan el valor chunkSize.Si no se especifica, el valor por defecto es 32 MB. El valor válido es un entero entre 1 y 1024.
- Tipo de datos: entero
- Obligatorio (Y/N): N
credentials
-
Objetivo: especifica la ruta absoluta a un archivo que contiene credenciales de OCI. NoSQL Database Migrator utiliza este archivo para conectarse al servicio OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage, etc.
El valor por defecto es
$HOME/.oci/config
Consulte Example Configuration para ver un ejemplo del archivo de credenciales.
Note:
Los parámetros de autenticación credentials, useInstancePrincipal y useDelegationToken se excluyen mutuamente. Especifique solo uno de estos parámetros en la plantilla de configuración. - Data Type: string
- Obligatorio (Y/N): N
credentialsProfile
-
Objetivo: especifica el nombre del perfil de configuración que se va a utilizar para conectarse al servicio OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage, etc. Las credenciales de la cuenta de usuario se conocen como perfil.
Si no especifica este valor, NoSQL Database Migrator utiliza el perfil
DEFAULT
.Note:
Este parámetro sólo es válido si se especifica el parámetro credentials. - Data Type: string
- Obligatorio (Y/N): N
punto final
- Objetivo: especifica una de las siguientes:
- URL de punto final de servicio o ID de región del servicio OCI Object Storage.
Para obtener una lista de los puntos finales del servicio OCI Object Storage, consulte Puntos finales de Object Storage.
- URL de punto final de servicio o ID de región de Oracle NoSQL Database Cloud Service.
Puede especificar la URL completa o el ID de región solo. Para obtener la lista de regiones de datos soportadas para Oracle NoSQL Database Cloud Service, consulte Regiones de datos y URL de servicio asociadas en el documento Oracle NoSQL Database Cloud Service.
- URL de punto final de servicio o ID de región del servicio OCI Object Storage.
- Data Type: string
- Obligatorio (Y/N): Y
format
- Propósito: especifica el formato de origen/disipador.
- Data Type: string
- Obligatorio (Y/N): Y
namespace
-
Objetivo: especifica el espacio de nombres del servicio OCI Object Storage. Éste es un parámetro opcional. Si no especifica este parámetro, se utiliza el espacio de nombres por defecto del arrendamiento.
- Data Type: string
- Obligatorio (Y/N): N
prefijo
-
Objetivo: el prefijo actúa como contenedor lógico o directorio para almacenar datos en el cubo de OCI Object Storage.
- Plantilla de configuración de origen: si se especifica el parámetro
prefix
, se migran todos los objetos del directorio denominado en el parámetroprefix
. De lo contrario, se migran todos los objetos presentes en el cubo. - Plantilla de configuración de fregadero: si se especifica el parámetro
prefix
, se crea un directorio con el prefijo especificado en el cubo y los objetos se migran a este directorio. De lo contrario, el nombre de la tabla del origen se utiliza como prefijo. Si ya existe algún objeto con el mismo nombre en el cubo, se sobrescribe.
Para obtener más información sobre los prefijos, consulte Nomenclatura de objetos mediante prefijo y jerarquía.
- Plantilla de configuración de origen: si se especifica el parámetro
- Data Type: string
- Obligatorio (Y/N): N
requestTimeoutMs
-
Objetivo: especifica el tiempo que se debe esperar a que finalice cada operación de lectura/escritura desde/hacia el almacén. Se proporciona en milisegundos. El valor por defecto es 5.000. El valor puede ser cualquier entero positivo.
- Tipo de datos: entero
- Obligatorio (Y/N): N
security
-
Objetivo: especifica la ruta absoluta al archivo de conexión de seguridad que contiene las credenciales del almacén si éste es un almacén seguro. Para obtener más información sobre el archivo de inicio de sesión de seguridad, consulte Configuring Security with Remote Access in the Administrator's Guide.
Puede utilizar la autenticación basada en archivo de contraseñas o la autenticación basada en cartera. Sin embargo, la autenticación basada en cartera solo está soportada en Enterprise Edition (EE) de Oracle NoSQL Database. Para obtener más información sobre la autenticación basada en cartera, consulte Source and Sink Security.
La edición Community Edition (CE) solo admite autenticación basada en archivo de contraseñas.
- Data Type: cadena
- Obligatorio (Y/N): Y, para una tienda segura
type
- Finalidad: identifica el tipo de origen/disipador.
- Data Type: string
- Obligatorio (Y/N): Y
useDelegationToken
-
Objetivo: especifica si la herramienta NoSQL Database Migrator utiliza una autenticación de token de delegación para conectarse a los servicios de OCI. Debe utilizar la autenticación de token de delegación para ejecutar la utilidad Migrator desde Cloud Shell. El token de delegación se crea automáticamente para el usuario cuando se llama a Cloud Shell.
El valor por defecto es
false
. - Data Type: boolean
- Obligatorio (Y/N): N
Note:
- La autenticación con token de delegación solo está soportada cuando la herramienta NoSQL Database Migrator se ejecuta desde Cloud Shell.
- Los parámetros de autenticación credentials, useInstancePrincipal y useDelegationToken se excluyen mutuamente. Especifique solo uno de estos parámetros en la plantilla de configuración.
- Cloud Shell solo soporta la migración entre los siguientes orígenes y receptores:
Tipo Origen válido Fregadero válido Oracle NoSQL Database Cloud Service
(
nosqldb_cloud
)S S Archivo (archivo JSON en el directorio raíz) S S OCI Object Storage (archivo JSON)
(
object_storage_oci
)S S OCI Object Storage (archivo de conjunto)
(
object_storage_oci
)N S
useInstancePrincipal
-
Objetivo: especifica si la herramienta NoSQL Database Migrator utiliza la autenticación de principal de instancia para conectarse al servicio OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage, etc. Para obtener más información sobre el método de autenticación de principal de instancia, consulte Source and Sink Security.
El valor por defecto es
false
.Note:
- La autenticación con principales de instancia solo está soportada cuando la herramienta NoSQL Database Migrator se ejecuta en una instancia informática de OCI, por ejemplo, la herramienta NoSQL Database Migrator que se ejecuta en una máquina virtual alojada en OCI.
- Los parámetros de autenticación credentials, useInstancePrincipal y useDelegationToken se excluyen mutuamente. Especifique solo uno de estos parámetros en la plantilla de configuración.
- Data Type: boolean
- Obligatorio (Y/N): N
Plantillas de configuración de origen
Obtenga información sobre los formatos de archivo de configuración de origen para cada origen válido y la finalidad de cada parámetro de configuración.
Para la plantilla de archivo de configuración, consulte Archivo de configuración en Terminología utilizada con el migrador de datos NoSQL.
Para obtener detalles sobre los formatos de receptor válidos para cada uno de los orígenes, consulte Sink Configuration Templates.
Temas
En los siguientes temas se describen las plantillas de configuración de origen a las que hace referencia Oracle NoSQL Database Migrator para copiar los datos del origen proporcionado en un receptor válido.
- Origen de archivo JSON
Archivo o directorio especificado que contiene los datos de JSON.
- Archivo JSON en el cubo de OCI Object Storage
Archivo JSON especificado en el cubo de OCI Object Storage.
- MongoDB: archivo JSON con formato
Archivo o directorio especificado que contiene los datos JSON con formato MongoDB.
- MongoDB: archivo JSON con formato en el cubo de OCI Object Storage
Archivo JSON exportado MongoDB especificado almacenado en el cubo de OCI Object Storage.
- DynamoDB: archivo JSON con formato almacenado en AWS S3
Archivo JSON exportado DynamoDB especificado almacenado en el almacenamiento S3 de AWS.
- DynamoDB: archivo JSON con formato
Se ha especificado el archivo JSON exportado DynamoDB de un sistema de archivos.
- Oracle NoSQL Database
Tabla especificada en Oracle NoSQL Database.
- Oracle NoSQL Database Cloud Service
Tabla especificada en Oracle NoSQL Database Cloud Service.
- Origen de archivo CSV
Archivo o directorio especificado que contiene los datos CSV.
- Archivo CSV en el cubo de OCI Object Storage
Archivo CSV especificado en el cubo de OCI Object Storage.
Origen de archivo JSON
El formato de archivo de configuración para el archivo JSON como origen de NoSQL Database Migrator se muestra a continuación.
Puede migrar un archivo de origen JSON especificando la ruta de acceso del archivo o un directorio en la plantilla de configuración de origen.
{"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"}}
Plantilla de configuración de origen
"source": {
"type": "file",
"format": "json",
"dataPath": "<path/to/JSON/[file|dir]>",
"schemaInfo": {
"schemaPath": "<path/to/schema/file>"
}
},
Parámetros de Origen
Parámetros de configuración comunes
Parámetros de Configuración Únicos
dataPath
-
Objetivo: especifica la ruta absoluta a un archivo o directorio que contiene los datos de JSON para la migración.
Debe asegurarse de que estos datos coinciden con el esquema de tabla NoSQL definido en el receptor. Si especifica un directorio, NoSQL Database Migrator identifica todos los archivos con la extensión
.json
en ese directorio para la migración. No se admiten los subdirectorios. - Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo:
-
Especificación de un archivo JSON
"dataPath" : "/home/user/sample.json"
-
Especificación de un directorio
"dataPath" : "/home/user"
-
schemaInfo
-
Objetivo: especifica el esquema de los datos de origen que se van a migrar. Este esquema se transfiere al receptor NoSQL.
- Data Type: Object
- Obligatorio (Y/N): N
schemaInfo.schemaPath
-
Objetivo: especifica la ruta absoluta al archivo de definición de esquema que contiene sentencias DDL para la tabla NoSQL que se está migrando.
- Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo:
"schemaInfo": { "schemaPath": "<path to the schema file>" }
Archivo JSON en el cubo de OCI Object Storage
El formato de archivo de configuración para el archivo JSON en el cubo de OCI Object Storage como origen de NoSQL Database Migrator se muestra a continuación.
Puede migrar un archivo JSON en el cubo de OCI Object Storage especificando el nombre del cubo en la plantilla de configuración de origen.
{"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"}}
Note:
Los tipos de receptor válidos para el tipo de origen de OCI Object Storage sonnosqldb
y nosqldb_cloud
.
Plantilla de configuración de origen
"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 de Origen
Parámetros de configuración comunes
- tipo
Utilice
"type" : "object_storage_oci"
- formato
Utilice
"format" : "json"
- punto finalPor ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- Espacio de Nombres
Ejemplo:
"namespace" : "my-namespace"
- bucket
Ejemplo:
"bucket" : "my-bucket"
- prefijoPor ejemplo:
"prefix" : "my_table/Data/000000.json"
(solo migra000000.json
)"prefix" : "my_table/Data"
(migra todos los objetos con el prefijomy_table/Data
)
- credencialesPor ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfilePor ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Ejemplo:
"useInstancePrincipal" : true
- useDelegationToken
Ejemplo:
"useDelegationToken" : true
Note:
La autenticación con token de delegación solo está soportada cuando el NoSQL Database Migrator se ejecuta desde Cloud Shell.
Parámetros de Configuración Únicos
schemaInfo
-
Objetivo: especifica el esquema de los datos de origen que se van a migrar. Este esquema se transfiere al receptor NoSQL.
- Data Type: Object
- Obligatorio (Y/N): N
schemaInfo.schemaObject
-
Objetivo: especifica el nombre del objeto en el cubo donde se almacenan las definiciones de esquema de tabla NoSQL para los datos que se van a migrar.
- Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo:
"schemaInfo": { "schemaObject": "mytable/Schema/schema.ddl" },
MongoDB: archivo JSON con formato
A continuación, se muestra el formato de archivo de configuración para el archivo JSON con formato MongoDB como origen del NoSQL Database Migrator.
Puede migrar datos JSON exportados de MongoDB especificando el archivo o directorio en la plantilla de configuración de origen.
MongoDB soporta dos tipos de extensiones en formato JSON de archivos: modo canónico y modo relajado. Puede proporcionar el archivo JSON con formato MongoDB generado mediante la herramienta mongoexport en modo canónico o relajado. Ambos modos están soportados por el NoSQL Database Migrator para la migración.
Para obtener más información sobre el archivo MongoDB Extended JSON (v2), consulte mongoexport_formats.
Para obtener más información sobre la generación del archivo JSON con formato MongoDB, consulte mongoexport para obtener más información.
{"_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"}]}
Plantilla de configuración de origen
"source": {
"type": "file",
"format": "mongodb_json",
"dataPath": "</path/to/json/[file|dir]>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
Parámetros de Origen
Parámetros de configuración comunes
Parámetros de Configuración Únicos
dataPath
-
Objetivo: especifica la ruta absoluta a un archivo o directorio que contiene los datos JSON exportados de MongoDB para la migración.
Puede proporcionar el archivo JSON con formato MongoDB que se genera mediante la herramienta mongoexport.
Si especifica un directorio, NoSQL Database Migrator identifica todos los archivos con la extensión
.json
en ese directorio para la migración. No se admiten los subdirectorios. Debe asegurarse de que estos datos coinciden con el esquema de tabla NoSQL definido en el receptor. - Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo:
-
Especificación de un archivo JSON con formato MongoDB
"dataPath" : "/home/user/sample.json"
-
Especificación de un directorio
"dataPath" : "/home/user"
-
schemaInfo
-
Objetivo: especifica el esquema de los datos de origen que se van a migrar. Este esquema se transfiere al receptor NoSQL.
- Data Type: Object
- Obligatorio (Y/N): N
schemaInfo.schemaPath
-
Objetivo: especifica la ruta absoluta al archivo de definición de esquema que contiene sentencias DDL para la tabla NoSQL que se está migrando.
- Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo:
"schemaInfo" : { "schemaPath" : "/home/user/mytable/Schema/schema.ddl" }
MongoDB: archivo JSON con formato en el cubo de OCI Object Storage
A continuación se muestra el formato de archivo de configuración para el archivo JSON con formato MongoDB en el cubo de OCI Object Storage como origen de NoSQL Database Migrator.
Puede migrar los datos JSON exportados de MongoDB en el cubo de OCI Object Storage especificando el nombre del cubo en la plantilla de configuración de origen.
Extraiga los datos de MongoDB mediante la utilidad mongoexport y cárguelos en el cubo de OCI Object Storage. Consulte mongoexport para obtener más información. MongoDB soporta dos tipos de extensiones en formato JSON de archivos: modo canónico y modo relajado. Ambos formatos están soportados en el cubo de 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"}]}
Note:
Los tipos de receptor válidos para el tipo de origen de OCI Object Storage sonnosqldb
y nosqldb_cloud
.
Plantilla de configuración de origen
"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 de Origen
Parámetros de configuración comunes
- tipo
Utilice
"type" : "object_storage_oci"
- formato
Utilice
"format" : "mongodb_json"
- punto finalPor ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- Espacio de Nombres
Ejemplo:
"namespace" : "my-namespace"
- bucket
Ejemplo:
"bucket" : "my-bucket"
- prefijoPor ejemplo:
"prefix" : "mongo_export/Data/table.json"
(solo migratable.json
)"prefix" : "mongo_export/Data"
(migra todos los objetos con el prefijomongo_export/Data
)
Note:
Si no proporciona ningún valor, se migran todos los objetos presentes en el cubo. - credencialesPor ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfilePor ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Ejemplo:
"useInstancePrincipal" : true
Parámetros de Configuración Únicos
schemaInfo
-
Objetivo: especifica el esquema de los datos de origen que se van a migrar. Este esquema se transfiere al receptor NoSQL.
- Data Type: Object
- Obligatorio (Y/N): N
schemaInfo.schemaObject
-
Objetivo: especifica el nombre del objeto en el cubo donde se almacenan las definiciones de esquema de tabla NoSQL para los datos que se van a migrar.
- Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo:
"schemaInfo": { "schemaObject": "mytable/Schema/schema.ddl" }
DynamoDB: archivo JSON con formato almacenado en AWS S3
A continuación, se muestra el formato de archivo de configuración para el archivo JSON con formato DynamoDB en AWS S3 como origen de NoSQL Database Migrator.
Puede migrar un archivo que contenga los datos JSON exportados de DynamoDB desde el almacenamiento S3 de AWS especificando la ruta en la plantilla de configuración de origen.
{"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"}}}
Debe exportar la tabla DynamoDB al almacenamiento S3 de AWS, como se especifica en Exportación de datos de tabla DynamoDB a Amazon S3.
Los tipos de receptor válidos para JSON con formato DynamoDB almacenados en AWS S3 son nosqldb
y 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 de Origen
Parámetros de configuración comunes
- tipo
Utilice
"type" : "aws_s3"
- formato
Utilice
"format" : "dynamodb_json"
Note:
Si el valor del parámetro type esaws_s3
, el formato debe serdynamodb_json
.
Parámetros de Configuración Únicos
s3URL
- Objetivo: especifica la URL de una tabla DynamoDB exportada almacenada en AWS S3. Puede obtener esta URL desde la consola S3 de AWS. El formato de URL válido es
https://<bucket-name>.<s3_endpoint>/<prefix>
. El NoSQL Database Migrator buscará archivosjson.gz
en el prefijo durante la importación.Note:
Debe exportar la tabla DynamoDB como se especifica en Exportación de datos de la tabla DynamoDB a Amazon S3. - Data Type: string
- Obligatorio (Y/N): Y
- Ejemplo:
https://my-bucket.s3.ap-south-1.amazonaws.com/AWSDynamoDB/01649660790057-14f642be
credentials
- Objetivo: especifica la ruta absoluta a un archivo que contiene las credenciales de AWS. Si no se especifica, el valor por defecto es
$HOME/.aws/credentials
. Para obtener más información sobre el archivo de credenciales, consulte Configuración y configuración del archivo de credenciales. - Data Type: string
- Obligatorio (Y/N): N
- Por ejemplo:
"credentials" : "/home/user/.aws/credentials" "credentials" : "/home/user/security/credentials
Note:
El NoSQL Database Migrator no registra ninguna información de credenciales. Debe proteger correctamente el archivo de credenciales del acceso no autorizado.
credentialsProfile
- Objetivo: nombre del perfil en el archivo de credenciales de AWS que se utilizará para conectarse a AWS S3. Las credenciales de la cuenta de usuario se conocen como perfil. Si no especifica este valor, NoSQL Database Migrator utiliza el perfil
default
. Para obtener más información sobre el archivo de credenciales, consulte Configuración y configuración del archivo de credenciales. - Data Type: string
- Obligatorio (Y/N): N
- Por ejemplo:
"credentialsProfile" : "default" "credentialsProfile" : "test"
DynamoDB: archivo JSON con formato
A continuación, se muestra el formato de archivo de configuración para el archivo JSON con formato DynamoDB como origen del NoSQL Database Migrator.
Puede migrar un archivo o directorio que contenga los datos JSON exportados de DynamoDB desde un sistema de archivos especificando la ruta en la plantilla de configuración de origen.
{"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"}}}
Debe copiar los datos de la tabla DynamoDB exportada del almacenamiento S3 de AWS en un sistema de archivos montado local.
Los tipos de receptor válidos para el archivo JSON DynamoDB son nosqldb
y nosqldb_cloud
.
"source" : {
"type" : "file",
"format" : "dynamodb_json",
"dataPath" : "<path/to/[file|dir]/containing/exported/DDB/tabledata>"
}
Parámetros de Origen
Parámetros de configuración comunes
Parámetro de configuración único
dataPath
- Objetivo: especifica la ruta absoluta a un archivo o directorio que contiene los datos exportados de la tabla DynamoDB. Debe copiar los datos de la tabla DynamoDB exportada de AWS S3 en un sistema de archivos montado local. Debe asegurarse de que estos datos coinciden con el esquema de tabla NoSQL definido en el receptor. Si especifica un directorio, NoSQL Database Migrator identifica todos los archivos con la extensión
.json.gz
en ese directorio y el subdirectoriodata
. - Data Type: string
- Obligatorio (Y/N): Y
- Por ejemplo:
-
Especificando un archivo
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3/data/zclclwucjy6v5mkefvckxzhfvq.json.gz"
- Especificación de un directorio
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3"
-
Oracle NoSQL Database
El formato de archivo de configuración para Oracle NoSQL Database como origen de NoSQL Database Migrator se muestra a continuación.
Puede migrar una tabla desde Oracle NoSQL Database especificando el nombre de la tabla en la plantilla de configuración de origen.
{"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}
Plantilla de configuración de origen
"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 de Origen
Parámetro de configuración común
- tipo
Utilice
"type" : "nosqldb"
- seguridad
Por ejemplo:
"security" : "/home/user/client.credentials"
Ejemplo de contenido de archivo de seguridad para la autenticación basada en archivo de contraseña:
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)
Ejemplo de contenido de archivo de seguridad para la autenticación basada en cartera:
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
Ejemplo:
"requestTimeoutMs" : 5000
Parámetros de Configuración Únicos
storeName
-
Objetivo: nombre del almacén de Oracle NoSQL Database.
- Data Type: string
- Obligatorio (Y/N): Y
- Ejemplo:
"storeName" : "kvstore"
helperHosts
-
Objetivo: lista de pares de host y puerto de registro con el formato
hostname:port
. Delimite cada elemento de la lista con una coma. Debe especificar al menos un host auxiliar. - Tipo de datos: matriz de cadenas
- Obligatorio (Y/N): Y
- Ejemplo:
"helperHosts" : ["localhost:5000","localhost:6000"]
tabla
-
Objetivo: nombre de tabla totalmente cualificado desde el que migrar los datos.
Formato:
[namespace_name:]<table_name>
Si la tabla está en el espacio de nombres DEFAULT, puede omitir
namespace_name
. La tabla debe existir en la tienda. - Data Type: string
- Obligatorio (Y/N): Y
- Ejemplo:
-
Con el espacio de nombres DEFAULT
"table" :"mytable"
-
Con un espacio de nombres no por defecto
"table" : "mynamespace:mytable"
-
Para especificar una tabla secundaria
"table" : "mytable.child"
-
includeTTL
-
Objetivo: especifica si se deben incluir o no metadatos TTL para filas de tabla al exportar tablas de Oracle NoSQL Database. Si se define en true, los datos TTL de las filas también se incluyen en los datos proporcionados por el origen. TTL está presente en el objeto JSON
_metadata
asociado a cada fila. El tiempo de caducidad de cada fila se exporta como el número de milisegundos desde la época de UNIX (1 de enero de 1970).Si no se especifica este parámetro, el valor por defecto es
false
.Sólo las filas con un valor de caducidad positivo para TTL se incluyen como parte de las filas exportadas. Si una fila no caduca, lo que significa TTL=0, sus metadatos TTL no se incluyen explícitamente. Por ejemplo, si ROW1 caduca a las 2021-10-19 00:00:00 y ROW2 no caduca, los datos exportados tienen el siguiente aspecto://ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- Data Type: boolean
- Obligatorio (Y/N): N
- Por ejemplo:
"includeTTL" : true
Oracle NoSQL Database Cloud Service
A continuación, se muestra el formato de archivo de configuración para Oracle NoSQL Database Cloud Service como origen de NoSQL Database Migrator.
Puede migrar una tabla desde Oracle NoSQL Database Cloud Service especificando el nombre u OCID del compartimento en el que reside la tabla en la plantilla de configuración de origen.
{"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}
Plantilla de configuración de origen
"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 de Origen
Parámetros de configuración comunes
- tipo
Utilice
"type" : "nosqldb_cloud"
- punto finalPor ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- credencialesPor ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfilePor ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Ejemplo:
"useInstancePrincipal" : true
- useDelegationToken
Ejemplo:
"useDelegationToken" : true
Note:
La autenticación con token de delegación solo está soportada cuando el NoSQL Database Migrator se ejecuta desde Cloud Shell. - requestTimeoutMs
Ejemplo:
"requestTimeoutMs" : 5000
Parámetros de Configuración Únicos
tabla
-
Objetivo: nombre de la tabla desde la que migrar los datos.
- Data Type: string
- Obligatorio (Y/N): Y
- Ejemplo:
- Para especificar una tabla
"table" : "myTable"
- Para especificar una tabla secundaria
"table" : "mytable.child"
- Para especificar una tabla
compartimento
-
Objetivo: especifica el nombre u OCID del compartimento en el que reside la tabla.
Si no proporciona ningún valor, se define por defecto en el compartimento root.
Puede encontrar el OCID del compartimento en la ventana Explorador de compartimentos en Gobernanza de la consola de OCI Cloud.
- Data Type: string
- Obligatorio (Y/N): Y, si la tabla no está en el compartimento raíz del arrendamiento O cuando el parámetro useInstancePrincipal está definido en true.
Note:
Si el parámetro useInstancePrincipal está definido en true, el compartimento debe especificar el OCID del compartimento y no el nombre. - Ejemplo:
-
Nombre de compartimento
"compartment" : "mycompartment"
-
Nombre de compartimento calificado con su compartimento principal
"compartment" : "parent.childcompartment"
-
No se ha proporcionado ningún valor. Se define por defecto en el compartimento raíz.
"compartment": ""
-
OCID de compartimento
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
readUnitsPercent
-
Objetivo: porcentaje de unidades de lectura de tabla que se van a utilizar al migrar la tabla NoSQL.
El valor por defecto es 90. El rango válido es cualquier entero entre 1 y 100. La cantidad de tiempo necesaria para migrar datos es directamente proporcional a este atributo. Es mejor aumentar el rendimiento de lectura de la tabla para la actividad de migración. Puede reducir el rendimiento de lectura una vez finalizado el proceso de migración.
Para conocer los límites diarios de los cambios de rendimiento, consulte Límites de la nube en el documento de Oracle NoSQL Database Cloud Service.
Consulte Solución de problemas del migrador de Oracle NoSQL Database para obtener información sobre cómo utilizar este atributo para mejorar la velocidad de migración de datos.
- Tipo de datos: entero
- Obligatorio (Y/N): N
- Ejemplo:
"readUnitsPercent" : 90
includeTTL
-
Objetivo: especifica si se deben incluir o no metadatos TTL para filas de tabla al exportar tablas de Oracle NoSQL Database Cloud Service. Si se define en true, los datos TTL de las filas también se incluyen en los datos proporcionados por el origen. TTL está presente en el objeto JSON
_metadata
asociado a cada fila. El tiempo de caducidad de cada fila se exporta como el número de milisegundos desde la época de UNIX (1 de enero de 1970).Si no se especifica este parámetro, el valor por defecto es
false
.Sólo las filas con un valor de caducidad positivo para TTL se incluyen como parte de las filas exportadas. Si una fila no caduca, lo que significa TTL=0, sus metadatos TTL no se incluyen explícitamente. Por ejemplo, si ROW1 caduca a las 2021-10-19 00:00:00 y ROW2 no caduca, los datos exportados tienen el siguiente aspecto://ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- Data Type: boolean
- Obligatorio (Y/N): N
- Por ejemplo:
"includeTTL" : true
Origen de archivo CSV
El formato de archivo de configuración para el archivo CSV como origen de NoSQL Database Migrator se muestra a continuación. El archivo CSV debe tener el formato RFC4180
.
Puede migrar un archivo CSV o un directorio que contenga los datos CSV especificando el nombre de archivo o directorio en la plantilla de configuración de origen.
1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"
Plantilla de configuración de origen
"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 de Origen
Parámetros de configuración comunes
Parámetros de Configuración Únicos
ruta de datos
-
Objetivo: especifica la ruta absoluta a un archivo o directorio que contiene los datos CSV para la migración. Si especifica un directorio, NoSQL Database Migrator importa todos los archivos con la extensión
.csv
o.CSV
en ese directorio. Todos los archivos CSV se copian en una sola tabla, pero no en ningún orden concreto.Los archivos CSV deben cumplir con el estándar
RFC4180
. Debe asegurarse de que los datos de cada archivo CSV coincidan con el esquema de tabla NoSQL Database definido en la tabla de receptor. No se admiten los subdirectorios. - Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo:
-
Especificación de un archivo CSV
"dataPath" : "/home/user/sample.csv"
-
Especificación de un directorio
"dataPath" : "/home/user"
-
Note:
Los archivos CSV solo deben contener valores escalares. La importación de archivos CSV que contienen tipos complejos como MAP, RECORD, ARRAY y JSON no está soportada. La herramienta NoSQL Database Migrator no comprueba si los datos son correctos en el archivo CSV de entrada. La herramienta NoSQL Database Migrator soporta la importación de datos CSV que cumplen el formato RFC4180
. Es posible que los archivos CSV que contienen datos que no cumplen con el estándar RFC4180
no se copien correctamente o que generen un error. Si los datos de entrada están dañados, la herramienta NoSQL Database Migrator no analizará los registros CSV. Si se encuentra algún error durante la migración, la herramienta NoSQL Database Migrator registra la información sobre los registros de entrada fallidos con fines informativos y de depuración. Para obtener más información, consulte Logging Migrator Progress en Using Oracle NoSQL Data Migrator.
hasHeader
-
Objetivo: especifica si el archivo CSV tiene una cabecera o no. Si se define en
true
, se ignora la primera línea. Si se establece enfalse
, la primera línea se considera un registro CSV. El valor por defecto esfalse
. - Data Type: boolean
- Obligatorio (Y/N): N
-
Ejemplo:
"hasHeader" : "false"
columnas
-
Objetivo: especifica la lista de nombres de columna de la tabla NoSQL Database. El orden de los nombres de columna indica la asignación de los campos de archivo CSV con las columnas de la tabla NoSQL Database correspondientes. Si el orden de las columnas del archivo CSV de entrada no coincide con las columnas de la tabla NoSQL Database existentes o recién creadas, puede asignar el orden mediante este parámetro. Además, al importar a una tabla que tenga una columna de identidad, puede omitir el nombre de columna de identidad en el parámetro
columns
.Note:
- Si la tabla NoSQL Database tiene columnas adicionales que no están disponibles en el archivo CSV, los valores de las columnas que faltan se actualizan con el valor por defecto definido en la tabla NoSQL Database. Si no se proporciona un valor por defecto, se inserta un valor nulo durante la migración. Para obtener más información sobre los valores por defecto, consulte la sección Definiciones de tipo de datos en la Guía de referencia SQL.
- Si el archivo CSV tiene columnas adicionales que no están definidas en la tabla NoSQL Database, se ignora la información de columna adicional.
- Si algún valor del registro CSV está vacío, se define en el valor por defecto de las columnas correspondientes en la tabla NoSQL Database. Si no se proporciona un valor por defecto, se inserta un valor nulo durante la migración.
- Data Type: Array of Strings
- Obligatorio (Y/N): N
-
Ejemplo:
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
Objetivo: especifica las opciones de formato para un archivo CSV. Proporcione el formato de codificación del juego de caracteres del archivo CSV y elija si desea o no recortar los espacios en blanco.
- Data Type: Object
- Obligatorio (Y/N): N
csvOptions.encoding
-
Objetivo: especifica el juego de caracteres para descodificar el archivo CSV. El valor por defecto es
UTF-8
. Los juegos de caracteres soportados sonUS-ASCII, ISO-8859-1, UTF-8,
yUTF-16
. - Data Type: String
- Obligatorio (Y/N): N
-
Ejemplo:
"encoding" : "UTF-8"
csvOptions.trim
-
Propósito: especifica si se deben recortar los espacios en blanco iniciales y finales de un valor de campo CSV. El valor por defecto es
false
. - Data Type: boolean
- Obligatorio (Y/N): N
-
Ejemplo:
"trim" : "true"
Archivo CSV en el cubo de OCI Object Storage
A continuación se muestra el formato del archivo de configuración para el archivo CSV en el cubo de OCI Object Storage como origen de NoSQL Database Migrator. El archivo CSV debe tener el formato RFC4180
.
Puede migrar un archivo CSV en el cubo de OCI Object Storage especificando el nombre del cubo en la plantilla de configuración de origen.
1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"
Note:
Los tipos de receptor válidos para el tipo de origen de OCI Object Storage sonnosqldb
y nosqldb_cloud
.
Plantilla de configuración de origen
"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 de Origen
Parámetros de configuración comunes
- tipo
Utilice
"type" : "object_storage_oci"
- formato
Utilice
"format" : "csv"
- punto finalPor ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- Espacio de Nombres
Ejemplo:
"namespace" : "my-namespace"
- bucket
Ejemplo:
"bucket" : "my-bucket"
Note:
- El NoSQL Database Migrator importa todos los archivos con la extensión .
csv
o.CSV
a nivel de objeto y los copia en una sola tabla en el mismo orden. -
Los archivos CSV solo deben contener valores escalares. La importación de archivos CSV que contienen tipos complejos como MAP, RECORD, ARRAY y JSON no está soportada. La herramienta NoSQL Database Migrator no comprueba si los datos son correctos en el archivo CSV de entrada. La herramienta NoSQL Database Migrator soporta la importación de datos CSV que cumplen el formato
RFC4180
. Es posible que los archivos CSV que contienen datos que no cumplen con el estándarRFC4180
no se copien correctamente o que generen un error. Si los datos de entrada están dañados, la herramienta NoSQL Database Migrator no analizará los registros CSV. Si se encuentra algún error durante la migración, la herramienta NoSQL Database Migrator registra la información sobre los registros de entrada fallidos con fines informativos y de depuración. Para obtener más información, consulte Logging Migrator Progress en Using Oracle NoSQL Data Migrator.
- El NoSQL Database Migrator importa todos los archivos con la extensión .
- prefijoPor ejemplo:
"prefix" : "my_table/Data/000000.csv"
(solo migra000000.csv
)"prefix" : "my_table/Data"
(migra todos los objetos con el prefijomy_table/Data
)
- credencialesPor ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfilePor ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Ejemplo:
"useInstancePrincipal" : true
Parámetros de Configuración Únicos
hasHeader
-
Objetivo: especifica si el archivo CSV tiene una cabecera o no. Si se define en
true
, se ignora la primera línea. Si se establece enfalse
, la primera línea se considera un registro CSV. El valor por defecto esfalse
. - Data Type: boolean
- Obligatorio (Y/N): N
-
Ejemplo:
"hasHeader" : "false"
columnas
-
Objetivo: especifica la lista de nombres de columna de la tabla NoSQL Database. El orden de los nombres de columna indica la asignación de los campos de archivo CSV con las columnas de la tabla NoSQL Database correspondientes. Si el orden de las columnas del archivo CSV de entrada no coincide con las columnas de la tabla NoSQL Database existentes o recién creadas, puede asignar el orden mediante este parámetro. Además, al importar a una tabla que tenga una columna de identidad, puede omitir el nombre de columna de identidad en el parámetro
columns
.Note:
- Si la tabla NoSQL Database tiene columnas adicionales que no están disponibles en el archivo CSV, los valores de las columnas que faltan se actualizan con el valor por defecto definido en la tabla NoSQL Database. Si no se proporciona un valor por defecto, se inserta un valor nulo durante la migración. Para obtener más información sobre los valores por defecto, consulte la sección Definiciones de tipo de datos en la Guía de referencia SQL.
- Si el archivo CSV tiene columnas adicionales que no están definidas en la tabla NoSQL Database, se ignora la información de columna adicional.
- Si algún valor del registro CSV está vacío, se define en el valor por defecto de las columnas correspondientes en la tabla NoSQL Database. Si no se proporciona un valor por defecto, se inserta un valor nulo durante la migración.
- Data Type: Array of Strings
- Obligatorio (Y/N): N
-
Ejemplo:
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
Objetivo: especifica las opciones de formato para un archivo CSV. Proporcione el formato de codificación del juego de caracteres del archivo CSV y elija si desea o no recortar los espacios en blanco.
- Data Type: Object
- Obligatorio (Y/N): N
csvOptions.encoding
-
Objetivo: especifica el juego de caracteres para descodificar el archivo CSV. El valor por defecto es
UTF-8
. Los juegos de caracteres soportados sonUS-ASCII, ISO-8859-1, UTF-8,
yUTF-16
. - Data Type: String
- Obligatorio (Y/N): N
-
Ejemplo:
"encoding" : "UTF-8"
csvOptions.trim
-
Propósito: especifica si se deben recortar los espacios en blanco iniciales y finales de un valor de campo CSV. El valor por defecto es
false
. - Data Type: boolean
- Obligatorio (Y/N): N
-
Ejemplo:
"trim" : "true"
Plantillas de configuración de receptor
Obtenga información sobre los formatos de archivo de configuración del receptor para cada receptor válido y la finalidad de cada parámetro de configuración.
Temas
En los siguientes temas se describen las plantillas de configuración de receptor a las que hace referencia Oracle NoSQL Database Migrator para copiar los datos de un origen válido en el receptor especificado.
- Enlace de archivo JSON
Archivo JSON especificado.
- Archivo Parquet
Archivo Parquet en el directorio especificado.
- Archivo JSON en el cubo de OCI Object Storage
Archivo JSON en el cubo de OCI Object Storage especificado.
- Archivo Parquet en el cubo de OCI Object Storage
Archivo Parquet en el cubo de OCI Object Storage especificado.
- Oracle NoSQL Database
Tabla especificada en Oracle NoSQL Database.
- Oracle NoSQL Database Cloud Service
Tabla especificada en Oracle NoSQL Database Cloud Service.
Enlace de archivo JSON
A continuación, se muestra el formato de archivo de configuración para el archivo JSON como receptor de NoSQL Database Migrator.
Plantilla de configuración de fregadero
"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 de fregadero
Parámetros de configuración comunes
- tipo
Usar
"type" : "file"
- formato
Utilice
"format" : "json"
- chunkSize
Ejemplo:
"chunkSize" : 40
Note:
Este parámetro se aplica SOLO cuando el parámetro useMultiFiles está definido en true.
Parámetros de Configuración Únicos
dataPath
-
Objetivo: especifica la ruta absoluta a un archivo en el que se copiarán los datos de origen en formato JSON.
Si el archivo no existe en la ruta de datos especificada, NoSQL Database Migrator lo crea. Si existe, el NoSQL Database Migrator sobrescribirá su contenido con los datos de origen.
Debe asegurarse de que el directorio principal de la ruta de datos sea válido para el archivo especificado.
Note:
Si el parámetro useMultiFiles está definido en true, especifique la ruta de acceso a un directorio; de lo contrario, especifique la ruta de acceso al archivo. - Data Type: string
- Obligatorio (Y/N): Y
-
Por ejemplo:
- Con el parámetro useMultiFiles definido en true
"dataPath" :"
/home/user/data
" - Con el parámetro useMultiFiles no especificado o está definido en false
"dataPath" :"
/home/user/sample.json
"
- Con el parámetro useMultiFiles definido en true
schemaPath
-
Objetivo: especifica la ruta absoluta a un archivo para escribir la información de esquema de tabla proporcionada por el origen.
Si no se define este valor, la información del esquema de origen no se migrará al receptor. Si se especifica este valor, la utilidad de migración escribe el esquema de la tabla de origen en el archivo especificado aquí.
La información del esquema se escribe como un comando DDL por línea en este archivo. Si el archivo no existe en la ruta de datos especificada, NoSQL Database Migrator lo crea. Si ya existe, NoSQL Database Migrator sobrescribirá su contenido con los datos de origen. Debe asegurarse de que el directorio principal de la ruta de datos sea válido para el archivo especificado.
- Data Type: string
- Obligatorio (Y/N): N
-
Ejemplo:
"schemaPath" : "/home/user/schema_file"
descriptivo
-
Objetivo: especifica si embellecer o no la salida JSON para aumentar la legibilidad.
Si no se especifica, el valor por defecto es false.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Ejemplo:
"pretty" : true
useMultiFiles
-
Objetivo: especifica si se deben dividir o no los datos de la tabla NoSQL en varios archivos al migrar datos de origen a un archivo.
Si no se especifica, el valor por defecto es false.
Si se define en true, al migrar datos de origen a un archivo, los datos de la tabla NoSQL se dividen en varios archivos más pequeños. Por ejemplo,
<chunk>.json
, donde fragmento=000000, 000001, 000002, etc.dataPath |--000000.json |--000001.json
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"useMultiFiles" : true
Archivo de estacionamiento
A continuación, se muestra el formato de archivo de configuración para el archivo Parquet como receptor de NoSQL Database Migrator.
Plantilla de configuración de fregadero
"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 de fregadero
Parámetros de configuración comunes
Parámetros de Configuración Únicos
dataPath
-
Objetivo: especifica la ruta a un directorio para almacenar los datos de la tabla NoSQL migrada. Asegúrese de que el directorio ya existe y tiene permisos de lectura y escritura.
- Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo:
"dataPath" : "/home/user/migrator/my_table"
compresión
-
Objetivo: especifica el tipo de compresión que se utilizará para comprimir los datos de Parquet. Los valores válidos son SNAPPY, GZIP y NONE.
Si no se especifica, el valor predeterminado es SNAPPY.
- Data Type: string
- Obligatorio (Y/N): N
-
Ejemplo:
"compression" : "GZIP"
parquetOptions
-
Objetivo: especifica las opciones para seleccionar tipos lógicos de Parquet para las columnas ENUM, JSON y UUID de NoSQL.
Si no especifica este parámetro, NoSQL Database Migrator escribe los datos de las columnas ENUM, JSON y UUID como String.
- Tipo de dato: objeto
- Obligatorio (Y/N): N
parquetOptions.useLogicalJson
-
Objetivo: especifica si se deben escribir o no datos de columna de JSON NoSQL como tipo de JSON lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna JSON NoSQL como cadena.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
Objetivo: especifica si se deben escribir o no los datos de columna de ENUM NoSQL como tipo de ENUM lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna ENUM NoSQL como String.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
Objetivo: especifica si se deben escribir o no los datos de columna de UUID NoSQL como tipo de UUID lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna UUID NoSQL como String.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
Propósito: Especifica si se truncan o no los valores dobles +Infinity, -Infinity y NaN.
Por defecto, está definido enfalse
. Si se define comotrue
,- Positive_Infinity se trunca a Double.MAX_VALUE.
- NEGATIVE_INFINITY se trunca a -Double.MAX_VALUE.
- NaN se trunca a 9.9999999999999990E307.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"truncateDoubleSpecials" : true
Archivo JSON en el cubo de OCI Object Storage
A continuación se muestra el formato de archivo de configuración para el archivo JSON en el cubo de OCI Object Storage como receptor de NoSQL Database Migrator.
Note:
Los tipos de origen válidos para OCI Object Storage como receptor sonnosqldb
y nosqldb_cloud
.
Plantilla de configuración de fregadero
"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 de fregadero
Parámetros de configuración comunes
- tipo
Utilice
"type" : "object_storage_oci"
- formato
Utilice
"format" : "json"
- punto finalPor ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- Espacio de Nombres
Ejemplo:
"namespace" : "my-namespace"
- bucket
Ejemplo:
"bucket" : "my-bucket"
- prefijo
El esquema se migra al archivo
<prefix>/Schema/schema.ddl
y los datos de origen se migran a los archivos<prefix>/Data/<chunk>.json
, donde chunk=000000.json, 000001.json, etc.Por ejemplo:"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
- chunkSize
Ejemplo:
"chunkSize" : 40
- credencialesPor ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfilePor ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Ejemplo:
"useInstancePrincipal" : true
- useDelegationToken
Ejemplo:
"useDelegationToken" : true
Note:
La autenticación con token de delegación solo está soportada cuando el NoSQL Database Migrator se ejecuta desde Cloud Shell.
Parámetro de configuración único
descriptivo
-
Objetivo: especifica si embellecer o no la salida JSON para aumentar la legibilidad.
Si no se especifica, el valor por defecto es false.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Ejemplo:
"pretty" : true
Archivo Parquet en el cubo de OCI Object Storage
A continuación se muestra el formato de archivo de configuración para el archivo Parquet en el cubo de OCI Object Storage como receptor de NoSQL Database Migrator.
Note:
Los tipos de origen válidos para el tipo de origen de OCI Object Storage sonnosqldb
y nosqldb_cloud
.
Plantilla de configuración de fregadero
"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 de fregadero
Parámetros de configuración comunes
- tipo
Utilice
"type" : "object_storage_oci"
- formato
Utilice
"format" : "parquet"
- punto finalPor ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- Espacio de Nombres
Ejemplo:
"namespace" : "my-namespace"
- bucket
Ejemplo:
"bucket" : "my-bucket"
- prefijo
Los datos de origen se migran a los archivos
<prefix>/Data/<chunk>.parquet
, donde chunk=000000.parquet, 000001.parquet, etc.Por ejemplo:"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
- chunkSize
Ejemplo:
"chunkSize" : 40
- credencialesPor ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfilePor ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Ejemplo:
"useInstancePrincipal" : true
- useDelegationToken
Ejemplo:
"useDelegationToken" : true
Note:
La autenticación con token de delegación solo está soportada cuando el NoSQL Database Migrator se ejecuta desde Cloud Shell.
Parámetro de configuración único
compresión
-
Objetivo: especifica el tipo de compresión que se utilizará para comprimir los datos de Parquet. Los valores válidos son SNAPPY, GZIP y NONE.
Si no se especifica, el valor predeterminado es SNAPPY.
- Data Type: string
- Obligatorio (Y/N): N
-
Ejemplo:
"compression" : "GZIP"
parquetOptions
-
Objetivo: especifica las opciones para seleccionar tipos lógicos de Parquet para las columnas ENUM, JSON y UUID de NoSQL.
Si no especifica este parámetro, NoSQL Database Migrator escribe los datos de las columnas ENUM, JSON y UUID como String.
- Tipo de dato: objeto
- Obligatorio (Y/N): N
parquetOptions.useLogicalJson
-
Objetivo: especifica si se deben escribir o no datos de columna de JSON NoSQL como tipo de JSON lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna JSON NoSQL como cadena.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
Objetivo: especifica si se deben escribir o no los datos de columna de ENUM NoSQL como tipo de ENUM lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna ENUM NoSQL como String.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
Objetivo: especifica si se deben escribir o no los datos de columna de UUID NoSQL como tipo de UUID lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna UUID NoSQL como String.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
Propósito: Especifica si se truncan o no los valores dobles +Infinity, -Infinity y NaN.
Por defecto, está definido enfalse
. Si se define comotrue
,- Positive_Infinity se trunca a Double.MAX_VALUE.
- NEGATIVE_INFINITY se trunca a -Double.MAX_VALUE.
- NaN se trunca a 9.9999999999999990E307.
- Data Type: boolean
- Obligatorio (Y/N): N
-
Por ejemplo:
"truncateDoubleSpecials" : true
Oracle NoSQL Database
A continuación, se muestra el formato de archivo de configuración para Oracle NoSQL Database como receptor de NoSQL Database Migrator.
Plantilla de configuración de fregadero
"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 de fregadero
Parámetro de configuración común
- tipo
Utilice
"type" : "nosqldb"
- seguridad
Por ejemplo:
"security" : "
/home/user/client.credentials
"Ejemplo de contenido de archivo de seguridad para la autenticación basada en archivo de contraseña:
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)
Ejemplo de contenido de archivo de seguridad para la autenticación basada en cartera:
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
Ejemplo:
"requestTimeoutMs" : 5000
Parámetro de configuración único
storeName
-
Objetivo: nombre del almacén de Oracle NoSQL Database.
- Data Type: string
- Obligatorio (Y/N): Y
- Ejemplo:
"storeName" : "kvstore"
helperHosts
-
Objetivo: lista de pares de host y puerto de registro con el formato
hostname:port
. Delimite cada elemento de la lista con una coma. Debe especificar al menos un host auxiliar. - Tipo de datos: matriz de cadenas
- Obligatorio (Y/N): Y
- Ejemplo:
"helperHosts" : ["localhost:5000","localhost:6000"]
tabla
-
Objetivo: especifica el nombre de la tabla para almacenar los datos migrados.
Formato:
[namespace_name:]<table_name>
Si la tabla está en el espacio de nombres DEFAULT, puede omitir
namespace_name
. La tabla debe existir en el almacén durante la migración y su esquema debe coincidir con los datos de origen.Si la tabla no está disponible en el receptor, puede utilizar el parámetro
schemaInfo
para indicar al NoSQL Database Migrator que cree la tabla en el receptor. - Data Type: string
- Obligatorio (Y/N): Y
- Ejemplo:
-
Con el espacio de nombres DEFAULT
"table" :"mytable"
-
Con un espacio de nombres no por defecto
"table" : "mynamespace:mytable"
-
Para especificar una tabla secundaria
"table" : "mytable.child"
Note:
Puede migrar las tablas secundarias de un origen de datos válido a Oracle NoSQL Database. El NoSQL Database Migrator copia solo una tabla en cada ejecución. Asegúrese de que la tabla principal se migre antes que la tabla secundaria.
-
includeTTL
-
Objetivo: especifica si se deben incluir o no metadatos TTL para las filas de tabla proporcionadas por el origen al importar tablas de Oracle NoSQL Database.
Si no se especifica este parámetro, el valor por defecto es
false
. En ese caso, NoSQL Database Migrator no incluye metadatos TTL para las filas de tabla proporcionadas por el origen al importar tablas de Oracle NoSQL Database.Si se define en true, la herramienta NoSQL Database Migrator realiza las siguientes comprobaciones en los metadatos de TTL al importar una fila de tabla:- Si importa una fila que no tiene una definición
_metadata
, la herramienta NoSQL Database Migrator define el TTL en 0, lo que significa que la fila nunca caduca. - Si importa una fila que tiene la definición
_metadata
, la herramienta NoSQL Database Migrator compara el valor TTL con una hora de referencia cuando se importa una fila. Si la fila ya ha caducado en relación con la hora de referencia, se omite. Si la fila no ha caducado, se importa junto con el valor TTL. Por defecto, el tiempo de referencia de la operación de importación es la hora actual en milisegundos, obtenida de System.currentTimeMillis(), de la máquina en la que se ejecuta la herramienta Database Migrator de NoSQL. Pero también puede definir un tiempo de referencia personalizado mediante el parámetro de configuraciónttlRelativeDate
si desea ampliar el tiempo de caducidad e importar filas que, de lo contrario, caducarían inmediatamente.La fórmula para calcular el tiempo de caducidad de una fila es la siguiente:expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
Note:
Puesto que los límites de TTL NoSQL de Oracle están en horas y días, en algunos casos, la TTL de la fila importada se puede ajustar a la hora o día más cercanos. Por ejemplo, considere una fila que tenga un valor de caducidad de1629709200000 (2021-08-23 09:00:00)
y el valor de tiempo de referencia sea1629707962582 (2021-08-23 08:39:22)
. Aquí, aunque la fila no haya caducado en relación con el tiempo de referencia cuando se importan estos datos, el nuevo TTL de la fila es1629712800000 (2021-08-23 10:00:00)
.
- Si importa una fila que no tiene una definición
- Data Type: boolean
- Obligatorio (Y/N): N
- Por ejemplo:
"includeTTL" : true
ttlRelativeDate
-
Objetivo: especifique una fecha UTC con el formato AAAA-MM-DD hh:mm:ss utilizado para definir la caducidad de TTL de las filas de la tabla durante la importación en Oracle NoSQL Database.
Si una fila de tabla de los datos que está exportando ha caducado, puede definir el parámetro ttlRelativeDate en una fecha anterior a la hora de caducidad de la fila de tabla en los datos exportados.
Si no especifica este parámetro, el valor por defecto es la hora actual en milisegundos, obtenida de System.currentTimeMillis(), de la máquina en la que se ejecuta la herramienta NoSQL Database Migrator.
- Data Type: date
- Obligatorio (Y/N): N
- Ejemplo:
"ttlRelativeDate" : "2021-01-03 04:31:17"
Consideremos un escenario en el que las filas de tabla caducan después de siete días a partir del 1 de enero de 2021. Después de exportar esta tabla, el 7 de enero de 2021, tendrá un problema con la tabla y decidirá importar los datos. Las filas de la tabla caducarán en un día (fecha de caducidad de datos menos el valor por defecto del parámetro de configuración ttlRelativedate, que es la fecha actual). Pero si desea ampliar la fecha de caducidad de las filas de la tabla a cinco días en lugar de a un día, utilice el parámetro ttlRelativeDate y seleccione una fecha anterior. Por lo tanto, en este caso, si desea ampliar el tiempo de caducidad de las filas de la tabla en cinco días, defina el valor de los parámetros de configuración ttlRelativeDate en 3-Ene-2021, que se utiliza como tiempo de referencia cuando se importan las filas de la tabla.
schemainfo
-
Objetivo: especifica el esquema para los datos que se van a migrar. Si no se especifica, NoSQL Database Migrator asume que la tabla ya existe en el almacén del receptor.
- Data Type: Object
- Obligatorio (Y/N): N
schemaInfo.schemaPath
-
Objetivo: especifica la ruta absoluta a un archivo que contiene sentencias DDL para la tabla NoSQL.
El NoSQL Database Migrator ejecuta los comandos DDL que se muestran en este archivo antes de migrar los datos.
El NoSQL Database Migrator no soporta más de una sentencia DDL por línea en el archivo
schemaPath
. -
Data Type: cadena
-
Obligatorio (Y/N): N
Note:
defaultSchema
yschemaPath
se excluyen mutuamente. -
Ejemplo:
"schemaPath" : "/home/user/schema_file"
schemaInfo.defaultSchema
-
Objetivo: al definir este parámetro en true, se indica al NoSQL Database Migrator que cree una tabla con el esquema por defecto. El esquema por defecto lo define el propio migrator. Para obtener más información sobre las definiciones de esquema por defecto, consulte Esquema por defecto en Uso de Oracle NoSQL Data Migrator.
-
Data Type: booleano
-
Obligatorio (Y/N): N
Note:
defaultSchema
yschemaPath
se excluyen mutuamente.
schemaInfo.useSourceSchema
-
Objetivo: especifica si el receptor utiliza o no la definición de esquema de tabla proporcionada por el origen al migrar tablas NoSQL.
-
Data Type: booleano
- Obligatorio (Y/N): N
Note:
Los parámetros defaultSchema, schemaPath y useSourceSchema se excluyen mutuamente. Especifique solo uno de estos parámetros. - Ejemplo:
- Con Esquema por Defecto:
"schemaInfo" : { "defaultSchema" : true }
- Con un esquema predefinido:
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>" }
- Con el esquema de origen:
"schemaInfo" : { "useSourceSchema" : true }
- Con Esquema por Defecto:
schemaInfo.DDBPartitionKey
- Objetivo: especifica la clave de partición DynamoDB y el tipo de Oracle NoSQL Database correspondiente que se utilizará en la tabla de receptor de Oracle NoSQL Database. Esta clave se utilizará como clave de partición horizontal de tabla de base de datos NoSQL. Esto solo se aplica cuando
defaultSchema
está definido en true y el formato de origen esdynamodb_json
. Consulte Asignación de tipos DynamoDB a tipos NoSQL de Oracle para obtener más información. - Obligatorio (Y/N): Y, si
defaultSchema
es verdadero y el origen esdynamodb_json
. - Ejemplo:
"DDBPartitionKey" : "PersonID:INTEGER"
Note:
Si la clave de partición contiene guiones (-) o puntos (-), Migrator la sustituirá por guiones bajos (-) ya que el nombre de columna NoSQL no soporta guiones ni puntos.
schemaInfo.DDBSortKey
- Objetivo: especifica la clave de ordenación DynamoDB y su tipo de Oracle NoSQL Database correspondiente que se utilizará en la tabla de Oracle NoSQL Database de destino. Si la tabla DynamoDB de importación no tiene una clave de ordenación, este atributo no se debe definir. Esta clave se utilizará como parte no de partición horizontal de la clave primaria en la tabla de base de datos NoSQL. Esto solo se aplica cuando
defaultSchema
está definido en true y el origen esdynamodb_json
. Consulte Asignación de tipos DynamoDB a tipos NoSQL de Oracle para obtener más información. - Obligatorio (Y/N): N
- Ejemplo:
"DDBSortKey" : "Skey:STRING"
Note:
Si la clave de ordenación contiene guiones (-) o puntos (-), Migrator la sustituirá por guiones bajos (-) ya que el nombre de columna NoSQL no soporta guiones ni puntos.
overwrite
-
Objetivo: indica el comportamiento del NoSQL Database Migrator cuando el registro que se está migrando desde el origen ya está presente en el receptor.
Si el valor está definido en false, al migrar tablas, NoSQL Database Migrator omite los registros para los que ya existe la misma clave primaria en el receptor.
Si el valor se define en true, al migrar tablas, NoSQL Database Migrator sobrescribe los registros para los que ya existe la misma clave primaria en el receptor.
Si no se especifica, el valor por defecto es true.
- Data Type: boolean
- Obligatorio (Y/N): N
- Ejemplo:
"overwrite" : false
Oracle NoSQL Database Cloud Service
A continuación, se muestra el formato de archivo de configuración para Oracle NoSQL Database Cloud Service como receptor de NoSQL Database Migrator.
Plantilla de configuración de fregadero
"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 de fregadero
Parámetros de configuración comunes
- tipo
Utilice
"type" : "nosqldb_cloud"
- punto finalPor ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- credencialesPor ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfilePor ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
Ejemplo:
"useInstancePrincipal" : true
- useDelegationToken
Ejemplo:
"useDelegationToken" : true
Note:
La autenticación con token de delegación solo está soportada cuando el NoSQL Database Migrator se ejecuta desde Cloud Shell. - requestTimeoutMs
Ejemplo:
"requestTimeoutMs" : 5000
Parámetro de configuración único
- tabla
- compartimento
- includeTTL
- ttlRelativeDate
- schemaInfo
- schemaInfo.schemaPath
- schemaInfo.defaultSchema
- schemaInfo.useSourceSchema
- schemaInfo.DDBPartitionKey
- schemaInfo.DDBSortKey
- schemaInfo.onDemandThroughput
- schemaInfo.readUnits
- schemaInfo.writeUnits
- schemaInfo.storageSize
- writeUnitsPercent
- overwrite
tabla
-
Objetivo: especifica el nombre de la tabla para almacenar los datos migrados.
Debe asegurarse de que esta tabla existe en Oracle NoSQL Database Cloud Service. De lo contrario, debe utilizar el objeto
schemaInfo
en la configuración del receptor para indicar al NoSQL Database Migrator que cree la tabla.El esquema de esta tabla debe coincidir con los datos de origen.
- Data Type: string
- Obligatorio (Y/N): Y
- Ejemplo:
- Para especificar una tabla
"table" : "mytable"
- Para especificar una tabla secundaria
"table" : "mytable.child"
Note:
Puede migrar las tablas secundarias de un origen de datos válido a Oracle NoSQL Database Cloud Service. El NoSQL Database Migrator copia solo una tabla en cada ejecución. Asegúrese de que la tabla principal se migre antes que la tabla secundaria.
- Para especificar una tabla
compartimento
-
Objetivo: especifica el nombre u OCID del compartimento en el que reside la tabla.
Si no proporciona ningún valor, se define por defecto en el compartimento root.
Puede encontrar el OCID del compartimento en la ventana Explorador de compartimentos en Gobernanza de la consola de OCI Cloud.
- Data Type: string
- Obligatorio (Y/N): Y, si la tabla no está en el compartimento raíz del arrendamiento O cuando el parámetro useInstancePrincipal está definido en true.
Note:
Si el parámetro useInstancePrincipal está definido en true, el compartimento debe especificar el OCID del compartimento y no el nombre. - Ejemplo:
-
Nombre de compartimento
"compartment" : "mycompartment"
-
Nombre de compartimento calificado con su compartimento principal
"compartment" : "parent.childcompartment"
-
No se ha proporcionado ningún valor. Se define por defecto en el compartimento raíz.
"compartment": ""
-
OCID de compartimento
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
includeTTL
-
Objetivo: especifica si se deben incluir o no metadatos TTL para las filas de tabla proporcionadas por el origen al importar tablas de Oracle NoSQL Database.
Si no se especifica este parámetro, el valor por defecto es
false
. En ese caso, NoSQL Database Migrator no incluye metadatos TTL para las filas de tabla proporcionadas por el origen al importar tablas de Oracle NoSQL Database.Si se define en true, la herramienta NoSQL Database Migrator realiza las siguientes comprobaciones en los metadatos de TTL al importar una fila de tabla:- Si importa una fila que no tiene una definición
_metadata
, la herramienta NoSQL Database Migrator define el TTL en 0, lo que significa que la fila nunca caduca. - Si importa una fila que tiene la definición
_metadata
, la herramienta NoSQL Database Migrator compara el valor TTL con una hora de referencia cuando se importa una fila. Si la fila ya ha caducado en relación con la hora de referencia, se omite. Si la fila no ha caducado, se importa junto con el valor TTL. Por defecto, el tiempo de referencia de la operación de importación es la hora actual en milisegundos, obtenida de System.currentTimeMillis(), de la máquina en la que se ejecuta la herramienta Database Migrator de NoSQL. Pero también puede definir un tiempo de referencia personalizado mediante el parámetro de configuraciónttlRelativeDate
si desea ampliar el tiempo de caducidad e importar filas que, de lo contrario, caducarían inmediatamente.La fórmula para calcular el tiempo de caducidad de una fila es la siguiente:expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
Note:
Puesto que los límites de TTL NoSQL de Oracle están en horas y días, en algunos casos, la TTL de la fila importada se puede ajustar a la hora o día más cercanos. Por ejemplo, considere una fila que tenga un valor de caducidad de1629709200000 (2021-08-23 09:00:00)
y el valor de tiempo de referencia sea1629707962582 (2021-08-23 08:39:22)
. Aquí, aunque la fila no haya caducado en relación con el tiempo de referencia cuando se importan estos datos, el nuevo TTL de la fila es1629712800000 (2021-08-23 10:00:00)
.
- Si importa una fila que no tiene una definición
- Data Type: boolean
- Obligatorio (Y/N): N
- Por ejemplo:
"includeTTL" : true
ttlRelativeDate
-
Objetivo: especifique una fecha UTC con el formato AAAA-MM-DD hh:mm:ss utilizado para definir la caducidad de TTL de las filas de la tabla durante la importación en Oracle NoSQL Database.
Si una fila de tabla de los datos que está exportando ha caducado, puede definir el parámetro ttlRelativeDate en una fecha anterior a la hora de caducidad de la fila de tabla en los datos exportados.
Si no especifica este parámetro, el valor por defecto es la hora actual en milisegundos, obtenida de System.currentTimeMillis(), de la máquina en la que se ejecuta la herramienta NoSQL Database Migrator.
- Data Type: date
- Obligatorio (Y/N): N
- Ejemplo:
"ttlRelativeDate" : "2021-01-03 04:31:17"
Consideremos un escenario en el que las filas de tabla caducan después de siete días a partir del 1 de enero de 2021. Después de exportar esta tabla, el 7 de enero de 2021, tendrá un problema con la tabla y decidirá importar los datos. Las filas de la tabla caducarán en un día (fecha de caducidad de datos menos el valor por defecto del parámetro de configuración ttlRelativedate, que es la fecha actual). Pero si desea ampliar la fecha de caducidad de las filas de la tabla a cinco días en lugar de a un día, utilice el parámetro ttlRelativeDate y seleccione una fecha anterior. Por lo tanto, en este caso, si desea ampliar el tiempo de caducidad de las filas de la tabla en cinco días, defina el valor de los parámetros de configuración ttlRelativeDate en 3-Ene-2021, que se utiliza como tiempo de referencia cuando se importan las filas de la tabla.
schemaInfo
-
Objetivo: especifica el esquema para los datos que se van a migrar.
Si no especifica este parámetro, NoSQL Database Migrator asume que la tabla ya existe en Oracle NoSQL Database Cloud Service.
Si no se especifica este parámetro y la tabla no existe en el receptor, la migración falla.
- Data Type: Object
- Obligatorio (Y/N): N
schemaInfo.schemaPath
-
Objetivo: especifica la ruta absoluta a un archivo que contiene sentencias DDL para la tabla NoSQL.
El NoSQL Database Migrator ejecuta los comandos DDL que se muestran en este archivo antes de migrar los datos.
El NoSQL Database Migrator no soporta más de una sentencia DDL por línea en el archivo
schemaPath
. -
Data Type: cadena
-
Obligatorio (Y/N): N
Note:
defaultSchema
yschemaPath
se excluyen mutuamente. -
Ejemplo:
"schemaPath" : "/home/user/schema_file"
schemaInfo.defaultSchema
-
Objetivo: al definir este parámetro en Sí, se indica al NoSQL Database Migrator que cree una tabla con el esquema por defecto. El esquema por defecto lo define el propio migrator. Para obtener más información sobre las definiciones de esquema por defecto, consulte Esquema por defecto en Uso de Oracle NoSQL Data Migrator.
-
Data Type: booleano
-
Obligatorio (Y/N): N
Note:
defaultSchema
yschemaPath
se excluyen mutuamente.
schemaInfo.useSourceSchema
-
Objetivo: especifica si el receptor utiliza o no la definición de esquema de tabla proporcionada por el origen al migrar tablas NoSQL.
-
Data Type: booleano
- Obligatorio (Y/N): N
Note:
Los parámetros defaultSchema, schemaPath y useSourceSchema se excluyen mutuamente. Especifique solo uno de estos parámetros. - Ejemplo:
- Con Esquema por Defecto:
"schemaInfo": { "defaultSchema": true, "readUnits": 100, "writeUnits": 60, "storageSize": 1 }
- Con un esquema predefinido:
"schemaInfo": { "schemaPath": "<complete/path/to/the/schema/definition/file>", "readUnits": 100, "writeUnits": 100, "storageSize": 1 }
- Con el esquema de origen:
"schemaInfo": { "useSourceSchema": true, "readUnits": 100, "writeUnits": 60, "storageSize": 1 }
- Con Esquema por Defecto:
schemaInfo.DDBPartitionKey
- Objetivo: especifica la clave de partición DynamoDB y el tipo de Oracle NoSQL Database correspondiente que se utilizará en la tabla de receptor de Oracle NoSQL Database. Esta clave se utilizará como clave de partición horizontal de tabla de base de datos NoSQL. Esto solo se aplica cuando
defaultSchema
está definido en true y el formato de origen esdynamodb_json
. Consulte Asignación de tipos DynamoDB a tipos NoSQL de Oracle para obtener más información. - Obligatorio (Y/N): Y, si
defaultSchema
es verdadero y el origen esdynamodb_json
. - Ejemplo:
"DDBPartitionKey" : "PersonID:INTEGER"
Note:
Si la clave de partición contiene guiones (-) o puntos (-), Migrator la sustituirá por guiones bajos (-) ya que el nombre de columna NoSQL no soporta guiones ni puntos.
schemaInfo.DDBSortKey
- Objetivo: especifica la clave de ordenación DynamoDB y su tipo de Oracle NoSQL Database correspondiente que se utilizará en la tabla de Oracle NoSQL Database de destino. Si la tabla DynamoDB de importación no tiene una clave de ordenación, este atributo no se debe definir. Esta clave se utilizará como parte no de partición horizontal de la clave primaria en la tabla de base de datos NoSQL. Esto solo se aplica cuando
defaultSchema
está definido en true y el origen esdynamodb_json
. Consulte Asignación de tipos DynamoDB a tipos NoSQL de Oracle para obtener más información. - Obligatorio (Y/N): N
- Ejemplo:
"DDBSortKey" : "Skey:STRING"
Note:
Si la clave de ordenación contiene guiones (-) o puntos (-), Migrator la sustituirá por guiones bajos (-) ya que el nombre de columna NoSQL no soporta guiones ni puntos.
schemaInfo.onDemandThroughput
- Objetivo: especifica crear la tabla con un rendimiento de lectura y escritura bajo demanda. Si no se define este parámetro, la tabla se crea con capacidad aprovisionada.
El valor por defecto es
false
.Note:
Este parámetro no se aplica a las tablas secundarias, ya que comparten el rendimiento de la tabla principal de nivel superior. -
Data Type: booleano
-
Obligatorio (Y/N): N
- Por ejemplo:
"onDemandThroughput" : "true"
schemaInfo.readUnits
- Objetivo: especifica el rendimiento de lectura de la nueva tabla.
Note:
- Este parámetro no se aplica a tablas aprovisionadas con capacidad bajo demanda.
- Este parámetro no se aplica a las tablas secundarias, ya que comparten el rendimiento de lectura de la tabla principal de nivel superior.
-
Tipo de datos: entero
-
Obligatorio (Y/N): Y, si la tabla no es una tabla secundaria o si el parámetro schemaInfo.onDemandThroughput está definido en
false
, de lo contrario N. - Por ejemplo:
"readUnits" : 100
schemaInfo.writeUnits
- Objetivo: especifica el rendimiento de escritura de la nueva tabla.
Note:
- Este parámetro no se aplica a tablas aprovisionadas con capacidad bajo demanda.
- Este parámetro no se aplica a las tablas secundarias, ya que comparten el rendimiento de escritura de la tabla principal de nivel superior.
-
Tipo de datos: entero
-
Obligatorio (Y/N): Y, si la tabla no es una tabla secundaria o si el parámetro schemaInfo.onDemandThroughput está definido en
false
, de lo contrario N. - Por ejemplo:
"writeUnits" : 100
schemaInfo.storageSize
- Objetivo: especifica el tamaño de almacenamiento de la nueva tabla en GB.
Note:
Este parámetro no se aplica a las tablas secundarias, ya que comparten el tamaño de almacenamiento de la tabla principal de nivel superior. -
Tipo de datos: entero
-
Obligatorio (S/N): Y, si la tabla no es una tabla secundaria, de lo contrario N.
- Por ejemplo:
-
Con
schemaPath
"schemaInfo" : { "schemaPath" : "</path/to/a/schema/file>", "readUnits" : 500, "writeUnits" : 1000, "storageSize" : 5 }
-
Con
defaultSchema
"schemaInfo" : { "defaultSchema" :Yes, "readUnits" : 500, "writeUnits" : 1000, "storageSize" : 5 }
-
writeUnitsPercent
-
Objetivo: especifica el porcentaje de unidades de escritura de tabla que se utilizarán durante la actividad de migración. La cantidad de tiempo necesaria para migrar datos es directamente proporcional a este atributo.
El valor por defecto es 90. El rango válido es cualquier entero entre 1 y 100.
Consulte Solución de problemas del migrador de Oracle NoSQL Database para obtener información sobre cómo utilizar este atributo para mejorar la velocidad de migración de datos.
- Tipo de datos: entero
- Obligatorio (Y/N): N
- Ejemplo:
"writeUnitsPercent" : 90
overwrite
-
Objetivo: indica el comportamiento del NoSQL Database Migrator cuando el registro que se está migrando desde el origen ya está presente en el receptor.
Si el valor está definido en false, al migrar tablas, NoSQL Database Migrator omite los registros para los que ya existe la misma clave primaria en el receptor.
Si el valor se define en true, al migrar tablas, NoSQL Database Migrator sobrescribe los registros para los que ya existe la misma clave primaria en el receptor.
Si no se especifica, el valor por defecto es true.
- Data Type: boolean
- Obligatorio (Y/N): N
- Ejemplo:
"overwrite" : false
Plantillas de configuración de transformación
En este tema se explican los parámetros de configuración para las distintas transformaciones soportadas por Oracle NoSQL Database Migrator. Para obtener la plantilla de archivo de configuración completa, consulte Archivo de configuración en Terminología utilizada con el migrador de datos NoSQL.
Oracle NoSQL Database Migrator permite modificar los datos, es decir, agregar transformaciones de datos como parte de la actividad de migración. Puede definir varias transformaciones en una sola migración. En tal caso, el orden de las transformaciones es vital porque los datos de origen se someten a cada transformación en el orden dado. La salida de una transformación se convierte en la entrada a la siguiente en el pipeline del migrator.
Transformaciones
Atributo de configuración de transformación | Puede utilizar esta transformación para... |
---|---|
ignoreFields |
Ignore las columnas identificadas de la fila de origen antes de escribir en el receptor. |
includeFields |
Incluya las columnas identificadas de la fila de origen antes de escribir en el receptor. |
renameFields |
Cambie el nombre de las columnas identificadas de la fila de origen antes de escribir en el receptor. |
aggregateFields |
Agregue varias columnas del origen a una sola columna en el receptor. Como parte de esta transformación, también puede identificar las columnas que desea excluir en la agregación. Estos campos se omitirán de la columna agregada. |
Puede encontrar la plantilla de configuración para cada transformación soportada a continuación.
ignoreFields
A continuación, se muestra el formato de archivo de configuración para la transformación ignoreFields
.
Plantilla de configuración de transformación
"transforms" : {
"ignoreFields" : ["<field1>","<field2>",...]
}
Parámetro de transformación
ignoreFields
-
Objetivo: matriz de los nombres de columna que se ignorarán de los registros de origen.
Note:
Solo puede proporcionar campos de nivel superior. Las transformaciones no se pueden aplicar a los datos de los campos anidados. - Tipo de datos: matriz de cadenas
- Obligatorio (Y/N): Y
-
Ejemplo: para ignorar las columnas denominadas "name" y "address" del registro de origen:
"ignoreFields" : ["name","address"]
includeFields
A continuación, se muestra el formato de archivo de configuración para la transformación includeFields
.
Plantilla de configuración de transformación
"transforms" : {
"includeFields" : ["<field1>","<field2>",...]
}
Parámetro de transformación
includeFields
-
Objetivo: matriz de los nombres de columna que se van a incluir de los registros de origen. Sólo incluye los campos especificados en la matriz; el resto de los campos se ignoran.
Note:
La herramienta NoSQL Database Migrator devuelve un error si especifica una matriz vacía. Además, solo puede especificar los campos de nivel superior. La herramienta NoSQL Database Migrator no aplica transformaciones a los datos de los campos anidados. - Tipo de datos: matriz de cadenas
- Obligatorio (Y/N): Y
-
Ejemplo: para ignorar las columnas denominadas "age" y "gender" del registro de origen:
"includeFields" : ["age","gender"]
renameFields
A continuación, se muestra el formato de archivo de configuración para la transformación renameFields
.
Plantilla de configuración de transformación
"transforms" : {
"renameFields" : {
"<old_name>" : "<new_name>",
"<old_name>" : "<new_name>,"
.....
}
}
Parámetro de transformación
renameFields
-
Objetivo: pares clave-valor de los nombres antiguos y nuevos de las columnas a las que se va a cambiar el nombre.
Note:
Solo puede proporcionar campos de nivel superior. Las transformaciones no se pueden aplicar a los datos de los campos anidados. - Tipo de datos: objeto de JSON
- Obligatorio (Y/N): Y
-
Ejemplo: para cambiar el nombre de la columna denominada "residencia" a "dirección" y la columna denominada "_id" a "id":
"renameFields" : { "residence" : "address", "_id" : "id" }
aggregateFields
A continuación, se muestra el formato de archivo de configuración para la transformación aggregateFields
.
Plantilla de configuración de transformación
"transforms" : {
"aggregateFields" : {
"fieldName" : "name of the new aggregate field",
"skipFields" : ["<field1>","<field2">,...]
}
}
Parámetro de transformación
aggregateFields
-
Propósito: Nombre del campo agregado en el receptor.
- Data Type: string
- Obligatorio (Y/N): Y
-
Ejemplo: si el registro proporcionado es:
{ "id" : 100, "name" : "john", "address" : "USA", "age" : 20 }
Si la transformación agregada es:
"aggregateFields" : { "fieldName" : "document", "skipFields" : ["id"] }
La columna agregada del fregadero tiene el siguiente aspecto:
{ "id": 100, "document": { "name": "john", "address": "USA", "age": 20 } }
Asignación de tipos DynamoDB a tipos NoSQL de Oracle
En la siguiente tabla se muestra la asignación de tipos DynamoDB a tipos NoSQL de Oracle.
Tabla: Asignación del tipo DynamoDB al tipo NoSQL de Oracle
# | Tipo DynamoDB | Tipo JSON para la columna JSON NoSQL | Tipo NoSQL de Oracle |
---|---|---|---|
1 | Cadena (S) | Cadena JSON | STRING |
2 | Tipo de número (N) | Número JSON | ENTERO/LARGO/PLANO/DOBLE/NÚMERO |
3 | Booleano (BOOL) | Booleano de JSON | BOOLEAN |
4 | Tipo binario (B): buffer de bytes | Cadena JSON codificada BASE-64 | BINARY |
5 | NULL | JSON nulo | NULL |
6 | Juego de cadenas (SS) | Matriz de cadenas de JSON | ARRAY (CADENA) |
7 | Juego de números (NS) | Matriz de números de JSON | MATRIZ (ENTERO/LARGO/FLOTANTE/DOBLE/NÚMERO) |
8 | Juego binario (BS) | Matriz JSON de cadenas codificadas base 64 | MATRIZ (BINARIA) |
9 | LISTA (L) | Matriz de JSON | MATRIZ (JSON) |
10 | MAPA (M) | Objeto JSON | JSON |
11 | CLAVE DE PARTICIÓN | NA | PRIMARY KEY y SHARD KEY |
12 | CLAVE DE CLASIFICACIÓN | NA | CLAVE PRINCIPAL |
13 | Nombres de atributos con guión y punto | Nombres de campos JSON con guion bajo | Nombres de columna con guion bajo |
- DynamoDB Solo soporta un tipo de dato para Números y puede tener hasta 38 dígitos de precisión. Por el contrario, Oracle NoSQL soporta muchos tipos entre los que elegir según el rango y la precisión de data.You puede seleccionar el tipo de número adecuado que se ajuste al rango de los datos de entrada. Si no está seguro de la naturaleza de los datos, se puede utilizar el tipo NoSQL NUMBER.
- DynamoDB Solo soporta un tipo de dato para Números y puede tener hasta 38 dígitos de precisión. Por el contrario, Oracle NoSQL soporta muchos tipos entre los que elegir según el rango y la precisión de data.You puede seleccionar el tipo de número adecuado que se ajuste al rango de los datos de entrada. Si no está seguro de la naturaleza de los datos, se puede utilizar el tipo NoSQL NUMBER.
- La clave de partición en DynamoDB tiene un límite de 2048 bytes, pero Oracle NoSQL Cloud Service tiene un límite de 64 bytes para la clave primaria/clave de partición horizontal.
- La clave de ordenación de DynamoDB tiene un límite de 1024 bytes, pero Oracle NoSQL Cloud Service tiene un límite de 64 bytes para la clave primaria.
- Los nombres de atributo de DynamoDB pueden tener una longitud de 64 KB, pero los nombres de columna del servicio NoSQL de Oracle Cloud tienen un límite de 64 caracteres.
Asignación de tipo de datos de Oracle NoSQL a Parquet
Describe la asignación de tipos de datos de Oracle NoSQL a tipos de datos de Parquet.
Tipo NoSQL | Tipo de Parquet |
---|---|
BOOLEAN | BOOLEAN |
INTEGER | INT32 |
LONG | INT64 |
FLOAT | DOUBLE |
DOUBLE | DOUBLE |
BINARY | BINARY |
FIXED_BINARY | BINARY |
STRING | BINARIO (CADENA) |
ENUM | BINARIO (CADENA)
o bien, BINARY(ENUM), si se ha configurado el ENUM lógico |
UUID | BINARIO (CADENA)
o bien, FIXED_BINARY(16), si el UUID lógico está 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₂, ....)
donde: K = Nombre de clave T = Tipo N = Nulo o no |
|
JSON | BINARIO (CADENA)
o bien, BINARY(JSON), si se configura JSON lógico |
Note:
Cuando el tipo de número NoSQL se convierte al tipo Parquet Double, puede haber alguna pérdida de precisión en caso de que el valor no se pueda representar en Double. Si el número es demasiado grande para representarlo como doble, se convierte a Double.NEGATIVE_INFINITY o Double.POSITIVE_INFINITY.Asignación de la tabla DynamoDB a la tabla NoSQL de Oracle
En DynamoDB, una tabla es una recopilación de elementos y cada elemento es una recopilación de atributos. Cada elemento de la tabla tiene un identificador único o una clave primaria. Aparte de la clave primaria, la tabla no tiene esquema. Cada elemento puede tener sus propios atributos distintos.
- Clave de partición: una clave primaria simple, compuesta por un atributo conocido como clave de partición. DynamoDB utiliza el valor de la clave de partición como entrada a una función hash interna. La salida de la función hash determina la partición en la que se almacenará el elemento.
- Clave de partición y clave de ordenación: como clave primaria compuesta, este tipo de clave se compone de dos atributos. El primer atributo es la clave de partición y el segundo atributo es la clave de ordenación. DynamoDB utiliza el valor de clave de partición como entrada a una función hash interna. La salida de la función hash determina la partición en la que se almacenará el elemento. Todos los elementos con el mismo valor de clave de partición se almacenan juntos, ordenados por valor de clave de ordenación.
Por el contrario, las tablas NoSQL de Oracle soportan modelos de datos flexibles con diseño sin esquema y sin esquema.
- Modelado de la tabla DynamoDB como documento JSON (recomendado): en este modelado, asigne todos los atributos de las tablas de base de datos de Dynamo a una columna JSON de la tabla NoSQL, excepto la clave de partición y la clave de ordenación. Modelará la clave de partición y la clave de ordenación como columnas de clave primaria de la tabla NoSQL. Utilizará la transformación
AggregateFields
para agregar datos de clave no primaria a una columna JSON.Note:
El migrador proporciona una configuración fácil de usardefaultSchema
para crear automáticamente una tabla DDL sin esquema que también agrega atributos en una columna JSON. - Modelado de la tabla DynamoDB como columnas fijas en la tabla NoSQL: en este modelado, para cada atributo de la tabla DynamoDB, creará una columna en la tabla NoSQL como se especifica en la asignación de tipos DynamoDB a tipos NoSQL de Oracle. Modelará la clave de partición y ordenará los atributos de clave como claves primarias. Esto se debe utilizar sólo cuando esté seguro de que la importación del esquema de tabla DynamoDB es fija y de que cada elemento tiene valores para la mayoría de los atributos. Si los elementos DynamoDB no tienen atributos comunes, esto puede dar como resultado muchas columnas NoSQL con valores vacíos.
Note:
Recomendamos utilizar tablas sin esquema al migrar datos de DynamoDB a Oracle NoSQL Database, ya que las tablas DynamoDB son tablas sin esquema. Esto es especialmente para tablas grandes donde el contenido de cada registro puede no ser uniforme en toda la tabla.
Solución de problemas de Oracle NoSQL Database Migrator
Conozca los desafíos generales que puede enfrentar mientras usa el , y cómo resolverlos.
Fallo en la migración. ¿Cómo puedo resolverlo?
Un fallo en la migración de datos puede deberse a varios motivos subyacentes. Las causas importantes se enumeran a continuación:
Tabla - Causas de fallos de migración
Mensaje de error | Significado | Resolución |
---|---|---|
Failed to connect to Oracle NoSQL Database |
El migrador no ha podido establecer una conexión a la NoSQL Database. |
|
Failed to connect to Oracle NoSQL Database Cloud Service |
El migrador no pudo establecer una conexión con Oracle NoSQL Database Cloud Service. |
|
Table not found |
El NoSQL Database Migrator no ha encontrado la tabla identificada para la migración. |
Para el origen:
Para el fregadero:
|
DDL Execution failed |
Los comandos DDL proporcionados en el archivo de definición de esquema de entrada no son válidos. |
|
failed to write record to the sink table with java.lang.IllegalArgumentException |
El registro de entrada no coincide con el esquema de tabla del receptor. |
|
Request timeout |
La operación de la fuente o del sumidero no se ha finalizado dentro del tiempo esperado. |
|
¿Qué debo tener en cuenta antes de reiniciar una migración fallida?
Cuando una tarea de migración de datos falla, el receptor estará en un estado intermedio que contiene los datos importados hasta el punto de fallo. Puede identificar los detalles de error y fallo de los logs y reiniciar la migración después de diagnosticar y corregir el error. Una migración reiniciada comienza de nuevo, procesando todos los datos desde el principio. No hay forma de establecer un punto de control y reiniciar la migración desde el punto de fallo. Por lo tanto, NoSQL Database Migrator sobrescribe cualquier registro que ya se haya migrado al receptor.
La migración es demasiado lenta. ¿Cómo puedo acelerarla?
El tiempo que se tarda en migrar los datos depende de varios factores, como el volumen de datos que se van a migrar, la velocidad de la red y la carga actual en la base de datos. En el caso de un servicio en la nube, la velocidad de migración también depende del rendimiento de lectura y de escritura aprovisionados. Por lo tanto, para mejorar la velocidad de migración, puede:- Intente reducir la carga de trabajo actual en Oracle NoSQL Database al migrar los datos.
- Asegúrese de que el equipo que ejecuta la migración, el origen y el receptor estén ubicados en el mismo centro de datos y que las latencias de red sean mínimas.
- En el caso de Oracle NoSQL Database Cloud Service, aprovisione un alto rendimiento de lectura/escritura y verifique si el almacenamiento asignado a la tabla es suficiente o no. Si el NoSQL Database Migrator no crea la tabla, puede aumentar el rendimiento de escritura. Si el migrator está creando la tabla, considere la posibilidad de especificar un valor superior para el parámetro
schemaInfo.writeUnits
en la configuración del receptor. Una vez finalizada la migración de datos, puede reducir este valor. Tenga en cuenta los límites diarios de los cambios de rendimiento. Consulte Límites de la nube y Plantillas de configuración de fregadero.
Tengo una migración de larga ejecución que implica enormes conjuntos de datos. ¿Cómo puedo realizar un seguimiento del progreso de la migración?
Puede activar el registro adicional para realizar un seguimiento del progreso de una migración de larga ejecución. Para controlar el comportamiento de registro de Oracle NoSQL Database Migrator, debe definir el nivel de registro deseado en el archivo logging.properties
. Este archivo se proporciona con el paquete NoSQL Database Migrator y está disponible en el directorio donde se desempaquetó Oracle NoSQL Database Migrator. Los diferentes niveles de registro son OFF, SEVERE, WARNING, INFO, FINE,
y ALL
en el orden de aumentar el nivel de detalle. Al definir el nivel de log en OFF
, se desactiva toda la información de registro, mientras que al definir el nivel de log en ALL
se proporciona toda la información de log. El nivel de log por defecto es WARNING
. Por defecto, toda la salida de registro está configurada para ir a la consola. Puede ver comentarios en el archivo logging.properties
para conocer cada nivel de log.