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:

Parámetros

El NoSQL Database Migrator requiere un archivo de configuración en el que defina todos los parámetros para realizar la actividad de migración. Algunos parámetros son comunes en varias fuentes y sumideros. En este tema se proporciona una lista de estos parámetros comunes. Para obtener la lista de otros parámetros que son únicos para orígenes o receptores individuales, consulte las secciones correspondientes de la plantilla de configuración.

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.

  • 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ámetro prefix. 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.

  • 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

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.

Un archivo de origen JSON de ejemplo es el siguiente:
{"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

  • tipo

    Usar "type" : "file"

  • formato

    Utilice "format" : "json"

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.

Un archivo de origen JSON de ejemplo en el cubo de OCI Object Storage es el siguiente:
{"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 son nosqldb 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 final
    Por 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
    Por ejemplo:
    1. "prefix" : "my_table/Data/000000.json" (solo migra 000000.json)
    2. "prefix" : "my_table/Data" (migra todos los objetos con el prefijo my_table/Data)
  • credenciales
    Por ejemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Por ejemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "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.

A continuación, se muestra un archivo JSON de modo relajado con formato MongoDB:
{"_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

  • tipo

    Usar "type" : "file"

  • formato

    Utilice "format" : "mongodb_json"

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.

A continuación, se muestra un archivo JSON de modo relajado con formato MongoDB:
{"_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 son nosqldb 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 final
    Por 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
    Por ejemplo:
    1. "prefix" : "mongo_export/Data/table.json" (solo migra table.json)
    2. "prefix" : "mongo_export/Data" (migra todos los objetos con el prefijo mongo_export/Data)

    Note:

    Si no proporciona ningún valor, se migran todos los objetos presentes en el cubo.
  • credenciales
    Por ejemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Por ejemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "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.

Un archivo JSON con formato DynamoDB de ejemplo es el siguiente:
{"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.

Plantilla de configuración de origen
"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 es aws_s3, el formato debe ser dynamodb_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á archivos json.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.

Un archivo JSON con formato DynamoDB de ejemplo es el siguiente:
{"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.

Plantilla de configuración de origen
"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

  • tipo

    Usar "type" : "file"

  • formato

    Utilice "format" : "dynamodb_json"

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 subdirectorio data.
  • 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.

Una tabla de Oracle NoSQL Database de ejemplo es la siguiente:
{"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.

A continuación se muestra un ejemplo de la tabla de Oracle NoSQL Database Cloud Service:
{"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 final
    Por ejemplo:
    • ID de región: "endpoint" : "us-ashburn-1"

    • Formato de URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • credenciales
    Por ejemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Por ejemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "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"

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.

Un archivo CSV de ejemplo es el siguiente:
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

  • tipo

    Usar "type" : "file"

  • formato

    Utilice "format" : "csv"

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 en false, la primera línea se considera un registro CSV. El valor por defecto es false.

  • 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 son US-ASCII, ISO-8859-1, UTF-8, y UTF-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.

Un archivo CSV de ejemplo en el cubo de OCI Object Storage es el siguiente:
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 son nosqldb 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 final
    Por 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á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.

  • prefijo
    Por ejemplo:
    1. "prefix" : "my_table/Data/000000.csv" (solo migra 000000.csv)
    2. "prefix" : "my_table/Data" (migra todos los objetos con el prefijo my_table/Data)
  • credenciales
    Por ejemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Por ejemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "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 en false, la primera línea se considera un registro CSV. El valor por defecto es false.

  • 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 son US-ASCII, ISO-8859-1, UTF-8, y UTF-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.

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 origen válidos para cada uno de los receptores, consulte Source Configuration Templates.

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

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"

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 en false. Si se define como true,
    • 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 son nosqldb 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 final
    Por 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:
    1. "prefix" : "my_export"
    2. "prefix" : "my_export/2021-04-05/"
  • chunkSize

    Ejemplo: "chunkSize" : 40

  • credenciales
    Por ejemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Por ejemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "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 son nosqldb 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 final
    Por 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:
    1. "prefix" : "my_export"
    2. "prefix" : "my_export/2021-04-05/"
  • chunkSize

    Ejemplo: "chunkSize" : 40

  • credenciales
    Por ejemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Por ejemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "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 en false. Si se define como true,
    • 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ón ttlRelativeDate 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 de 1629709200000 (2021-08-23 09:00:00) y el valor de tiempo de referencia sea 1629707962582 (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 es 1629712800000 (2021-08-23 10:00:00).
  • 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 y schemaPath 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 y schemaPath 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
      }

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 es dynamodb_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 es dynamodb_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 es dynamodb_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 final
    Por ejemplo:
    • ID de región: "endpoint" : "us-ashburn-1"

    • Formato de URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • credenciales
    Por ejemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Por ejemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "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

  • 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.

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ón ttlRelativeDate 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 de 1629709200000 (2021-08-23 09:00:00) y el valor de tiempo de referencia sea 1629707962582 (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 es 1629712800000 (2021-08-23 10:00:00).
  • 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 y schemaPath se excluyen mutuamente.
  • Ejemplo: "schemaPath" : "/home/user/schema_file"

schemaInfo.defaultSchema

  • Objetivo: al definir este parámetro en , 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 y schemaPath 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
      }

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 es dynamodb_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 es dynamodb_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 es dynamodb_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.

Las diferentes transformaciones soportadas por el migrador de datos NoSQL son:

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
Algunos puntos adicionales que se deben tener en cuenta al asignar tipos DynamoDB a tipos NoSQL de Oracle:
  • 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)
group field_name(LIST) {
  repeated group list {
      required T element
  }
}
field_name MAPA (T)
group field_name (MAP) {
    repeated group key_value (MAP_KEY_VALUE) {
       required binary key (STRING);
        required T value;
    }
}
field_name RECORD(K₁ T₁ N₁, Kٖ₂ T₂ N₂, ....)

donde:

K = Nombre de clave

T = Tipo

N = Nulo o no

group field_name {
    ni == true ? optional Ti ki : required Ti ki   
}
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.

DynamoDB soporta dos tipos diferentes de claves primarias:
  • 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.

Hay dos formas diferentes de modelar una tabla DynamoDB:
  1. 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 usar defaultSchema para crear automáticamente una tabla DDL sin esquema que también agrega atributos en una columna JSON.
  2. 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.
  • Compruebe si los valores de los atributos storeName y helperHosts en el archivo JSON de configuración son válidos y si se puede acceder a los hosts.
  • Para un almacén seguro, verifique si el archivo de seguridad es válido con los valores de nombre de usuario y contraseña correctos.
Failed to connect to Oracle NoSQL Database Cloud Service El migrador no pudo establecer una conexión con Oracle NoSQL Database Cloud Service.
  • Verifique si la URL de punto final o el nombre de región especificados en el archivo JSON de configuración son correctos.
  • Compruebe si el archivo de credenciales de OCI está disponible en la ruta especificada en el archivo JSON de configuración.
  • Asegúrese de que las credenciales de OCI proporcionadas en las credenciales de OCI son válidas.
Table not found El NoSQL Database Migrator no ha encontrado la tabla identificada para la migración.

Para el origen:

  • Verifique si la tabla está presente en la base de datos origen.
  • Asegúrese de que la tabla está cualificada con su espacio de nombres en el archivo JSON de configuración, si la tabla se crea en un espacio de nombres no por defecto.
  • Verifique si tiene la autorización de lectura/escritura necesaria para acceder a la tabla.
  • Si el origen es Oracle NoSQL Database Cloud Service, verifique si el nombre de compartimento válido está especificado en el archivo JSON de configuración y asegúrese de que tiene la autorización necesaria para acceder a la tabla.

Para el fregadero:

  • Verifique si la tabla está presente en el fregadero. Si no existe, debe crear la tabla manualmente o utilizar la configuración schemaInfo para crearla mediante la migración.
DDL Execution failed Los comandos DDL proporcionados en el archivo de definición de esquema de entrada no son válidos.
  • Compruebe la sintaxis de los comandos DDL en el archivo schemaPath.
  • Asegúrese de que solo hay una sentencia DDL por línea en el archivo schemaPath.
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.
  • Compruebe si los tipos de dato y los nombres de columna especificados en la tabla de receptor de destino coinciden con el esquema de tabla de receptor.
  • Si ha aplicado alguna transformación, compruebe si los registros transformados coinciden con el esquema de tabla de receptor.
Request timeout La operación de la fuente o del sumidero no se ha finalizado dentro del tiempo esperado.
  • Verifique la conexión de red.
  • Compruebe si la base de datos NoSQL está activa y en ejecución.
  • Intente aumentar el valor requestTimeout en el archivo JSON de configuración.

¿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.