For question 5, this link [1] probably explains why 31 is used:

[1] 
http://stackoverflow.com/questions/299304/why-does-javas-hashcode-in-string-use-31-as-a-multiplier


On Tue, Sep 22, 2015 at 10:05 AM, Abdel Hakim Deneche
<adene...@maprtech.com> wrote:
> 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 <ebeg...@gmail.com> 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 <
>> adene...@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 <ebeg...@gmail.com> wrote:
>> >
>> > > Hello all,
>> > >
>> > > Could some please with answering my questions 2-5 below?
>> > >
>> > > Thank you,
>> > > Edmon
>> > >
>> > > On Wednesday, September 16, 2015, Edmon Begoli <ebeg...@gmail.com>
>> > 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
>> >
>> >   <http://www.mapr.com/>
>> >
>> >
>> > 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
>
>   <http://www.mapr.com/>
>
>
> Now Available - Free Hadoop On-Demand Training
> <http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available>

Reply via email to