You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by Kirill Lykov <ly...@gmail.com> on 2020/06/26 15:41:52 UTC

optimal way to store historical data

Hi,

I wonder  what is the best way to represent time series in the arrow.
Maybe someone did a research already about different ways of
representing these data? Or there is a ready-to-use solution inside
the library. Basically, I need a third dimension to the table which is
time. One of the solutions is to have a new table for each date, but
there are many other ways as well.

-- 
Best regards,
Kirill Lykov

Re: optimal way to store historical data

Posted by an...@gmail.com.
Also, let me clarify so there is no confusion  - There should be no problem
creating static / read only arrow data files with a 'date to batch' index
in the manner i described.  The problem I am referring to only becomes an
issue if you need to append a new batch on a daily basis

-Anthony


On Fri, Jun 26, 2020 at 11:58 AM <an...@gmail.com> wrote:

> +1 to this..
>
> There is a logical way to do this now - If you create a batch per day you
> can maintain a separate arrow file (an index) to map the date to batch.. We
> do this for indexing via other keys, and I can say it works well for
> 'large' files - 25gb+. I think unfortunately, doing this via the current
> language level API requires a lot of recreating a copy files for each new
> batch due to the immutability
>
> However, I know for a fact the file based format could support this 'very
> easily' it would just require the footer to be replaced and overwritten
> with the next batch and a new block inserted with correct offsets into a
> new footer after the new batch.   Using the C++ libraries (or your own) one
> could do this manually, but it might be useful to build it into the
> higher level APIs.  If there exists a way to do this now that doesnt
> require hacking the files manually, please let me know!
>
> On Fri, Jun 26, 2020 at 11:49 AM Dachuan Zhao <tc...@gmail.com>
> wrote:
>
>> +1
>> Is the dataset the model for that?
>>
>> On Fri, Jun 26, 2020 at 11:42 AM Kirill Lykov <ly...@gmail.com>
>> wrote:
>>
>> > Hi,
>> >
>> > I wonder  what is the best way to represent time series in the arrow.
>> > Maybe someone did a research already about different ways of
>> > representing these data? Or there is a ready-to-use solution inside
>> > the library. Basically, I need a third dimension to the table which is
>> > time. One of the solutions is to have a new table for each date, but
>> > there are many other ways as well.
>> >
>> > --
>> > Best regards,
>> > Kirill Lykov
>> >
>> --
>> Sent from iPhone
>>
>

Re: optimal way to store historical data

Posted by an...@gmail.com.
+1 to this..

There is a logical way to do this now - If you create a batch per day you
can maintain a separate arrow file (an index) to map the date to batch.. We
do this for indexing via other keys, and I can say it works well for
'large' files - 25gb+. I think unfortunately, doing this via the current
language level API requires a lot of recreating a copy files for each new
batch due to the immutability

However, I know for a fact the file based format could support this 'very
easily' it would just require the footer to be replaced and overwritten
with the next batch and a new block inserted with correct offsets into a
new footer after the new batch.   Using the C++ libraries (or your own) one
could do this manually, but it might be useful to build it into the
higher level APIs.  If there exists a way to do this now that doesnt
require hacking the files manually, please let me know!

On Fri, Jun 26, 2020 at 11:49 AM Dachuan Zhao <tc...@gmail.com>
wrote:

> +1
> Is the dataset the model for that?
>
> On Fri, Jun 26, 2020 at 11:42 AM Kirill Lykov <ly...@gmail.com>
> wrote:
>
> > Hi,
> >
> > I wonder  what is the best way to represent time series in the arrow.
> > Maybe someone did a research already about different ways of
> > representing these data? Or there is a ready-to-use solution inside
> > the library. Basically, I need a third dimension to the table which is
> > time. One of the solutions is to have a new table for each date, but
> > there are many other ways as well.
> >
> > --
> > Best regards,
> > Kirill Lykov
> >
> --
> Sent from iPhone
>

Re: optimal way to store historical data

Posted by Dachuan Zhao <tc...@gmail.com>.
+1
Is the dataset the model for that?

On Fri, Jun 26, 2020 at 11:42 AM Kirill Lykov <ly...@gmail.com>
wrote:

> Hi,
>
> I wonder  what is the best way to represent time series in the arrow.
> Maybe someone did a research already about different ways of
> representing these data? Or there is a ready-to-use solution inside
> the library. Basically, I need a third dimension to the table which is
> time. One of the solutions is to have a new table for each date, but
> there are many other ways as well.
>
> --
> Best regards,
> Kirill Lykov
>
-- 
Sent from iPhone