У меня есть таблица, созданная с локальным индексом, а затем вставьте некоторые записи с помощью пакетного обновления jdbc в соответствии с этим документом о разделе «Написание», наконец, я пытаюсь получить записи, созданные мною через sqlline.py, но я могуне получите результаты.
создать таблицу с локальным индексом
CREATE TABLE test_table (
id varchar primary key,
fileName varchar,
md5 varchar,
hash varchar,
) SALT_BUCKETS = 5;
CREATE LOCAL INDEX test_table_index_md5 ON kodo_operation_log (md5);
upsert records, хотя jdbc api
try (Connection conn = DriverManager.getConnection(url)) {
conn.setAutoCommit(false);
int batchSize = 0;
int commitSize = 1000; // number of rows you want to commit per
batch.<br>
try (Statement stmt = conn.prepareStatement(upsert)) {
stmt.set ... while (there are records to upsert) {
stmt.executeUpdate();
batchSize++;
if (batchSize % commitSize == 0) {
conn.commit();
}
}
conn.commit(); // commit the last batch of records
// query the record by index field ,but no records found
}
запросить запись через sqlline.py или jdbc api
select * from test_table where md5='138fde2b1c2a5bb7c6f7effebeedab76'
но строк не найдено, мой вопрос заключается в том, что локальный индекс не действует сразу после загрузки в том же потоке Java?
Среда: phoenix 5.0.0-HBASE-2.0 HBASE 2.0.0