Я пытаюсь получить объемные данные из таблицы Oracle NoSQL, используя класс Java.
//Connection part omitted
public static void main(String args[]) {
try {
LoadBulkData runLoader = new LoadBulkData();
runLoader.run();
} catch (Exception e) {
System.err.print("Error: " + e.getMessage());
}
}
void run() {
Integer[] myId = {100,101};
List keys =
new ArrayList(myId.length);
TableAPI tableAPI = store.getTableAPI();
Table myTable = tableAPI.getTable(tableName);
if (myTable == null) {
throw new IllegalArgumentException("Table not found: " + tableName);
}
for (Integer id : myId) {
PrimaryKey pk = myTable.createPrimaryKey();
pk.put("UID", id);
keys.add(pk);
}
FieldRange range = myTable.createFieldRange("myId");
range.setStart(100d, true).setEnd(500d, true);
MultiRowOptions mro = new MultiRowOptions(range, null, null);
int batchResultsSize = 200;
int parallalism = 9;
TableIteratorOptions tio =
new TableIteratorOptions(Direction.UNORDERED ,
null ,
0 ,
null,
parallalism,
batchResultsSize);
TableIterator itr = null;
int count = 0;
try {
itr = tableAPI.tableIterator(keys.iterator(), mro, tio);
while (itr.hasNext()) {
Row myRow = (Row) itr.next();
System.out.println(myRow.toJsonString(false));
count++;
/* ... */
}
System.out.println(count + " rows to print.");
} catch (StoreIteratorException sie) {
} finally {
if (itr != null) {
itr.close();
}
}
}
}
ниже приведена структура таблицы
->show table -name SampleTable
{
"json_version" : 1,
"type" : "table",
"name" : "SampleTable",
"owner" : "root(id:u1)",
"shardKey" : [ "myId" ],
"primaryKey" : [ "myId" ],
"fields" : [ {
"name" : "myId",
"type" : "INTEGER",
"nullable" : false,
"default" : null
}, {
"name" : "myString",
"type" : "STRING",
"nullable" : true,
"default" : null
} ]
}
Во время выполнения этого я получаю ниже Ошибка: -
Тип не может создать Double: класс oracle.kv.impl.api.table.IntegerDefImpl
Может кто-нибудь помочь, пожалуйста? Я новичок в NoSQL и заранее большое спасибо.