Return-Path: Delivered-To: apmail-hadoop-hbase-user-archive@minotaur.apache.org Received: (qmail 73311 invoked from network); 17 Aug 2009 19:24:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Aug 2009 19:24:39 -0000 Received: (qmail 37796 invoked by uid 500); 17 Aug 2009 19:24:45 -0000 Delivered-To: apmail-hadoop-hbase-user-archive@hadoop.apache.org Received: (qmail 37747 invoked by uid 500); 17 Aug 2009 19:24:45 -0000 Mailing-List: contact hbase-user-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hbase-user@hadoop.apache.org Delivered-To: mailing list hbase-user@hadoop.apache.org Received: (qmail 37737 invoked by uid 99); 17 Aug 2009 19:24:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Aug 2009 19:24:45 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of bradfordstephens@gmail.com designates 209.85.211.198 as permitted sender) Received: from [209.85.211.198] (HELO mail-yw0-f198.google.com) (209.85.211.198) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Aug 2009 19:24:35 +0000 Received: by ywh36 with SMTP id 36so4748126ywh.31 for ; Mon, 17 Aug 2009 12:24:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=8ADVni+V/IgGMnEoHYe9wTpaX2YzryYEGb5bJEgD0l0=; b=carshBCahf4MkIdbQwFGJrzEibDwiFTtwQpw3dgBSUH6U43gqkcDoyzako1wuSp1NH uU5MjPyYv/tMqzPPwoRknowHkJvwWU4X2/33j6ALV+Vw4qm22xWvZcqa4ikXap84UySv jI9rNfB0FWNgBqdGbgybrXhyxduquKgXao7l4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=Ukht2jVIzHfAMQAYN8sP7ZxuXkZkiXeZhrGgOirKgdYGh+BnN9uLRvO0Vd81qhZJvU kP04mmHkwK4VHSQKEsoWhD56ulZldxi845B4JjOXb6Zf4os5mAU+NWroDJtEj5lwoHbR AKnXa44f5F7Nb+xzxYJPFjpJnOlu6piGCBePo= MIME-Version: 1.0 Received: by 10.90.216.7 with SMTP id o7mr3044699agg.45.1250537054994; Mon, 17 Aug 2009 12:24:14 -0700 (PDT) In-Reply-To: <4A8985A0.3060207@streamy.com> References: <78568af10908162358t57f2ab2fi25a4491065fcbf6f@mail.gmail.com> <4A8985A0.3060207@streamy.com> Date: Mon, 17 Aug 2009 12:24:14 -0700 Message-ID: <860544ed0908171224o41cdf9fj7482409bb99375c0@mail.gmail.com> Subject: Re: Hi, i am still puzzeld to find a row key by a cell. From: Bradford Stephens To: hbase-user@hadoop.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Just reiterating with JGray says -- usually, when you need a secondary index, you can get away with denormalizing and duplicating your data. On Mon, Aug 17, 2009 at 9:30 AM, Jonathan Gray wrote: > This is possible by checking the values in your client, through server-si= de > filters (see org.apache.hadoop.hbase.filter), or with secondary indexing = (as > described in my previous e-mail). > > In the first two cases, you are doing a full table scan so it is very > inefficient. =A0That's the same as it would be in an RDBMS if you were no= t > using secondary indexes, however. > > HBase has limited secondary indexing support, but do not expect the > flexibility and performance you get from an RDBMS secondary index. > > If this is central to your usage of HBase, make sure that HBase is what y= ou > want and take another look at your schema to see if there might be a bett= er > design to prevent needing heavy indexing or table scanning. > > JG > > Rocks wrote: >> >> Thanks for you answer. >> however, what i want to do just likes "where" keyword of SQL in RDBMS. I= s >> it impossible in hbase ? >> >> On Mon, Aug 17, 2009 at 2:58 PM, Ryan Rawson wrote: >> >>> hey, >>> >>> That isn't how hbase (or even rdbms) work. =A0Instead you can retrieve >>> rows based on their row key. Otherwise you will have to read the >>> entire table to find just that 1 row. Yes this is as inefficient as it >>> sounds. >>> >>> If you frequently have this issue, you may need to build and maintain >>> secondary indexes. Unlike relational dbs, there is no built in support >>> for this, you have to write your app to handle this. >>> >>> -yran >>> >>> >>> >>> On Sun, Aug 16, 2009 at 11:51 PM, lei wang >>> wrote: >>>> >>>> Hi, if a know a cell in a hbase for its column::value, =A0i = need >>> >>> to >>>> >>>> know which row key it belongs to. I searched the HBase api several >>>> times, >>>> but i can not find the right method to solve my problem. Thanks for >>>> one's >>>> suggestion to me. >>>> >> > --=20 http://www.roadtofailure.com -- The Fringes of Scalability, Social Media, and Computer Science