Return-Path: X-Original-To: apmail-crunch-dev-archive@www.apache.org Delivered-To: apmail-crunch-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B20D31049E for ; Wed, 16 Oct 2013 06:43:04 +0000 (UTC) Received: (qmail 27778 invoked by uid 500); 16 Oct 2013 06:43:03 -0000 Delivered-To: apmail-crunch-dev-archive@crunch.apache.org Received: (qmail 27686 invoked by uid 500); 16 Oct 2013 06:43:03 -0000 Mailing-List: contact dev-help@crunch.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@crunch.apache.org Delivered-To: mailing list dev@crunch.apache.org Received: (qmail 27667 invoked by uid 99); 16 Oct 2013 06:43:02 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Oct 2013 06:43:02 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of stepinto@live.com designates 65.55.111.86 as permitted sender) Received: from [65.55.111.86] (HELO blu0-omc2-s11.blu0.hotmail.com) (65.55.111.86) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Oct 2013 06:42:55 +0000 Received: from BLU0-SMTP199 ([65.55.111.72]) by blu0-omc2-s11.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 15 Oct 2013 23:42:38 -0700 X-TMN: [sgNZprNo6T+ygBD3fiI7j0rX3MgQilQL] X-Originating-Email: [stepinto@live.com] Message-ID: Received: from mail-we0-f172.google.com ([74.125.82.172]) by BLU0-SMTP199.phx.gbl over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 15 Oct 2013 23:42:37 -0700 Received: by mail-we0-f172.google.com with SMTP id q58so239608wes.31 for ; Tue, 15 Oct 2013 23:42:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=PzCBObbe0uQE2GJ0iddxXm3iYwtgMyiuKP/e0CvKRww=; b=UbYb48YpmtBxyMkmPyYacsYJK4/2+fRD9tTOJ5ZyLzaB9dsnhnWx0hXCZkzoJo0nkr V3JLWsVv2cbO5pridnf/la85yCSN7IIzibmvjfoSUsLTkDhLCTaSBTukgwD07hfSeqqQ 1ZWLHRkMCcBjLCtAHhK8XYTq6xlfGVd4iGU05Y9k0O2wBa5TQmmSGm80oc/ZA95+DACZ bJHO0jAQmpb4EY/6Yck3W1aW2/SKO9kk3bOtnFKQJvLBIzjr69V1WDISZIGbV1D8p9Q2 OurAlZhSolHWnjuTLsL57QIvck1EyJ6eNqsdMdVTEpJ606Htq4hydd4cLo+BIeLVWlPR /zUQ== X-Received: by 10.180.94.38 with SMTP id cz6mr2004784wib.27.1381905751811; Tue, 15 Oct 2013 23:42:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.194.243.5 with HTTP; Tue, 15 Oct 2013 23:42:11 -0700 (PDT) In-Reply-To: References: From: Chao Shi Date: Wed, 16 Oct 2013 14:42:11 +0800 Subject: Re: Thoughts on supporting HBase 0.96 To: dev@crunch.apache.org Content-Type: multipart/alternative; boundary="f46d044271087331cf04e8d60148" X-OriginalArrivalTime: 16 Oct 2013 06:42:37.0401 (UTC) FILETIME=[E712DC90:01CECA3A] X-Virus-Checked: Checked by ClamAV on apache.org --f46d044271087331cf04e8d60148 Content-Type: text/plain; charset="ISO-8859-1" Hi Josh, I don't understand why needs another PTypeFamily here. I think we can simply provide some pre-defined PTypes. interface HFilePTypes { static KEY_VALUE_PTYPE = xxx static PUT_PTYPE = xxx } After a quick scan of the latest code, it seems they have dropped any Writable things and moved to protobuf. For example, there is RequestConverter class which converts Mutations (super class of Put and Delete) to the protobuf message. We can leverage this to implement our PType. But unfortunately, this piece of code does not exist in 0.94. So If we want to support both, we have to do similar thing as we did for hadoop 1 and 2, which is very boring. (I have no experience in using HBase releases after 0.94, so what I said may be wrong.) 2013/10/16 Josh Wills > Hey all, > > To kill some time this afternoon, I took a pass at figuring out what > changes would be needed in Crunch to support HBase 0.96, which is going > through a few release candidates right now. I started out by building > against the 0.95.2 release, which has most of the API changes that I'm told > we can expect in 0.96. > > The most consequential change I found is that many of the core HBase > classes we operate on-- Put, Delete, KeyValue, and Result-- will no longer > implement the Writable interface. Instead, the HBase team has added a > number of SerializationFactory classes for these types, which map the POJO > versions of those objects on to protocol buffers. This means that the > current trick of creating PTypes for HBase like this: > > PType ptype = Writables.writables(Result.class); > > won't work anymore in 0.96, i.e., the HBase data classes won't fit into > either of the existing type families. > > The best solution I've come up with so far is to create a new, > HBase-specific PTypeFamily for supporting the way these classes are > serialized now. I'm not sure if there's a better approach here and/or how > complex this particular PTypeFamily implementation would need to be; I'm > very much open to ideas on how to proceed here. > > J > > > -- > Director of Data Science > Cloudera > Twitter: @josh_wills > --f46d044271087331cf04e8d60148--