Hi Ryan and Joey,
we have the following two use cases we currently cannot cover natively using the kite framework:
1) We want to partition our data based on user local time. Therefore we store timestamps in user local time as strings in ISO8601 format including a timezone offset. Example: "2014-07-21T16:43:43.049+02:00". We would like to use those timestamps as input for the Kite FieldPartitioners. For kite compatibility we currently add an additional column to our data that holds the local date as unix timestamp. This works, but:
a) unix timestamps do not have support for timezones, they represent the (milli)seconds since 1.1.1970 in GMT/UTC, so I have the feeling that this representation is somewhat dirty.
b) we already have a lot of date fields in our data and adding another one (in a different representation) might be confusing for data consumers.
2) For some data sets we would like to partition our data based on quarter and half year. Currently we solve this using provided fields. Using a field based partitioner for this would give us more flexibility here.
To tell you a little bit more about our use of the kite sdk:
We have hive based datasets, partitioned by user local time. Based on domain specific requirements the datasets have varying partition durations such as daily, monthly, quarterly, ....
For automated processing all datasets have
1) a property that tells us the duration of the partitions within a dataset in iso format (such as P1D, P1M).
2) the partition column slice_start. slice_start contains the first day of a partition. That is the slice date for daily partitions, the first of the month for monthly partitions, ....
In addition to that we add partition fields based on the duration of the partitions for a given dataset, such as "year", "month", "day". Those feels added to facilitate data access and data management.
Just in case you are really interested :-) The following link points you to a talk about our project. Starting from minute 13:00 data management is covered:
https://vimeo.com/125738693.
I hope that helps you to understand our use of the kite sdk.
Kind regards,
Helmut