Return-Path: X-Original-To: apmail-drill-dev-archive@www.apache.org Delivered-To: apmail-drill-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 F2BCF175C0 for ; Tue, 22 Sep 2015 17:05:34 +0000 (UTC) Received: (qmail 85628 invoked by uid 500); 22 Sep 2015 17:05:22 -0000 Delivered-To: apmail-drill-dev-archive@drill.apache.org Received: (qmail 85571 invoked by uid 500); 22 Sep 2015 17:05:22 -0000 Mailing-List: contact dev-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.apache.org Delivered-To: mailing list dev@drill.apache.org Received: (qmail 85551 invoked by uid 99); 22 Sep 2015 17:05:21 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Sep 2015 17:05:21 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 6FCE01A5796 for ; Tue, 22 Sep 2015 17:05:21 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.919 X-Spam-Level: ** X-Spam-Status: No, score=2.919 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_REMOTE_IMAGE=0.01] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=maprtech.com Received: from mx1-us-east.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id OwOfUKcoZV24 for ; Tue, 22 Sep 2015 17:05:07 +0000 (UTC) Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by mx1-us-east.apache.org (ASF Mail Server at mx1-us-east.apache.org) with ESMTPS id 631D944176 for ; Tue, 22 Sep 2015 17:05:07 +0000 (UTC) Received: by wiclk2 with SMTP id lk2so33855970wic.1 for ; Tue, 22 Sep 2015 10:05:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maprtech.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=9VIEVyCpmA8MNAbDEeVzdAAoQc2RDeZjWETTLxvP7ss=; b=Xj1X0uy+y2wYCkp8b1fuR9+uOnmNTEfcvoUkU+Z8k79+g+NJ0TSVE79jWhFUqSdcVI y8xNF5wo2Tqp6GnQHJkcgozx7DnJ1kpaliZQWlvxxG1Y10chRPzAmUDMOAahnFE9KsVn 2SnPG1X7gERdcpKhSv25wkatbobfXA+nNXLWw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=9VIEVyCpmA8MNAbDEeVzdAAoQc2RDeZjWETTLxvP7ss=; b=OLqGcNmIXpEWeyfv08+uyHMoFWl4u3Uy9FGOfQ/A0FCvI7i3DnwWbAAsdzybKhmOWn 3wv8FsMhD8VNkBTS+vZ3gZ1uxTUvyxPi+3Hf9XP2SdHqSxRfJ+O9fW47dFlNed0qGr8j Xy2U9RiC3ESWOdATIstAqDciQSS4yALuVqY2ijla1vj/za/zJMCFnZ4ldxUE5zfDzv+m 6F8wgyz2YiZvSsB1r/0TlzKWvOuaIWsCOebdwAtpCI2rHbKx+leyBJWOY5u3bl9X3UEa 40Wk8xE52zK1tN+wbsgbcLciRs46oJ3Z+P/drzYshVEHiSBcnXQ+NWYSQaEi6JXmrM9+ PH7A== X-Gm-Message-State: ALoCoQlk8sZKw20tM2uZGaEMk0pIuhRAkKw3HaXs8yJnsu+khEJCy35d+IRL49xdKiq34P6w5Gw/ MIME-Version: 1.0 X-Received: by 10.194.87.102 with SMTP id w6mr29887733wjz.111.1442941506468; Tue, 22 Sep 2015 10:05:06 -0700 (PDT) Received: by 10.27.26.2 with HTTP; Tue, 22 Sep 2015 10:05:06 -0700 (PDT) In-Reply-To: References: Date: Tue, 22 Sep 2015 10:05:06 -0700 Message-ID: Subject: Re: The meaning/intent of the following methods - JSON storage format - part 1 From: Abdel Hakim Deneche To: "dev@drill.apache.org" Content-Type: multipart/alternative; boundary=047d7bf19850ecca13052058ff6f --047d7bf19850ecca13052058ff6f Content-Type: text/plain; charset=UTF-8 Question 3: I would assume getWriterOperatorType() has a similar meaning to getReaderOperatorType() but it's not used anywhere in Drill. That would explain why JsonFormatPlugin throws an UnsupportedOperationException Question 4: supportsPushDown() is about "projection" push down and not filter push down Question 5: I would say, purely random. On Fri, Sep 18, 2015 at 11:48 AM, Edmon Begoli wrote: > Thanks, Abdel. > I will use your answers to guide my development, but I will also contribute > them back as a javadoc. > > On Fri, Sep 18, 2015 at 2:39 PM, Abdel Hakim Deneche < > adeneche@maprtech.com> > wrote: > > > Question 2: > > to my knowledge (what I've found digging through the code). Each Operator > > has a unique OperatorType that is used when writing the operator's stats > in > > the profile. So in this case, Each FormatPlugin implementation should > have > > a corresponding unique OperatorType added to CoreOperatorType. > > > > I will get back to you after I get more information about the remaining > > questions. > > > > Thanks > > > > On Thu, Sep 17, 2015 at 8:14 PM, Edmon Begoli wrote: > > > > > Hello all, > > > > > > Could some please with answering my questions 2-5 below? > > > > > > Thank you, > > > Edmon > > > > > > On Wednesday, September 16, 2015, Edmon Begoli > > wrote: > > > > > > > I am studying the JSON Storage plugin. > > > > > > > > Can someone please answer what is the meaning (or intent) of the > > > following > > > > methods: > > > > > > > > # Question 1: > > > > # This is from inside the getter for RecordWriter. What is > major/minor > > > > fragment id? > > > > String fragmentId = String.format("%d_%d", > handle.getMajorFragmentId(), > > > > handle.getMinorFragmentId()); > > > > > > > > > > > > # Question 2: > > > > # Speficially, what is Operator Type, and what is JSON specific about > > it? > > > > public int getReaderOperatorType() { > > > > return CoreOperatorType.JSON_SUB_SCAN_VALUE; > > > > } > > > > > > > > # Question 3: > > > > # same, but for writer > > > > @Override > > > > public int getWriterOperatorType() { > > > > throw new UnsupportedOperationException(); > > > > } > > > > > > > > # Question 4: > > > > # I generally understand the concept of predicate pushdown, but is > this > > > > about predicate push down or something else? > > > > # How does one implement a push down for storage format? > > > > @Override > > > > public boolean supportsPushDown() { > > > > > > > > # Question 5: > > > > # Is this int value of 31 purely randomly selected, or is there an > > index > > > > somewhere? > > > > @Override > > > > public int hashCode() { > > > > return 31; > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Abdelhakim Deneche > > > > Software Engineer > > > > > > > > > > Now Available - Free Hadoop On-Demand Training > > < > > > http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available > > > > > > -- Abdelhakim Deneche Software Engineer Now Available - Free Hadoop On-Demand Training --047d7bf19850ecca13052058ff6f--