Exécution de l'intégrateur d'analyses d'Oracle NoSQL Database
Créer un fichier de configuration pour l'intégrateur
Avant de pouvoir exécuter l'intégrateur d'analyses d'Oracle NoSQL Database, vous devez créer un fichier de configuration. Ce fichier de configuration sera utilisé lors de l'appel de l'utilitaire. Le fichier de configuration doit contenir les entrées au format JSON, comme illustré dans les exemples ci-dessous. Ce qui suit ne sont que deux exemples de fichiers de configuration. Les paramètres utilisés ci-dessous ne sont pas tous requis. Le tableau ci-dessous explique chaque paramètre utilisé dans l'exemple et met en évidence s'il est facultatif ou obligatoire.
{
"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 configuration est divisée en trois sections - nosqlstore, objectstore et database - dont les entrées sont utilisées pour spécifier comment l'utilitaire interagit avec chaque service en nuage respectif : NoSQL Cloud Service, Oracle ObjectStorage et Oracle Autonomous Data Warehouse.
Table - Paramètres communs pour toutes les sections
Nom du paramètre | Détails du paramètre |
---|---|
type | Actuellement, ce paramètre peut prendre l'une des trois valeurs suivantes : nosqldb_cloud (pour la section nosqlstore), object_storage_oci (pour la section objectstore) et database_cloud (pour la section database).
|
point d'extrémité | La valeur de cette entrée doit être réglée à la région dans laquelle se trouve la ressource associée. La valeur spécifiée pour cette entrée peut être le point d'extrémité d'API de la région ou l'identificateur de région de la ressource. Par exemple, si chaque ressource est située dans la région Est des États-Unis (Ashburn), l'entrée de point d'extrémité de chaque section peut être spécifiée à l'aide de l'identificateur de la région ("US-ashburn-1") ou du point d'extrémité d'API de la région pour le service souhaité. |
Table - Paramètres du fichier de configuration
Nom de paramètre | Section spécifiée | Détails de la section |
---|---|---|
useInstancePrincipal |
nosqlstore(Facultatif) magasin d'objets (facultatif) |
L'entrée useInstancePrincipal peut être spécifiée en tant que valeur booléenne Vrai si les conditions suivantes sont remplies :
Si Vrai est spécifié pour l'entrée useInstancePrincipal et que l'entrée de données d'identification est également spécifiée, l'entrée de données d'identification a préséance et les données d'identification d'utilisateur référencées dans la valeur de cette entrée seront utilisées pour interagir avec la ressource associée.
Note : Les données d'identification d'utilisateur doivent être spécifiées dans la section de base de données, car Autonomous Database hébergé dans ADW l'exige. |
compartiment |
nosqlstore(Facultatif) magasin d'objets (facultatif) |
|
credentials |
nosqlstore(Facultatif) magasin d'objets (facultatif) base de données(Obligatoire) |
L'entrée des données d'identification est requise dans la section de base de données en toutes circonstances. Elle est requise dans les sections nosqlstore et objectstore dans une ou plusieurs des circonstances suivantes :
La valeur spécifiée pour cette entrée doit référencer un fichier dans le système de fichiers local qui spécifie les données d'identification de l'utilisateur pouvant être utilisées pour interagir en toute sécurité avec la ressource associée. |
credentialsProfile |
nosqlstore(Facultatif) magasin d'objets (facultatif) base de données (Facultatif) |
L'entrée credentialsProfile est facultative dans chaque section et, même si elle est spécifiée, s'applique uniquement lorsqu'une entrée de données d'identification correspondante est également spécifiée. |
table | nosqlstore(Obligatoire) |
L'entrée de table est obligatoire et doit être spécifiée dans la section nosqlstore. La valeur de cette entrée est une chaîne composée d'une liste de noms séparés par des virgules, où chaque nom référence le nom d'une table dans le service NoSQL Database Cloud dont le contenu doit être extrait et copié dans la base de données Autonomous Data Warehouse. |
readUnitsPercent | nosqlstore(Facultatif) |
L'entrée readUnitsPercent est facultative et s'applique uniquement à la section nosqlstore. La valeur de cette entrée est une chaîne composée d'une liste d'entiers séparés par des virgules, comprise entre 1 et 100, représentant le pourcentage d'unités de lecture pouvant être consommées lors de l'extraction de données de la table correspondante. Cette entrée vous permet de spécifier des pourcentages d'unités de lecture différents pour chacune des tables référencées dans l'entrée de table; où le premier pourcentage de la liste correspond à la première table de la liste de tables, le deuxième pourcentage correspond à la deuxième table, etc. Il n'est pas nécessaire que le nombre de pourcentages de cette liste soit égal au nombre de tables de la liste. Une valeur par défaut de 90 % sera affectée à toute table de la liste des tables qui n'a pas de pourcentage correspondant dans cette liste. Par exemple, supposons que quatre noms de table soient spécifiés dans l'entrée de table, mais que l'entrée readUnitsPercent soit réglée à la valeur "50,80". Dans ce cas, les données de la première table seront extraites à l'aide de 50 % des unités de lecture disponibles, tandis que 80 % des unités de lecture seront utilisées lors de l'extraction des données de la deuxième table. Enfin, pour les deux autres tables, 90 % des unités de lecture (valeur par défaut) seront utilisées lors de l'extraction des données de chacune de ces tables. |
requestTimeoutMs | nosqlstore(Facultatif) |
L'entrée requestTimeoutMs est facultative et s'applique uniquement à la section nosqlstore. La valeur de cette entrée est une chaîne composée d'une liste d'entiers positifs séparés par des virgules, où chaque entier représente le nombre de millisecondes autorisées pour chaque demande d'extraction de données à terminer pour la table correspondante. Cette entrée vous permet de spécifier différentes valeurs de temporisation pour chacune des tables référencées dans l'entrée de table. Si cette entrée n'est pas précisée ou si elle précise une temporisation pour un sous-ensemble seulement des tables, la valeur par défaut de 5000 sera affectée aux tables restantes. |
bucket | magasin d'objets (obligatoire) | L'entrée de seau est obligatoire et doit être spécifiée dans la section du magasin d'objets. La valeur de cette entrée est une chaîne représentant le nom du seau de stockage d'objets OCI, dans laquelle l'utilitaire copie les données extraites des tables NoSQL. |
compression | magasin d'objets (facultatif) |
L'entrée de compression est facultative et s'applique uniquement à la section Objectstore. La valeur spécifiée pour cette entrée est une chaîne représentant la façon dont les données sont extraites des tables spécifiées dans nosqlstore. Si cette option est définie, les données de la table sont compressées lors de la copie dans le stockage d'objets. La valeur spécifiée pour cette entrée doit être l'une des suivantes :
Note : Si l'entrée de compression n'est pas spécifiée, la compression snappy est effectuée. |
databaseName | base de données(Obligatoire) | L'entrée dabaseName est requise et doit être spécifiée dans la section de base de données. Cette entrée est une chaîne dont la valeur est le nom de la base de données créée dans le service Oracle Autonomous Data Warehouse Cloud. |
databaseUser | base de données (Facultatif) |
L'entrée databaseUser est facultative et doit être spécifiée dans la section de base de données. Cette entrée est une chaîne dont la valeur est le nom du compte d'utilisateur dans Autonomous Database spécifié dans l'entrée dabaseName. Si cette entrée n'est pas spécifiée, vous serez invité dans la ligne de commande à fournir la valeur. |
databaseWallet | base de données(Obligatoire) | L'entrée databaseWallet est requise et doit être spécifiée dans la section de base de données. Cette entrée est une chaîne dont la valeur est le chemin du système de fichiers vers le répertoire contenant le contenu du portefeuille Oracle Wallet téléchargé à partir du compte d'utilisateur Autonomous Database spécifié dans l'entrée databaseUser du fichier de configuration.
|
abortOnError | Facultatif | Indique l'action à entreprendre pour faire face à une erreur. La valeur par défaut est true. |
Note :
Chaque entrée du fichier de configuration peut être remplacée sur la ligne de commande en définissant une propriété de système avec le nom du formulaire, section.entry par exemple, -Dnosqlstore.table=tableName1,tableName3
. Si une entrée n'est pas située dans une section, le nom à utiliser pour une telle propriété est simplement le nom de l'entrée elle-même; par exemple, -DabortOnError=false.
Cette fonction peut être utile lors du test ou de l'écriture de scripts qui exécutent l'utilitaire à intervalles réguliers.
Spécification des informations de configuration dans le fichier de données d'identification :
Oracle Cloud Infrastructure nécessite des informations de configuration de base, telles que les données d'identification d'utilisateur, l'OCID de la location, etc., qui peuvent être spécifiées dans le fichier de configuration. L'emplacement par défaut de ce fichier de configuration est ~/.oci. Vous pouvez spécifier plusieurs jeux de données d'identification d'utilisateur dans ce fichier de configuration.
[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 :
Dans le fichier de configuration ci-dessus, il existe trois entrées distinctes pour nosql-db-user, objectstorage-user et adw-user. Ce n'est pas obligatoire et un fichier de configuration ne peut exister qu'avec un seul profil DEFAULT. Cependant, avoir des profils distincts est une bonne pratique plutôt que de combiner tous les paramètres du profil DEFAULT.Table - Paramètres du fichier de données d'identification
Nom du paramètre | Détails du paramètre |
---|---|
user | OCID de l'utilisateur |
Empreinte numérique | Séquence courte d'octets utilisée pour identifier une clé publique plus longue pour l'utilisateur par défaut |
fichier de clés | Chemin/nom de fichier du fichier contenant la clé privée de l'utilisateur par défaut |
location | OCID de la location |
régions | Point d'extrémité de la région |
compartiment | nom ou OCID du compartiment de l'utilisateur par défaut |
dbmsOcid | OCID de la base de données Autonomous Database |
dbmsCredentialName |
Il s'agit du nom des données d'identification que la base de données ADW utilisera pour s'authentifier auprès du stockage d'objets. Il s'agit du nom |
Exécution de l'outil
- Naviguez jusqu'au répertoire nosqlanalytics sous le répertoire d'installation
(/home/opc/nosqlanalytics-<version>)
.cd /home/opc/nosqlanalytics-1.0.1/nosqlanalytics
- Appelez l'utilitaire à l'aide de la commande suivante. Le fichier de configuration
oci-nosqlanalytics-config.json
est présent sous le répertoire.oci
dans le répertoire de base.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 :
Les propriétés système qui configurent les enregistreurs de journal utilisés lors de l'exécution sont facultatives. Si ces propriétés système ne sont pas spécifiées, l'utilitaire ne produira aucune sortie de journalisation.Journalisation
java.util.logging
et l'autre pour les enregistreurs automatiques basés sur Log4j2
.
Note :
Par défaut, les fichiers de configuration de l'enregistreur automatique fournis avec l'utilitaire sont conçus pour produire une sortie minimale lors de l'exécution de l'utilitaire. Mais si vous souhaitez voir la sortie verbose des différents composants utilisés par l'utilitaire, vous devez augmenter les niveaux de journalisation des enregistreurs spécifiques dont vous souhaitez analyser le comportement.Exécution de l'intégrateur d'analyses d'Oracle NoSQL Database