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/psql.py 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/psql.py script. In that way, you'll get some feel for importing data as well as querying it.

Thanks,
James

[1] http://phoenix.incubator.apache.org/faq.html





On Tue, Mar 18, 2014 at 9:36 AM, Weiping Qu <[email protected] <mailto:[email protected]>> 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) informatik.uni-kl.de
Phone: +49 631 205 3264
Fax: +49 631 205 3299
Room: 36/331

Reply via email to