Hi Micah,

How does the performance change for “flat” schemas?
(particularly in the case of a large number of columns)

Thanks,
Maarten



> On Mar 11, 2020, at 11:53 PM, Micah Kornfield <emkornfi...@gmail.com> wrote:
> 
> Another status update.  I've integrated the level generation code with the
> parquet writing code [1].
> 
> After that PR is merged I'll add bindings in Python to control versions of
> the level generation algorithm and plan on moving on to the read side.
> 
> Thanks,
> Micah
> 
> [1] https://github.com/apache/arrow/pull/6586
> 
> On Tue, Mar 3, 2020 at 9:07 PM Micah Kornfield <emkornfi...@gmail.com>
> wrote:
> 
>> Hi Igor,
>> If you have the time https://issues.apache.org/jira/browse/ARROW-7960 might
>> be a good task to pick up for this I think it should be a relatively small
>> amount of code, so it is probably a good contribution to the project.  Once
>> that is wrapped up we can see were we both are.
>> 
>> Cheers,
>> Micah
>> 
>> On Tue, Mar 3, 2020 at 8:25 AM Igor Calabria <igor.calab...@gmail.com>
>> wrote:
>> 
>>> Hi Micah, I actually got involved with another personal project and had
>>> to postpone my contribution to arrow a bit. The good news is that I'm
>>> almost done with it, so I could help you with the read side very soon. Any
>>> ideas how we could coordinate this?
>>> 
>>> Em qua., 26 de fev. de 2020 às 21:06, Wes McKinney <wesmck...@gmail.com>
>>> escreveu:
>>> 
>>>> hi Micah -- great news on the level generation PR. I'll try to carve
>>>> out some time for reviewing over the coming week.
>>>> 
>>>> On Wed, Feb 26, 2020 at 3:10 AM Micah Kornfield <emkornfi...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> Hi Igor,
>>>>> I was wondering if you have made any progress on this?
>>>>> 
>>>>> I posted a new PR [1] which I believe handles the difficult algorithmic
>>>>> part of writing.  There will be some follow-ups but I think this PR
>>>> might
>>>>> take a while to review, so I was thinking of starting to take a look
>>>> at the
>>>>> read side if you haven't started yet, and circle back to the final
>>>>> integration for the write side once the PR is checked in.
>>>>> 
>>>>> Thanks,
>>>>> Micah
>>>>> 
>>>>> [1] https://github.com/apache/arrow/pull/6490
>>>>> 
>>>>> On Mon, Feb 3, 2020 at 4:08 PM Igor Calabria <igor.calab...@gmail.com>
>>>>> wrote:
>>>>> 
>>>>>> Hi, I would love to help with this issue. I'm aware that this is a
>>>> huge
>>>>>> task for a first contribution to arrow, but I feel that I could help
>>>> with
>>>>>> the read path.
>>>>>> Reading parquet seems like a extremely complex task since both
>>>> hive[0] and
>>>>>> spark[1] tried to implement a "vectorized" version and they all
>>>> stopped
>>>>>> short of supporting complex types.
>>>>>> I wanted to at least give it a try and find out where the challenge
>>>> lies.
>>>>>> 
>>>>>> Since you guys are much more familiar with the current code base, I
>>>> could
>>>>>> use some starting tips so I don't fall in common pitfalls and
>>>> whatnot.
>>>>>> 
>>>>>> [0] https://issues.apache.org/jira/browse/HIVE-18576
>>>>>> [1]
>>>>>> 
>>>>>> 
>>>> https://github.com/apache/spark/blob/master/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedParquetRecordReader.java#L45
>>>>>> 
>>>>>> On 2020/02/03 06:01:25, Micah Kornfield <e...@gmail.com> wrote:
>>>>>>> Just to give an update.  I've been a little bit delayed, but my
>>>> progress
>>>>>> is>
>>>>>>> as follows:>
>>>>>>> 1.  Had 1 PR merged that will exercise basic end-to-end tests.>
>>>>>>> 2.  Have another PR open that allows a configuration option in C++
>>>> to>
>>>>>>> determine which algorithm version to use for reading/writing, the
>>>>>> existing>
>>>>>>> version and the new version supported complex-nested arrays.  I
>>>> think a>
>>>>>>> large amount of code will be reused/delegated to but I will err on
>>>> the
>>>>>> side>
>>>>>>> of not touching the existing code/algorithms so that any errors in
>>>> the>
>>>>>>> implementation  or performance regressions can hopefully be
>>>> mitigated at>
>>>>>>> runtime.  I expect in later releases (once the code has "baked")
>>>> will>
>>>>>>> become a no-op.>
>>>>>>> 3.  Started coding the write path.>
>>>>>>> 
>>>>>>> Which leaves:>
>>>>>>> 1.  Finishing the write path (I estimate 2-3 weeks) to be code
>>>> complete>
>>>>>>> 2.  Implementing the read path.>
>>>>>>> 
>>>>>>> Again, I'm happy to collaborate if people have bandwidth and want
>>>> to>
>>>>>>> contribute.>
>>>>>>> 
>>>>>>> Thanks,>
>>>>>>> Micah>
>>>>>>> 
>>>>>>> On Thu, Jan 9, 2020 at 10:31 PM Micah Kornfield <em...@gmail.com>>
>>>>>>> wrote:>
>>>>>>> 
>>>>>>>> Hi Wes,>
>>>>>>>> I'm still interested in doing the work.  But don't to hold
>>>> anybody up
>>>>>> if>
>>>>>>>> they have bandwidth.>
>>>>>>>>> 
>>>>>>>> In order to actually make progress on this, my plan will be to:>
>>>>>>>> 1.  Help with the current Java review backlog through early next
>>>> week
>>>>>> or>
>>>>>>>> so (this has been taking the majority of my time allocated for
>>>> Arrow>
>>>>>>>> contributions for the last 6 months or so).>
>>>>>>>> 2.  Shift all my attention to trying to get this done (this
>>>> means no>
>>>>>>>> reviews other then closing out existing ones that I've started
>>>> until it
>>>>>> is>
>>>>>>>> done).  Hopefully, other Java committers can help shrink the
>>>> backlog>
>>>>>>>> further (Jacques thanks for you recent efforts here).>
>>>>>>>>> 
>>>>>>>> Thanks,>
>>>>>>>> Micah>
>>>>>>>>> 
>>>>>>>> On Thu, Jan 9, 2020 at 8:16 AM Wes McKinney <we...@gmail.com>
>>>> wrote:>
>>>>>>>>> 
>>>>>>>>> hi folks,>
>>>>>>>>>> 
>>>>>>>>> I think we have reached a point where the incomplete C++
>>>> Parquet>
>>>>>>>>> nested data assembly/disassembly is harming the value of
>>>> several>
>>>>>>>>> others parts of the project, for example the Datasets API. As
>>>> another>
>>>>>>>>> example, it's possible to ingest nested data from JSON but not
>>>> write>
>>>>>>>>> it to Parquet in general.>
>>>>>>>>>> 
>>>>>>>>> Implementing the nested data read and write path completely is
>>>> a>
>>>>>>>>> difficult project requiring at least several weeks of dedicated
>>>> work,>
>>>>>>>>> so it's not so surprising that it hasn't been accomplished yet.
>>>> I
>>>>>> know>
>>>>>>>>> that several people have expressed interest in working on it,
>>>> but I>
>>>>>>>>> would like to see if anyone would be able to volunteer a
>>>> commitment
>>>>>> of>
>>>>>>>>> time and guess on a rough timeline when this work could be
>>>> done. It>
>>>>>>>>> seems to me if this slips beyond 2020 it will significant
>>>> diminish
>>>>>> the>
>>>>>>>>> value being created by other parts of the project.>
>>>>>>>>>> 
>>>>>>>>> Since I'm pretty familiar with all the Parquet code I'm one
>>>> candidate>
>>>>>>>>> person to take on this project (and I can dedicate the time,
>>>> but it>
>>>>>>>>> would come at the expense of other projects where I can also be>
>>>>>>>>> useful). But Micah and others expressed interest in working on
>>>> it, so>
>>>>>>>>> I wanted to have a discussion about it to see what others
>>>> think.>
>>>>>>>>>> 
>>>>>>>>> Thanks>
>>>>>>>>> Wes>
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>> 
>>> 

Reply via email to