Ejecución de Oracle NoSQL Database Analytics Integrator

Pasos para ejecutar Oracle NoSQL Database Analytics Integrator.

Creación de un archivo de configuración para el integrador

Para poder ejecutar Oracle NoSQL Database Analytics Integrator, primero debe crear un archivo de configuración. Este archivo de configuración se utilizará al llamar a la utilidad. El archivo de configuración debe tener las entradas en formato JSON, como se muestra en los siguientes ejemplos. A continuación, se muestran solo dos archivos de configuración de ejemplo. No todos los parámetros que se usan a continuación son obligatorios. En la siguiente tabla se explican todos los parámetros que se utilizan en el ejemplo y se resalta si es opcional o necesario.

Ejemplo 1: la utilidad se ejecuta desde una instancia de Oracle Cloud Compute y se desea autenticar mediante un principal de instancia.

{
    "nosqlstore": {
        "type" : "nosqldb_cloud",
        "endpoint" : "us-ashburn-1",
        "useInstancePrincipal" : true,
        "compartment" : <ocid.of.compartment.containing.nosql.tables>,
        "table" : <tableName1,tableName2,tableName3>,
        "readUnitsPercent" : "90,90,90",
        "requestTimeoutMs" : "5000"
    },
    "objectstore" : {
        "type" : "object_storage_oci",
        "endpoint" : "us-ashburn-1",
        "useInstancePrincipal" : true,
        "compartment" : <ocid.of.compartment.containing.bucket>,
        "bucket" : <bucket-name-objectstorage>,
        "compression" : "snappy"
    },
    "database": {
        "type" : "database_cloud",
        "endpoint" : "us-ashburn-1",
        "credentials" : "/home/opc/.oci/config",
        "credentialsProfile" : <profile-for-adw-auth>,
        "databaseName" : <database-name>,
        "databaseUser" : "ADMIN",
        "databaseWallet"" : <path-where-wallet-unzipped>

    }
}

Ejemplo 2: prefiere autenticarse con sus propias credenciales de usuario o se está ejecutando desde fuera de Oracle Cloud y, por lo tanto, la autenticación de principal de instancia no está disponible.

{
    "nosqlstore": {
        "type" : "nosqldb_cloud",
        "endpoint" : "us-ashburn-1",
        "credentials" : "/home/opc/.oci/config",
        "credentialsProfile" : <nosqldb-user-credentials>,
        "table" : <tableName1,tableName2,tableName3>,
        "readUnitsPercent" : "90,90,90",
        "requestTimeoutMs" : "5000"
    },
    "objectstore" : {
        "type" : "object_storage_oci",
        "endpoint" : "us-ashburn-1",
        "credentials" : "/home/opc/.oci/config",
        "credentialsProfile" : <objectstorage-user-credentials>,
        "bucket" : <bucket-name-objectstorage>,
        "compression" : "snappy"
    },
    "database": {
        "type" : "database_cloud",
        "endpoint" : "us-ashburn-1",
        "credentials" : "/home/opc/.oci/config",
        "credentialsProfile" : <adw-user-credentials>,
        "databaseName" : <database-name>,
        "databaseUser" : "ADMIN",
        "databaseWallet" : <path-where-wallet-unzipped>
    }
   "abortOnError" : false
}

La configuración se divide en tres secciones: nosqlstore, objectstore y database, cuyas entradas se utilizan para especificar cómo interactúa la utilidad con cada servicio en la nube respectivo: NoSQL Cloud Service, Oracle Object Storage y Oracle Autonomous AI Lakehouse.

Hay algunos parámetros que son comunes en las tres secciones.

Tabla - Parámetros comunes para todas las secciones

Nombre del parámetro Detalles de los parámetros
type Actualmente, este parámetro puede tomar uno de los tres valores: nosqldb_cloud (para la sección nosqlstore), object_storage_oci (para la sección objectstore) y database_cloud (para la sección database).
punto final El valor de esta entrada se debe definir en la región en la que se encuentra el recurso asociado. El valor especificado para esta entrada puede ser el punto final de API de la región o el identificador de región del recurso. Por ejemplo, si cada recurso se encuentra en la región este de EE. UU. (Ashburn), la entrada de punto final de cada sección se puede especificar mediante el identificador de la región ("us-ashburn-1") o el punto final de API de la región para el servicio deseado.

Tabla: parámetros del archivo de configuración

Nombre del parámetro Sección especificada Detalles de la sección
useInstancePrincipal

nosqlstore (opcional)

Objectstore (opcional)

La entrada useInstancePrincipal se puede especificar como el valor booleano true si se cumplen las siguientes condiciones:

  • La utilidad se ejecutará desde una instancia informática de Oracle Cloud.
  • La sección que se está configurando no es la sección de base de datos
  • La instancia informática está autorizada, como instancia principal, para realizar acciones en el recurso al que se hace referencia en la sección que se está configurando
  • La entrada de credenciales no se ha especificado

Si se especifica true para la entrada useInstancePrincipal y también se especifica la entrada de credenciales, la entrada de credenciales tiene prioridad y las credenciales de usuario a las que se hace referencia en el valor de esa entrada se utilizarán para interactuar con el recurso asociado.

Note:

Las credenciales de usuario se deben especificar en la sección de base de datos porque la base de datos de IA autónoma alojada en Oracle Autonomous AI Lakehouse lo requiere.

compartimento

nosqlstore (opcional)

Objectstore (opcional)

  • Si se especifica true para la entrada useInstancePrincipal, también se debe especificar el OCID del compartimento que contiene ese recurso.
  • Si se especifica false para la entrada useInstancePrincipal o se especifica la entrada de credenciales, la entrada de compartimento es opcional, aunque se debe especificar en el archivo al que hace referencia la entrada de credenciales.
credentials

nosqlstore (opcional)

Objectstore (opcional)

base de datos (necesario)

La entrada de credenciales es necesaria en la sección de la base de datos bajo todas las circunstancias. Es necesario en las secciones nosqlstore y objectstore en una o más de las siguientes circunstancias:

  • La utilidad se ejecutará desde fuera de Oracle Cloud o desde una instancia de Oracle Cloud Compute que no sea un principal de instancia
  • No se ha especificado la entrada useInstancePrincipal o se ha definido en false.

El valor especificado para esta entrada debe hacer referencia a un archivo del sistema de archivos local que especifique las credenciales de usuario que se pueden utilizar para interactuar de forma segura con el recurso asociado.

Perfil de credenciales

nosqlstore (opcional)

Objectstore (opcional)

Base de datos (opcional)

La entrada credentialsProfile es opcional en cada sección, e incluso si se especifica, se aplica solo cuando también se especifica una entrada de credenciales correspondiente.
tabla nosqlstore(Necesario) La entrada de tabla es necesaria y se debe especificar en la sección nosqlstore. El valor de esta entrada es una cadena que consta de una lista de nombres separada por comas; en la que cada nombre hace referencia al nombre de una tabla de NoSQL Database Cloud Service cuyo contenido se debe recuperar y copiar en Oracle Autonomous AI Lakehouse.
readUnitsPercent nosqlstore (opcional)

La entrada readUnitsPercent es opcional y solo se aplica en la sección nosqlstore. El valor de esta entrada es una cadena que consta de una lista separada por comas de enteros; entre 1 y 100, que representa el porcentaje de unidades de lectura que se pueden consumir al recuperar datos de la tabla correspondiente.

Esta entrada permite especificar diferentes porcentajes de unidades de lectura para cada una de las tablas a las que se hace referencia en la entrada de tabla; cuando el primer porcentaje de la lista corresponde a la primera tabla de la lista de tablas, el segundo porcentaje corresponde a la segunda tabla, etc. No es necesario que el número de porcentajes de esta lista sea igual al número de tablas de la lista de tablas. Se asignará un valor por defecto del 90 por ciento a cualquier tabla de la lista de tablas que no tenga un porcentaje correspondiente en esta lista.

Por ejemplo, supongamos que se especifican cuatro nombres de tabla en la entrada de tabla, pero la entrada readUnitsPercent se define en el valor "50,80". En este caso, los datos de la primera tabla se recuperarán con el 50% de las unidades de lectura disponibles, mientras que el 80% de las unidades de lectura se utilizarán al recuperar datos de la segunda tabla. Por último, para las dos tablas restantes, se utilizará el 90% de las unidades de lectura (valor por defecto) al recuperar los datos de cada una de esas tablas.

requestTimeoutMs nosqlstore (opcional)

La entrada requestTimeoutMs es opcional y solo se aplica en la sección nosqlstore. El valor de esta entrada es una cadena que consta de una lista separada por comas de números enteros positivos; donde cada número entero representa el número de milisegundos permitidos para que se complete cada solicitud de recuperación de datos para la tabla correspondiente.

Esta entrada permite especificar diferentes valores de timeout para cada una de las tablas a las que se hace referencia en la entrada de tabla. Si no se especifica esta entrada, o si esta entrada especifica un timeout para sólo un subjuego de las tablas, el valor por defecto de 5000 se asignará a las tablas restantes.

bucket objectstore (necesario) La entrada de cubo es necesaria y se debe especificar en la sección del almacén de objetos. El valor de esta entrada es una cadena que representa el nombre del cubo de OCI Object Storage en el que la utilidad copia los datos recuperados de las tablas NoSQL.
compresión Objectstore (opcional)

La entrada de compresión es opcional y solo se aplica en la sección del almacén de objetos. El valor especificado para esta entrada es una cadena que representa cómo se recuperan los datos de las tablas especificadas en nosqlstore. Si se define, los datos de la tabla se comprimen cuando se copian en Object Storage. El valor especificado para esta entrada debe ser uno de los siguientes:

  • snappy: para una compresión rápida
  • gzip: para compresión gzip
  • none: no comprime los datos de la tabla copiados en ObjectStorage

Note:

Si no se especifica la entrada de compresión, se realizará una compresión rápida.

databaseName base de datos (necesario) La entrada dabaseName es necesaria y se debe especificar en la sección de la base de datos. Esta entrada es una cadena cuyo valor es el nombre de la base de datos creada en Oracle Autonomous AI Lakehouse Cloud Service.
Usuario de base de datos Base de datos (opcional) La entrada databaseUser es opcional y se debe especificar en la sección de base de datos. Esta entrada es una cadena cuyo valor es el nombre de la cuenta de usuario en la base de datos de IA autónoma especificada en la entrada dabaseName. Si no se especifica esta entrada, se le pedirá en la línea de comandos que proporcione el valor.
Cartera de base de datos base de datos (necesario) La entrada databaseWallet es necesaria y se debe especificar en la sección de base de datos. Esta entrada es una cadena cuyo valor es la ruta del sistema de archivos al directorio que contiene el contenido de Oracle Wallet descargado de la cuenta de usuario de la base de datos de IA autónoma especificada en la entrada databaseUser del archivo de configuración.
abortOnError Opcional Especifica la acción que se debe realizar al enfrentarse a un error. El valor por defecto es verdadero.

Nota: Cada entrada del archivo de configuración se puede sustituir en la línea de comandos definiendo una propiedad del sistema con el nombre del formulario, section.entry, por ejemplo, -Dnosqlstore.table=tableName1,tableName3. Si una entrada no se encuentra en una sección, el nombre que se debe utilizar para dicha propiedad es simplemente el nombre de la entrada en sí; por ejemplo, -DabortOnError=false. Esta función puede ser útil al probar o escribir secuencias de comandos que ejecuten la utilidad a intervalos regulares.

Especificando información de configuración en el archivo de credenciales:

Oracle Cloud Infrastructure necesita información de configuración básica, como credenciales de usuario, OCID de arrendamiento, etc., que se puede especificar en el archivo de configuración. La ubicación por defecto para este archivo de configuración es ~/.oci. Puede especificar varios juegos de credenciales de usuario en este archivo de configuración.

A continuación se muestra un archivo de credenciales de ejemplo.

[DEFAULT]
user=<ocid.of.default.user>
fingerprint=<fingerprint.of.default.user>
key_file=<path.to.default.user.oci.api.private.key.file.pem>
tenancy=<ocid.of.default.user.tenancy>
region=us-ashburn-1
compartment=<ocid.of.default.compartment>

[nosqldb-user-credentials]
user=<ocid.of.nosqldb.user>
fingerprint=<fingerprint.of.nosqldb.user>
key_file=<path.to.nosqldb.user.oci.api.private.key.file.pem>
tenancy=<ocid.of.nosqldb.user.tenancy>
region=us-ashburn-1
compartment=<ocid.of.nosqldb.compartment>

[objectstorage-user-credentials]
user=<ocid.of.objectstorage.user>
fingerprint=<fingerprint.of.objectstorage.user>
key_file=<path.to.objectstorage.user.oci.api.private.key.file.pem>
tenancy=<ocid.of.objectstorage.user.tenancy>
region=us-ashburn-1
compartment=<ocid.of.objectstorage.compartment>

[adw-user-credentials]
user=<ocid.of.adw.user>
fingerprint=<fingerprint.of.adw.user>
key_file=<path.to.adw.user.oci.api.private.key.file.pem>
tenancy=<ocid.of.adw.user.tenancy>
region=us-ashburn-1
compartment=<ocid.of.adw.compartment>
dbmsOcid=<ocid.of.autonomous.database.in.adw>
dbmsCredentialName=<OCI$RESOURCE_PRINCIPAL or NOSQLADWDB_OBJ_STORE_CREDENTIAL>

Nota: En el archivo de configuración anterior, hay tres entradas separadas para nosql-db-user, objectstorage-user y adw-user. No es obligatorio y puede existir un archivo de configuración con un solo perfil DEFAULT. Sin embargo, tener perfiles separados es una buena práctica en lugar de combinar todos los parámetros en el perfil DEFAULT.

Nombre de parámetro Detalles de los parámetros
usuario El OCID del usuario
huella Una breve secuencia de bytes utilizada para identificar una clave pública más larga para el usuario por defecto
archivo de claves La ruta/nombre de archivo al archivo que contiene la clave privada para el usuario predeterminado
arrendamiento OCID del arrendamiento
regiones Punto final de la región
compartimento nombre de compartimento u OCID del compartimento del usuario por defecto
dbmsOcid OCID de la base de datos de IA autónoma
Nombre de credencial de base de datos Este es el nombre de la credencial que utilizará la base de datos de Oracle Autonomous AI Lakehouse para autenticarse con Object Storage; que es el nombre OCI$RESOURCE_PRINCIPAL (si decide emplear la autenticación de entidad de recurso) o el nombre de la credencial AUTH_TOKEN que se crea cuando el usuario o el administrador del sistema ejecutan el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL (por ejemplo, NOSQLADWDB_OBJ_STORE_CREDENTIAL).

Ejecución de la herramienta

Una vez que se hayan completado todos los requisitos para utilizar los servicios de Oracle Cloud necesarios (NoSQL Database, Object Storage y Oracle Autonomous AI Lakehouse) y se haya creado un archivo de configuración válido, Oracle NoSQL Database Analytics Integrator se puede ejecutar simplemente escribiendo un comando en la línea de comandos.

Nota: Las propiedades del sistema que configuran los registradores utilizados durante la ejecución son opcionales. Si no se especifican esas propiedades del sistema, la utilidad no producirá ninguna salida de registro.

Registro

Oracle NoSQL Database Analytics Integrator ejecuta software de varias bibliotecas de terceros, donde cada biblioteca define su propio juego de registradores con diferentes espacios de nombres. Para mayor comodidad, Oracle NoSQL Database Analytics Integrator proporciona dos archivos de configuración de registro como parte de la versión; uno para configurar mecanismos de registro basados en java.util.logging y otro para registradores basados en Log4j2.

Nota: Por defecto, los archivos de configuración del registrador proporcionados con la utilidad están diseñados para producir una salida mínima a medida que se ejecuta la utilidad. Sin embargo, si desea ver la salida detallada de los distintos componentes que emplea la utilidad, debe aumentar los niveles de registro de los registradores específicos cuyo comportamiento desea analizar.

Temas relacionados