phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <>
Subject Re: performance on created table on existing hbase table
Date Tue, 18 Mar 2014 18:18:49 GMT
Why use Phoenix 1.2.1? That's pretty ancient. Use our newly release Apache
2.2.3 instead. Tons of bug fixes, better performance, and seamless upgrade
to our pending 3.0 release.

Unless you used a zero byte as a terminator between your row key strings,
or they're fixed length and declared as CHAR(xx), you'll run into issues.
CHAR data type only supports single byte characters too.


On Tue, Mar 18, 2014 at 10:30 AM, Weiping Qu <>wrote:

>  Hi James,
> Thank you for this quick and decent reply.
> I followed one previous discussion found in the web and now I've create a
> phoenix table (with the table name, cf name and column names double quoted)
> on my existing table.
> Now I am able to get data from data. Happy to see LIMIT works there.
> I am using hbase 0.94.4 and phoenix 1.2.1 which TINYINT might not be
> suppored, I guest.
> Apart from that, as your webpage suggests, performance on view is not as
> good as that on created table.
> I'd like to ask what I've created actually  using CREATE TABLE
> "tblname"("cf"."cl"...). A phoenix view on hbase table or simply a new
> phoenix table, cause I didn't find a new table created in hbase.
> As you said, my row key is composite key, but all participants have been
> concatenated as VARCHAR, or java.lang.String as one in my customized MR
> bulk loader.
> I'd like to first to give it a try so far. Hope to see some performance
> improvements compared to yesterday.
> Thanks again,
> Best,
> Weiping
> Hi Weiping,
> Take a look at our FAQ here[1] and in particular, this question "How I
> create Views in Phoenix? What's the difference between Views/Tables?". You
> can map to existing HBase tables, depending on how you formed your row key
> and how you serialized you key value data.
>  We also support bulk loading of CSV files through either our bin/
> script or through map-reduce.
>  Typically, in HBase, you design your table with a composite row key.
> This is supported in Phoenix by defining a primary key constraint with more
> than one column. If you describe your use case here, we can give you advice
> on the most optimal schema. Since it sounds like you're in the evaluation
> phase, I'd recommend creating a new table and trying our bin/
> script. In that way, you'll get some feel for importing data as well as
> querying it.
>  Thanks,
> James
>  [1]
> On Tue, Mar 18, 2014 at 9:36 AM, Weiping Qu <>wrote:
>> Hello,
>> I am new to phoenix.
>> Before getting touch with Phoenix, I used my own customized MapReduce
>> jobs to Bulk load my hbase table (using HFileOutpuFormat), and I found in
>> the web that the scan performance can be improved by using phoenix,
>> especially LIMIT clause is supported by Phoenix query optimizer.
>> So I'd like to try Phoenix for my test.
>> But how can I use phoenix to query my existing table. Do I have to create
>> table on that?
>> Or I have to create a phoenix table, then the question turns to whether I
>> still can use my own MapReduce jobs to populate the phoenix table.
>> In which case, the performance is better?
>> Kindly help me out
>> Thanks
>> Weiping
> --
> Mit freundlichen Grüßen / Kind Regards
> *Weiping Qu*
> University of Kaiserslautern
> Department of Computer Science
> Heterogeneous Information Systems Group
> P.O. Box 3049
> 67653 Kaiserslautern, Germany
> Email: qu (at)
> Phone: +49 631 205 3264
> Fax: +49 631 205 3299
> Room: 36/331

View raw message