phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mich Talebzadeh <>
Subject Re: Phoenix Secondary index question
Date Wed, 04 Jan 2017 22:03:40 GMT
Phoenix indexes are covering indexes that are physically created in Hbase

To maintain these Phoenix indexes you need to ingest data through Phoenix
as opposed to Hbase. You can of course manually rebuild Phoenix indexes but
that is neither practical or cheap time wise.

You also have the option of org.apache.phoenix.mapreduce.CsvBulkLoadTool to
load data at command level into Hbase via Phoenix skin.


Dr Mich Talebzadeh

LinkedIn *

*Disclaimer:* Use it at your own risk. Any and all responsibility for any
loss, damage or destruction of data or any other property which may arise
from relying on this email's technical content is explicitly disclaimed.
The author will in no case be liable for any monetary damages arising from
such loss, damage or destruction.

On 4 January 2017 at 19:47, Udit Mehta <> wrote:

> Thanks James for the reply.
> Can you also tell me how to go about taking backups/snapshots in Phoenix
> similar to what Hbase has. I assume i cant use the snapshot feature Hbase
> offers for the same reason you cited above.
> Thanks again,
> Udit
> On Tue, Jan 3, 2017 at 5:26 PM, James Taylor <>
> wrote:
>> Hi Udit,
>> You'll need to use Phoenix APIs when you update your data if you want
>> Phoenix to keep you index in sync with your table.
>> Thanks,
>> James
>> On Tue, Jan 3, 2017 at 1:32 PM, Udit Mehta <> wrote:
>>> Hi All,
>>> I am facing an issue while working with secondary indexes on a Phoenix
>>> view/table that is created on top of an existing Hbase table.
>>> I basically have an existing Hbase table with a few rows and I then
>>> build a Phoenix view on this table. This works fine and any updates
>>> directly to the Hbase table are reflected in the Phoenix view. Now the
>>> problem arises the moment I create a secondary index on the phoenix table
>>> and then update the underlying Hbase table. I dont see the updates being
>>> reflected in either of the Phoenix tables ie the original one and the
>>> indexed one.
>>> Is this behavior or am I missing something?
>>> Also is it a good idea to have such a design where we update the Hbase
>>> table directly with a Phoenix table/view created on top of it? We had to
>>> choose this design due to the backup/snapshot features Hbase provides. I
>>> could not find any such mechanism in Phoenix so not sure what the best
>>> approach is here.
>>> Looking forward to your ideas.
>>> Thanks in advance,
>>> Udit

View raw message