Действует ли локальный индекс Apache Phoenix сразу после апсерта? - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть таблица, созданная с локальным индексом, а затем вставьте некоторые записи с помощью пакетного обновления jdbc в соответствии с этим документом о разделе «Написание», наконец, я пытаюсь получить записи, созданные мною через sqlline.py, но я могуне получите результаты.

  1. создать таблицу с локальным индексом

    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);

  2. 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 }

  3. запросить запись через sqlline.py или jdbc api

    select * from test_table where md5='138fde2b1c2a5bb7c6f7effebeedab76'

но строк не найдено, мой вопрос заключается в том, что локальный индекс не действует сразу после загрузки в том же потоке Java?

Среда: phoenix 5.0.0-HBASE-2.0 HBASE 2.0.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...