Re: How to tell when an insertion has "finished"

2016-07-28 Thread Heather, James (ELS)
I don't really know enough about the low level details to know which replication I was referring to... Let me ask the higher level question: 1. Am I right in thinking that after you insert a large number of rows, the performance of the cluster (and maybe of those rows in particular) will be

Re:

2016-07-28 Thread Mujtaba Chohan
To use pherf-cluster.py script make sure $HBASE_DIR/bin/hbase file is available which is used to construct classpath. Also add the following line to script before java_cmd is executed to make sure *hbasecp* variable contains phoenix jar: print "Classpath used to launch pherf: " + hbasecp Also try

Re: Phoenix Create table timeout

2016-07-28 Thread James Taylor
Yes, a MR option would be great. I filed PHOENIX-3125 for this. Give our MR support, this would be a good initial contribution for someone. Thanks, James On Thu, Jul 28, 2016 at 11:16 AM, Simon Wang wrote: > This isn’t a solution but I have encountered this problem

Re: How to tell when an insertion has "finished"

2016-07-28 Thread James Taylor
That's a good point, Mujtaba. Not sure which replication he meant either. On Thu, Jul 28, 2016 at 4:02 PM, Mujtaba Chohan wrote: > Oh sorry I thought OP was referring to HDFS level replication. > > On Thu, Jul 28, 2016 at 3:48 PM, James Taylor >

Re: How to tell when an insertion has "finished"

2016-07-28 Thread Mujtaba Chohan
Oh sorry I thought OP was referring to HDFS level replication. On Thu, Jul 28, 2016 at 3:48 PM, James Taylor wrote: > I believe you can also measure the depth of the replication queue to know > what's pending. HBase replication is asynchronous, so you're right that >

Re: How to tell when an insertion has "finished"

2016-07-28 Thread James Taylor
I believe you can also measure the depth of the replication queue to know what's pending. HBase replication is asynchronous, so you're right that Phoenix would return while replication may still be occurring. On Thu, Jul 28, 2016 at 12:06 PM, Mujtaba Chohan wrote: > Query

Re: Emulating a true INSERT or UPDATE

2016-07-28 Thread James Taylor
James, Your logic looks correct, assuming that you have the complete row keys in your SELECT statement. FYI, the transaction will start automatically at (2). You can optimize this slightly by just doing a COUNT(*) instead of returning the rows back to the client. For the UPDATE case, you'd throw

Re: Emulating a true INSERT or UPDATE

2016-07-28 Thread Thomas D'Silva
If the table is transactional, you are guaranteed that if there are overlapping transactions that try to commit the same row one will succeed and the others will fail with an exception. There is also an additional cost to doing conflict detection at commit time. On Thu, Jul 28, 2016 at 8:18 AM,

Re: How to tell when an insertion has "finished"

2016-07-28 Thread Mujtaba Chohan
Query running first time would be slower since data is not in HBase cache rather than things being not settled. Replication shouldn't be putting load on cluster which you can check by turning replication off. On HBase side to force things to be optimal before running perf queries is to do a major

Re: Phoenix Create table timeout

2016-07-28 Thread Simon Wang
This isn’t a solution but I have encountered this problem before. It also seemed that the table becomes available in Phoenix even if the creation dies to an error. I am also interested in a workaround! (Maybe a MR job? - Simon > On Jul 28, 2016, at 1:49 AM, Parveen Jain

[no subject]

2016-07-28 Thread Nathan Davis
Hi All, I'm trying to run pherf-cluster.py against an EMR cluster (on the master server). The command I'm using is `HBASE_DIR=/usr/lib/hbase ./pherf-cluster.py -drop all -l -q -z localhost -schemaFile ./config/datamodel/user_defined_schema.sql -scenarioFile

Emulating a true INSERT or UPDATE

2016-07-28 Thread Heather, James (ELS)
What would I need to do in order to emulate an INSERT or UPDATE in Phoenix, as opposed to an UPSERT? Suppose I had a TRANSACTIONAL table. To do an INSERT, I then: 1. Start a transaction 2. SELECT the relevant rows, and throw an error if the SELECT is non-empty 3. UPSERT 4. Commit

How to tell when an insertion has "finished"

2016-07-28 Thread Heather, James (ELS)
If you upsert lots of rows into a table, presumably Phoenix will return as soon as HBase has received the data, but before the data has been replicated? Is there a way to tell when everything has "settled", i.e., when everything has finished replicating or whatever it needs to do? The reason

Phoenix Create table timeout

2016-07-28 Thread Parveen Jain
Hi All, Just starting out with Phoenix and facing issues regarding time out.First Timeout I am getting is while creating table in phoenix which for an existing table in Hbase. My HBase table has almost 100M rows and split across two nodes having two region servers. One server is octa core

List of keywords/Tokens not allowed in Phoenix

2016-07-28 Thread Dharmesh Guna
Dear All, While running below query to create a table I encountered an error. Is there any list of tokens/keywords that we cannot use as column name in Phoenix? CREATE TABLE TTEST (ACTIVE BIGINT PRIMARY KEY, AC VARCHAR); Error Message: Error: Error -1 (0) : Error while executing SQL