Ejecución de 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 ejemplos siguientes. Los siguientes son solo dos archivos de configuración de ejemplo. No todos los parámetros utilizados a continuación son necesarios. La siguiente tabla explica cada parámetro que se utiliza en el ejemplo y resalta si es opcional o necesario.
{
"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>
}
}
{
"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 correspondiente: NoSQL Cloud Service, Oracle ObjectStorage y Oracle Autonomous Data Warehouse.
Tabla - Parámetros comunes para todas las secciones
Nombre de parámetro | Detalles del parámetro |
---|---|
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 de base de datos).
|
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 en el 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:
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 instancia de Autonomous Database alojada en ADW la necesita. |
compartimento |
nosqlstore (opcional) objectstore (opcional) |
|
credentials |
nosqlstore (opcional) objectstore (opcional) base de datos (necesario) |
La entrada de credenciales es necesaria en la sección de base de datos en todas las circunstancias. Es necesario en las secciones nosqlstore y objectstore en una o más de las siguientes circunstancias:
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. |
credentialsProfile |
nosqlstore (opcional) objectstore (opcional) base de datos (opcional) |
La entrada credentialsProfile es opcional en cada sección e, incluso si se especifica, solo se aplica 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; donde cada nombre hace referencia al nombre de una tabla en NoSQL Database Cloud Service cuyo contenido se debe recuperar y copiar en Autonomous Data Warehouse. |
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 de enteros separados por comas; 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; donde 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% 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 utilizando 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. Y, 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 enteros positivos; donde cada entero representa el número de milisegundos permitidos para que cada solicitud de recuperación de datos se complete 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 subconjunto de las tablas, el valor por defecto de 5000 se asignará a las tablas restantes. |
bucket | objectstore (necesario) | La entrada del 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 al copiarlos en el almacenamiento de objetos. El valor especificado para esta entrada debe ser uno de los siguientes:
Note: Si no se especifica la entrada de compresión, se realizará la compresión snappy. |
databaseName | base de datos (necesario) | La entrada dabaseName es necesaria y se debe especificar en la sección de base de datos. Esta entrada es una cadena cuyo valor es el nombre de la base de datos creada en Oracle Autonomous Data Warehouse Cloud Service. |
databaseUser | 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 instancia de Autonomous Database especificada en la entrada dabaseName. Si esta entrada no está especificada, se le solicitará en la línea de comando que proporcione el valor. |
databaseWallet | 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 Autonomous Database especificada en la entrada databaseUser del archivo de configuración.
|
abortOnError | Opcional | Especifica la acción que se debe realizar al enfrentar un error. El valor por defecto es verdadero. |
Note:
Cada entrada del archivo de configuración se puede sustituir en la línea de comandos estableciendo una propiedad del sistema con el nombre del formulario, section.entry, por ejemplo, -Dnosqlstore.table=tableName1,tableName3
. Si una entrada no se encuentra dentro de una sección, el nombre que se utilizará para dicha propiedad es simplemente el nombre de la propia entrada; por ejemplo, -DabortOnError=false.
Esta función puede ser útil al probar o escribir scripts que ejecuten la utilidad a intervalos regulares.
Especificando información de configuración en el archivo de credenciales:
Oracle Cloud Infrastructure necesita información básica de configuración, como credenciales de usuario, OCID de arrendamiento, etc., que se puede especificar en el archivo de configuración. La ubicación por defecto de este archivo de configuración es ~/.oci. Puede especificar varios juegos de credenciales de usuario en este archivo de configuración.
[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>
Note:
En el archivo de configuración anterior, hay tres entradas independientes para nosql-db-user, objectstorage-user y adw-user. Esto 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.Tabla - Parámetros en archivo de credenciales
Nombre de parámetro | Detalles del parámetro |
---|---|
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 del archivo que contiene la clave privada para el usuario por defecto |
arrendamiento | El 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 Autonomous Database |
dbmsCredentialName |
Éste es el nombre de la credencial que utilizará la base de datos de ADW para autenticarse con Object Storage; que es el nombre |
Ejecución de la herramienta
- Navegue hasta el directorio nosqlanalytics en el directorio de instalación
(/home/opc/nosqlanalytics-<version>)
.cd /home/opc/nosqlanalytics-1.0.1/nosqlanalytics
- Llame a la utilidad con el siguiente comando. El archivo de configuración
oci-nosqlanalytics-config.json
está presente en el directorio.oci
dentro del directorio raíz.java -Djava.util.logging.config.file=./src/main/resources/logging/java-util-logging.properties -Dlog4j.configurationFile=file:./src/main/resources/logging/log4j2-analytics.properties -jar ./lib/nosqlanalytics-1.0.1.jar -config ~/.oci/oci-nosqlanalytics-config.json
Note:
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
java.util.logging
y otro para los registradores basados en Log4j2
.
Note:
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. Pero si desea ver una salida detallada de los distintos componentes que utiliza la utilidad, debe aumentar los niveles de registro de los registradores específicos cuyo comportamiento desea analizar.