阿帕奇凤凰本地指数在升职后是否立即生效?

时间:2018-12-06 07:03:56

标签: phoenix

我有一个用本地索引创建的表,然后根据关于写作部分的document,使用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. 通过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.
    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线程中向上插入后本地索引不会立即生效吗?

环境: 凤凰5.0.0-HBASE-2.0 HBASE 2.0.0

0 个答案:

没有答案