Return-Path: Delivered-To: apmail-hbase-user-archive@www.apache.org Received: (qmail 38397 invoked from network); 14 Oct 2010 17:55:46 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 14 Oct 2010 17:55:46 -0000 Received: (qmail 65546 invoked by uid 500); 14 Oct 2010 17:55:45 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 65516 invoked by uid 500); 14 Oct 2010 17:55:45 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 65508 invoked by uid 99); 14 Oct 2010 17:55:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Oct 2010 17:55:45 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jdcryans@gmail.com designates 209.85.214.169 as permitted sender) Received: from [209.85.214.169] (HELO mail-iw0-f169.google.com) (209.85.214.169) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Oct 2010 17:55:38 +0000 Received: by iwn1 with SMTP id 1so10909069iwn.14 for ; Thu, 14 Oct 2010 10:55:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; bh=4q7Mciji/8kIAhiUKMkM4wt9UBENEAGxRYxP7VZjNWY=; b=P5KV/+qrtna5wivp4rf8KktLPt0KMPl/gnWRF13Fr4PnVBH9Q//69AjTH0y/QiCR7u WpVyw28QLMbqGzCzKCbmi11sXjdg9+OvF/fCXzSw7A87wXN9qI3YIwfi7b6OZ696bmP4 FooZYES1JF0UeCZJ6ftFgeKmRPC7PLzHwRFhU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=DW//KyL6MJGdeocLFSWhswrXSusncbtqPgvOgWD+IBskxFKaiGpxwjcgSM4IOCeZmh cOElayt4Xu7MtxMZWiPy9AZ+OGUJcAJaw2zz2HppozkszKrSe8hd3ChliYYpv/qTtpZJ oISymO8ImXgCQ01g0cG96rp5R01YtPNnml/BM= MIME-Version: 1.0 Received: by 10.231.161.68 with SMTP id q4mr8796426ibx.79.1287078917891; Thu, 14 Oct 2010 10:55:17 -0700 (PDT) Sender: jdcryans@gmail.com Received: by 10.231.19.137 with HTTP; Thu, 14 Oct 2010 10:55:17 -0700 (PDT) In-Reply-To: References: <90e6ba53ac923e348f0492395ae8@google.com> Date: Thu, 14 Oct 2010 13:55:17 -0400 X-Google-Sender-Auth: OWQhclsPiUHf7nSyaX7quqd_8ic Message-ID: Subject: Re: Number of column families vs Number of column family qualifiers From: Jean-Daniel Cryans To: user@hbase.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable > So, even if I use get.addColumn(byte[]=A0family, byte[]=A0qualifier)=A0fo= r a > certain cell, the HBase will have to traverse from the beginning of > the column family to the qualifier I defined? Is it because HBase has > to traverse all the blocks in the HFile to find the row key or the > qualifier? The answer is different for 0.20 and 0.90, but the short version would be: sometimes yes and sometimes not all of the KVs will be read. HBase is getting better at this but there's still work to do. > I am confused here, in the keyvalue pairs in the data block, does the > key refer to the row key or it refer to qualifier? Where is the row > key and where is the qualifier? > This has bothered me for a while. It would be nice to figure it out. > Many thanks. > Down in the HBase internals we use KeyValue where the key is basically row + family + qualifier + timestamp. See http://hbase.apache.org/docs/r0.89.20100924/apidocs/org/apache/hadoop/hbase= /KeyValue.html J-D