Oracle NoSQL Database Analytics-Integrator ausführen
Konfigurationsdatei für den Integrator erstellen
Bevor Sie Oracle NoSQL Database Analytics Integrator ausführen können, müssen Sie zunächst eine Konfigurationsdatei erstellen. Diese Konfigurationsdatei wird beim Aufrufen des Utilitys verwendet. Die Konfigurationsdatei muss die Einträge im JSON-Format aufweisen, wie in den folgenden Beispielen dargestellt. Im Folgenden finden Sie nur zwei Beispielkonfigurationsdateien. Nicht alle unten verwendeten Parameter sind erforderlich. In der folgenden Tabelle werden alle im Beispiel verwendeten Parameter erläutert und hervorgehoben, ob sie optional oder erforderlich sind.
{
"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
}
Die Konfiguration ist in drei Abschnitte unterteilt: nosqlstore, objectstore und database, deren Einträge zur Angabe der Interaktion des Utilitys mit den einzelnen Cloud-Services verwendet werden: NoSQL Cloud Service, Oracle ObjectStorage und Oracle Autonomous Data Warehouse.
Tabelle - Allgemeine Parameter für alle Abschnitte
Parametername | Details des Parameters |
---|---|
type | Derzeit kann dieser Parameter einen der drei Werte annehmen: nosqldb_cloud (für den nosqlstore-Abschnitt), object_storage_oci (für den Objectstore-Abschnitt) und database_cloud (für den Datenbankabschnitt).
|
endpoint | Der Wert dieses Eintrags muss auf die Region gesetzt werden, in der sich die zugehörige Ressource befindet. Der für diesen Eintrag angegebene Wert kann entweder der API-Endpunkt der Region oder die Regions-ID für die Ressource sein. Beispiel: Wenn sich jede Ressource in der Region "US East (Ashburn)" befindet, kann der Endpunkteintrag in jedem Abschnitt entweder mit der Regions-ID ("us-ashburn-1") oder dem API-Endpunkt der Region für den gewünschten Service angegeben werden. |
Tabelle - Parameter in der Konfigurationsdatei
Parametername | Angegebener Abschnitt | Details zum Bereich |
---|---|---|
useInstancePrincipal |
nosqlstore (optional) Objektspeicher (optional) |
Der Eintrag useInstancePrincipal kann als boolescher Wert "true" angegeben werden, wenn die folgenden Bedingungen erfüllt sind:
Wenn für den Eintrag useInstancePrincipal "true" angegeben ist und der Zugangsdateneintrag ebenfalls angegeben ist, hat der Zugangsdateneintrag Vorrang, und die in dem Wert dieses Eintrags referenzierten Benutzerzugangsdaten werden für die Interaktion mit der verknüpften Ressource verwendet.
Hinweis: Benutzerzugangsdaten müssen im Datenbankabschnitt angegeben werden, weil Autonomous Database, das in ADW gehostet wird, dies erfordert. |
Compartment |
nosqlstore (optional) Objektspeicher (optional) |
|
credentials |
nosqlstore (optional) Objektspeicher (optional) Datenbank (erforderlich) |
Der Zugangsdateneintrag ist unter allen Umständen im Datenbankabschnitt erforderlich. Sie ist in den Abschnitten "nosqlstore" und "objectstore" in mindestens einem der folgenden Umstände erforderlich:
Der für diesen Eintrag angegebene Wert muss eine Datei im lokalen Dateisystem referenzieren, die Benutzerzugangsdaten angibt, mit denen eine sichere Interaktion mit der verknüpften Ressource möglich ist. |
credentialsProfile |
nosqlstore (optional) Objektspeicher (optional) Datenbank (optional) |
Der Eintrag credentialsProfile ist in jedem Abschnitt optional. Selbst wenn er angegeben ist, gilt er nur, wenn auch ein entsprechender Zugangsdateneintrag angegeben ist. |
Tabelle | nosqlstore(Erforderlich) |
Der Tabelleneintrag ist erforderlich und muss im nosqlstore-Abschnitt angegeben werden. Der Wert dieses Eintrags ist eine Zeichenfolge, die aus einer durch Komma getrennten Liste von Namen besteht. Dabei referenziert jeder Name den Namen einer Tabelle im NoSQL Database Cloud-Service, deren Inhalt abgerufen und in Autonomous Data Warehouse kopiert werden soll. |
readUnitsPercent | nosqlstore (optional) |
Der Eintrag readUnitsPercent ist optional und gilt nur im nosqlstore-Abschnitt. Der Wert dieses Eintrags ist eine Zeichenfolge, die aus einer kommagetrennten Liste von Ganzzahlen besteht; zwischen 1 und 100, was den Prozentsatz der Leseeinheiten darstellt, die beim Abrufen von Daten aus der entsprechenden Tabelle konsumiert werden können. Mit diesem Eintrag können Sie für jede der Tabellen, auf die im Tabelleneintrag verwiesen wird, unterschiedliche Prozentsätze für Leseeinheiten angeben. Dabei entspricht der erste Prozentsatz in der Liste der ersten Tabelle, der zweite Prozentsatz der zweiten Tabelle usw. Die Anzahl der Prozentsätze in dieser Liste muss nicht mit der Anzahl der Tabellen in der Tabellenliste übereinstimmen. Ein Standardwert von 90 Prozent wird jeder Tabelle in der Tabellenliste zugewiesen, die keinen entsprechenden Prozentsatz in dieser Liste aufweist. Beispiel: Angenommen, vier Tabellennamen werden im Tabelleneintrag angegeben, der Eintrag readUnitsPercent wird jedoch auf den Wert "50,80" gesetzt. In diesem Fall werden Daten aus der ersten Tabelle mit 50 Prozent der verfügbaren Leseeinheiten abgerufen, während 80 Prozent der Leseeinheiten beim Abrufen von Daten aus der zweiten Tabelle verwendet werden. Und schließlich werden für die beiden verbleibenden Tabellen 90 Prozent der Leseeinheiten (Standard) beim Abrufen der Daten aus jeder dieser Tabellen verwendet. |
requestTimeoutMs | nosqlstore (optional) |
Der Eintrag requestTimeoutMs ist optional und gilt nur im nosqlstore-Abschnitt. Der Wert dieses Eintrags ist eine Zeichenfolge, die aus einer durch Komma getrennten Liste positiver Ganzzahlen besteht. Dabei steht jede Ganzzahl für die Anzahl der Millisekunden, die für jede Datenabrufanforderung für die entsprechende Tabelle zulässig ist. Mit diesem Eintrag können Sie verschiedene Timeoutwerte für jede der Tabellen angeben, die im Tabelleneintrag referenziert werden. Wenn dieser Eintrag nicht angegeben ist oder wenn dieser Eintrag einen Timeout für nur eine Teilmenge der Tabellen angibt, wird den verbleibenden Tabellen der Standardwert 5000 zugewiesen. |
bucket | Objektspeicher (erforderlich) | Der Bucket-Eintrag ist erforderlich und muss im Objektspeicherabschnitt angegeben werden. Der Wert dieses Eintrags ist eine Zeichenfolge, die den Namen des OCI Object Storage-Buckets darstellt, in den das Utility die aus den NoSQL-Tabellen abgerufenen Daten kopiert. |
Komprimierung | Objektspeicher (optional) |
Der Komprimierungseintrag ist optional und gilt nur im Objektspeicherbereich. Der für diesen Eintrag angegebene Wert ist eine Zeichenfolge, die angibt, wie die Daten aus den Tabellen abgerufen werden, die im nosqlstore angegeben sind. Wenn dies festgelegt ist, werden die Tabellendaten beim Kopieren in den Objektspeicher komprimiert. Der für diesen Eintrag angegebene Wert muss einer der folgenden sein:
Hinweis: Wenn der Komprimierungseintrag nicht angegeben ist, wird die Snappy-Komprimierung ausgeführt. |
databaseName | Datenbank (erforderlich) | Der Eintrag dabaseName ist erforderlich und muss im Datenbankabschnitt angegeben werden. Dieser Eintrag ist eine Zeichenfolge, deren Wert dem Namen der Datenbank entspricht, die in Oracle Autonomous Data Warehouse Cloud Service erstellt wurde. |
databaseUser | Datenbank (optional) |
Der Eintrag databaseUser ist optional und muss im Datenbankabschnitt angegeben werden. Dieser Eintrag ist eine Zeichenfolge, deren Wert dem Namen des Benutzeraccounts in Autonomous Database entspricht, der im Eintrag dabaseName angegeben wird. Wenn dieser Eintrag nicht angegeben wird, werden Sie in der Befehlszeile aufgefordert, den Wert anzugeben. |
databaseWallet | Datenbank (erforderlich) | Der Eintrag databaseWallet ist erforderlich und muss im Datenbankabschnitt angegeben werden. Dieser Eintrag ist eine Zeichenfolge, deren Wert der Dateisystempfad zu dem Verzeichnis ist, das den Inhalt des aus dem Autonomous Database-Benutzeraccount heruntergeladenen Oracle Wallet enthält, der im Eintrag databaseUser in der Konfigurationsdatei angegeben ist.
|
abortOnError | Optional | Gibt die Aktion an, die ausgeführt werden soll, wenn ein Fehler auftritt. Der Standardwert ist True. |
Hinweis:
Jeder Eintrag in der Konfigurationsdatei kann in der Befehlszeile überschrieben werden, indem eine Systemeigenschaft mit dem Namen der Form, section.entry, gesetzt wird. Beispiel: -Dnosqlstore.table=tableName1,tableName3
. Wenn sich ein Eintrag nicht in einem Abschnitt befindet, ist der Name, der für eine solche Eigenschaft verwendet werden soll, einfach der Name des Eintrags selbst. Beispiel: -DabortOnError=false.
Diese Funktion kann nützlich sein, wenn Sie Skripte testen oder schreiben, die das Dienstprogramm in regelmäßigen Abständen ausführen.
Konfigurationsinformationen werden in der Zugangsdatendatei angegeben:
Oracle Cloud Infrastructure erfordert grundlegende Konfigurationsinformationen, wie Benutzerzugangsdaten, Mandanten-OCID usw., die in der Konfigurationsdatei angegeben werden können. Der Standardspeicherort für diese Konfigurationsdatei ist ~/.oci. Sie können mehrere Gruppen von Benutzerzugangsdaten in dieser Konfigurationsdatei angeben.
[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>
Hinweis:
In der obigen Konfigurationsdatei gibt es drei separate Einträge für nosql-db-user, objectstorage-user und adw-user. Dies ist nicht obligatorisch, und eine Konfigurationsdatei kann nur mit einem DEFAULT-Profil vorhanden sein. Es empfiehlt sich jedoch, separate Profile zu verwenden, anstatt alle Parameter im DEFAULT-Profil zu kombinieren.Tabelle - Parameter in Zugangsdatendatei
Parametername | Details des Parameters |
---|---|
user | Die OCID des Benutzers |
Fingerprint | Eine kurze Abfolge von Byte, mit der ein längerer Public Key für den Standardbenutzer identifiziert wird |
Schlüsseldatei | Der Pfad/Dateiname der Datei, die den Private Key für den Standardbenutzer enthält |
Mandant | Die OCID des Mandanten |
Regionen | Der Endpunkt der Region |
Compartment | Compartment-Name oder OCID des Compartments des Standardbenutzers |
dbmsOcid | OCID von Autonomous Database |
dbmsCredentialName |
Dies ist der Name der Zugangsdaten, mit denen sich die ADW-Datenbank bei Object Storage authentifiziert. Dies ist entweder der Name |
Tool ausführen
- Navigieren Sie zum Verzeichnis nosqlanalytics unter dem Installationsverzeichnis
(/home/opc/nosqlanalytics-<version>)
.cd /home/opc/nosqlanalytics-1.0.1/nosqlanalytics
- Rufen Sie das Utility mit dem folgenden Befehl auf. Die Konfigurationsdatei
oci-nosqlanalytics-config.json
ist im Verzeichnis.oci
im Home-Verzeichnis vorhanden.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
Hinweis:
Die Systemeigenschaften, mit denen die während der Ausführung verwendeten Logger konfiguriert werden, sind optional. Wenn diese Systemeigenschaften nicht angegeben sind, erzeugt das Dienstprogramm keine Protokollausgabe.Logging
java.util.logging
und einen für Logger basierend auf Log4j2
.
Hinweis:
Standardmäßig sind die Logger-Konfigurationsdateien, die mit dem Utility bereitgestellt werden, so konzipiert, dass sie bei der Ausführung des Utilitys eine minimale Ausgabe erzeugen. Wenn Sie jedoch eine ausführliche Ausgabe der verschiedenen Komponenten anzeigen möchten, die vom Utility verwendet werden, sollten Sie die Logging-Ebenen der spezifischen Logger erhöhen, deren Verhalten Sie analysieren möchten.Oracle NoSQL Database Analytics-Integrator ausführen