Return-Path: X-Original-To: apmail-hbase-user-archive@www.apache.org Delivered-To: apmail-hbase-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 08E23C224 for ; Tue, 29 May 2012 15:08:08 +0000 (UTC) Received: (qmail 84468 invoked by uid 500); 29 May 2012 15:08:06 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 84425 invoked by uid 500); 29 May 2012 15:08:06 -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 84417 invoked by uid 99); 29 May 2012 15:08:06 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 May 2012 15:08:06 +0000 X-ASF-Spam-Status: No, hits=1.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of sahmed1020@gmail.com designates 209.85.216.41 as permitted sender) Received: from [209.85.216.41] (HELO mail-qa0-f41.google.com) (209.85.216.41) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 May 2012 15:08:01 +0000 Received: by qabg27 with SMTP id g27so1565406qab.14 for ; Tue, 29 May 2012 08:07:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=Qt1jcByG4ljR3SXIbSewotmPLgP3jf5UyHhcbtMeNYc=; b=Ic7TRfFeKyXDKu1+PMxnK+V+kQliH6aXEdqfO6iSg9ckg6iWXSkiWZP2V6uFvjTp3d JaDjqmbm0YYiOgPayu8ChhqzDkgq1vWI4JjH2LLEjU2/yKB6LA1kwuqZli0KYqqat5Ap Lx53F1YgiZB+qAwiM8e4+Hi/sTzGJBensrpKGt2ByfFd0vmUeZVCMO7N62WiOUUpYdfJ t61vCx2u5odVON32whWQOLnVgs8LBuz/JG8S9Q5epgKH5/s/+We/Ph323EtTnoudx0Sl PyaX+ySczLHEPR3IpcPwdMO8F8Rz+JPxHsxNrDg+wtUD4rBi7Btm3Dk3UiU4EN1v/gi+ KeIg== Received: by 10.224.220.204 with SMTP id hz12mr12403393qab.60.1338304060194; Tue, 29 May 2012 08:07:40 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.179.91 with HTTP; Tue, 29 May 2012 08:07:19 -0700 (PDT) In-Reply-To: References: From: S Ahmed Date: Tue, 29 May 2012 11:07:19 -0400 Message-ID: Subject: Re: understanding the client code To: user@hbase.apache.org Content-Type: multipart/alternative; boundary=20cf3071d1dc1bfe6a04c12e3222 X-Virus-Checked: Checked by ClamAV on apache.org --20cf3071d1dc1bfe6a04c12e3222 Content-Type: text/plain; charset=ISO-8859-1 I don't really want any, I just want to learn the internals :) So why would someone not want to use the client, for data intensive tasks like mapreduce etc. where they want direct access to the files? On Tue, May 29, 2012 at 11:00 AM, N Keywal wrote: > There are two levels: > - communication between hbase client and hbase cluster: this is the > code you have in hbase client package. As a end user you don't really > care, but you care if you want to learn hbase internals. > - communication between customer code and hbase as a whole if you > don't want to use the hbase client. Then several options are > available, thrift being one of them (I'm not sure of avro status). > > What do you want to do exactly? > > On Tue, May 29, 2012 at 4:33 PM, S Ahmed wrote: > > So how does thrift and avro fit into the picture? (I believe I saw > > references to that somewhere, are those alternate connection libs?) > > > > I know protobuf is just generating types for various languages... > > > > On Tue, May 29, 2012 at 10:26 AM, N Keywal wrote: > > > >> Hi, > >> > >> If you're speaking about preparing the query it's in HTable and > >> HConnectionManager. > >> If you're on the pure network level, then, on trunk, it's now done > >> with a third party called protobuf. > >> > >> See the code from HConnectionManager#createCallable to see how it's > used. > >> > >> Cheers, > >> > >> N. > >> > >> On Tue, May 29, 2012 at 4:15 PM, S Ahmed wrote: > >> > I'm looking at the client code here: > >> > > >> > https://github.com/apache/hbase/tree/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client > >> > > >> > Is this the high level operations, and the actual sending of this data > >> over > >> > the network is done somewhere else? > >> > > >> > For example, during a PUT, you may want it to write to n nodes, where > is > >> > the code that does that? And the actual network connection etc? > >> > --20cf3071d1dc1bfe6a04c12e3222--