运行 Oracle NoSQL Database Analytics Integrator
为集成器创建配置文件
必须先创建配置文件,然后才能执行 Oracle NoSQL Database Analytics Integrator。调用实用程序时将使用此配置文件。配置文件应具有 JSON 格式的条目,如下例所示。以下是两个示例配置文件。并非下面使用的所有参数都是必需的。下表说明示例中使用的每个参数,并突出显示它是可选的还是必需的。
{
"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
}
配置分为三个部分 - nosqlstore、对象存储和数据库,其条目用于指定实用程序如何与各个云服务交互:NoSQL Cloud Service、Oracle ObjectStorage 和 Oracle Autonomous Data Warehouse。
表 - 所有部分的公用参数
参数名称 | 参数的详细信息 |
---|---|
类型 | 当前,此参数可以采用以下三个值之一:nosqldb_cloud (用于 nosqlstore 部分)、object_storage_oci (用于对象存储部分)和 database_cloud (用于数据库部分)。
|
endpoint | 此条目的值必须设置为关联资源所在的区域。为此条目指定的值可以是区域的 API 端点或资源的区域标识符。例如,如果每个资源位于美国东部 (Ashburn) 区域,则可以使用区域的标识符 ("US-ashburn-1") 或区域的 API 端点为所需服务指定每个部分中的端点条目。 |
表 - 配置文件中的参数
参数名称 | 指定的部分 | 本节的详细信息 |
---|---|---|
useInstancePrincipal |
nosqlstore(可选) 对象存储(可选) |
如果满足以下条件,则可以将 useInstancePrincipal 条目指定为布尔值 true:
如果为 useInstancePrincipal 条目指定了 true,并且还指定了凭证条目,则凭证条目优先,该条目值中引用的用户凭证将用于与关联的资源交互。
注意: 必须在数据库部分中指定用户身份证明,因为 ADW 中托管的 Autonomous Database 需要它。 |
区间 |
nosqlstore(可选) 对象存储(可选) |
|
Credential (身份证明) |
nosqlstore(可选) 对象存储(可选) 数据库(必需) |
在所有情况下,数据库部分都需要身份证明条目。在以下一种或多种情况下,nosqlstore 和 objectstore 部分中需要它:
为此条目指定的值必须引用本地文件系统上的文件,该文件指定可用于与关联资源安全交互的用户凭证。 |
credentialsProfile |
nosqlstore(可选) 对象存储(可选) 数据库(可选) |
credentialsProfile 条目在每个部分中是可选的,即使已指定,也仅在指定了相应的凭证条目时适用。 |
table (表) | nosqlstore(必需) |
表条目是必需的,必须在 nosqlstore 部分中指定。此项的值是由逗号分隔的名称列表组成的字符串;其中每个名称引用 NoSQL Database Cloud Service 中应检索其内容并将其复制到 Autonomous Data Warehouse 中的表的名称。 |
readUnitsPercent | nosqlstore(可选) |
readUnitsPercent 条目是可选的,仅适用于 nosqlstore 部分。此项的值是由逗号分隔的整数列表组成的字符串;介于 1 和 100 之间,表示从相应表中检索数据时可以使用的读取单位百分比。 使用此条目可以为表条目中引用的每个表指定不同的读取单位百分比;其中,列表中的第一个百分比对应于表列表中的第一个表,第二个百分比对应于第二个表,依此类推。不要求此列表中的百分比数等于表列表中的表数。默认值 90% 将分配给此列表中没有相应百分比的表列表中的任何表。 例如,假设在表条目中指定了四个表名,但 readUnitsPercent 条目设置为值 "50,80"。在这种情况下,将使用 50% 的可用读取单位检索第一个表中的数据,而从第二个表中检索数据时将使用 80% 的读取单位。最后,对于其余两个表,从每个表中检索数据时将使用 90% 的读取单位(默认值)。 |
requestTimeoutMs | nosqlstore(可选) |
requestTimeoutMs 条目是可选的,仅适用于 nosqlstore 部分。此项的值是由逗号分隔的 positive 整数列表组成的字符串;其中每个整数表示允许每个数据检索请求为相应表完成的毫秒数。 使用此条目可以为表条目中引用的每个表指定不同的超时值。如果未指定此条目,或者如果此条目仅为表子集指定超时,则会将默认值 5000 分配给其余表。 |
存储桶 | objectstore(必需) | 存储桶条目是必需的,必须在对象存储部分中指定。此项的值是表示 OCI 对象存储存储桶名称的字符串,实用程序会将从 NoSQL 表中检索的数据复制到该存储桶中。 |
压缩 | 对象存储(可选) |
压缩条目是可选的,仅适用于对象存储部分。为此条目指定的值是一个字符串,表示如何从 nosqlstore 中指定的表中检索数据。如果设置了此项,则在复制到对象存储时会压缩表数据。为此条目指定的值必须是下列值之一:
注意: 如果未指定压缩条目,则将执行 snappy 压缩。 |
databaseName | 数据库(必需) | dabaseName 条目是必需的,必须在数据库部分中指定。此条目是一个字符串,其值为 Oracle Autonomous Data Warehouse Cloud Service 中创建的数据库的名称。 |
databaseUser | 数据库(可选) |
databaseUser 条目是可选的,应在数据库部分中指定。此条目是一个字符串,其值为 dabaseName 条目中指定的 Autonomous Database 中用户帐户的名称。如果未指定此条目,则会在命令行中提示您提供该值。 |
databaseWallet | 数据库(必需) | databaseWallet 条目是必需的,必须在数据库部分中指定。此条目是一个字符串,其值是从配置文件的 databaseUser 条目中指定的 Autonomous Database 用户帐户下载的包含 Oracle Wallet 内容的目录的文件系统路径。
|
abortOnError | 可选 | 指定在遇到错误时要执行的操作。默认值为 "true"。 |
注意:
通过使用格式 section.entry (例如 -Dnosqlstore.table=tableName1,tableName3
)设置系统属性,可以在命令行上覆盖配置文件中的每个条目。如果某个条目不在节内,则用于此类属性的名称只是该条目本身的名称;例如 -DabortOnError=false.
在测试或编写定期运行实用程序的脚本时,此功能可能非常有用。
在凭证文件中指定配置信息:
Oracle Cloud Infrastructure 需要基本配置信息,例如用户身份证明、租户 OCID 等,这些信息可以在配置文件中指定。此配置文件的默认位置为 ~/.oci。您可以在此配置文件中指定多组用户凭证。
[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>
注意:
在上面的配置文件中,nosql-db-user、objectstorage-user 和 adw-user 有三个单独的条目。这不是必需的,配置文件只能有一个 DEFAULT 配置文件。但是,最好使用单独的配置文件,而不是组合 DEFAULT 配置文件中的所有参数。表 - 身份证明文件中的参数
参数名称 | 参数的详细信息 |
---|---|
用户 | 用户的 OCID |
指纹 | 用于为默认用户标识较长公钥的短字节序列 |
密钥文件 | 包含默认用户的私钥的文件的路径/文件名 |
租户 | 租户的 OCID |
区域 | 区域端点 |
区间 | 默认用户的区间名称或 OCID |
dbmsOcid | Autonomous Database 的 OCID |
dbmsCredentialName |
这是 ADW 数据库用于通过对象存储进行验证的身份证明的名称;名称为 |
运行此工具
- 导航到安装目录
(/home/opc/nosqlanalytics-<version>)
下的目录 nosqlanalytics 。cd /home/opc/nosqlanalytics-1.0.1/nosqlanalytics
- 使用以下命令调用实用程序。配置文件
oci-nosqlanalytics-config.json
存在于起始目录内的.oci
目录下。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
注意:
配置执行期间使用的日志记录程序的系统属性是可选的。如果未指定这些系统属性,则实用程序将不生成日志记录输出。日志记录
java.util.logging
配置日志记录机制,另一个用于基于 Log4j2
的日志记录程序。
注意:
默认情况下,随实用程序提供的记录程序配置文件设计为在实用程序执行时生成最少的输出。但是,如果您希望查看实用程序使用的各种组件的详细输出,则应提高要分析其行为的特定记录器的日志记录级别。