I did quite a lot of changes yesterday evening because I was trying to
apply the same principles to the CouchDB module. The idea is still the
same, but the SchemaBuilder interface and related classes have changed
quite a lot, because it was obviously not going to work with a multi-table
approach like in CouchDB. So please also take into consideration this
review request: https://reviews.apache.org/r/23377


2014-07-09 19:23 GMT+02:00 Kasper Sørensen <[email protected]>:

> I'll go ahead then, noone seems to have an issue with this :-)
>
>
> 2014-07-08 18:29 GMT+02:00 Ankit Kumar <[email protected]>:
>
> +1
>>
>> Ankit
>>
>> > On 08 Jul 2014, at 15:09, Kasper Sørensen <
>> [email protected]> wrote:
>> >
>> > Well almost. It would be a Map<String,Object>, since the value-type is
>> > unknown. For instance, if the document had nested objects or arrays, or
>> > even a number-value, it would not always be a string value. The metadata
>> > would say that the column type is ColumnType.MAP
>> >
>> >
>> > 2014-07-08 12:56 GMT+02:00 Ankit Kumar <[email protected]>:
>> >
>> >> Hi Kasper,
>> >>
>> >> Quick question - Will the map based interpretation of the JSON be a
>> >> Map<String,String> type and would we get this automatically in that
>> type
>> >> when reading the column from the row.
>> >>
>> >> If that's the idea then I would vote for it [+1] as we can already
>> benefit
>> >> from this.
>> >>
>> >> If I interpret it incorrect then do please enlighten me.
>> >>
>> >> Regards
>> >> Ankit
>> >>
>> >>
>> >> On Thu, Jul 3, 2014 at 12:26 PM, Kasper Sørensen <
>> >> [email protected]> wrote:
>> >>
>> >>> Hi guys,
>> >>>
>> >>> Maybe you saw that I posted a review request [1] yesterday for
>> >> METAMODEL-38
>> >>> (a JSON based module for MetaModel).
>> >>>
>> >>> I was building this JSON module and trying to do it in a way where the
>> >> user
>> >>> could configure how the logical schema would look like. In some cases
>> you
>> >>> would want MetaModel to infer the schema based on a sample of
>> documents
>> >> in
>> >>> the source, and in other cases you might want MetaModel to just treat
>> the
>> >>> source as a 1-column table with a MAP data type. There's probably also
>> >>> other strategies.
>> >>>
>> >>> That part I felt was also very relevant for many other "schemaless"
>> >>> datastores, such as MongoDB, CouchDB, HBase etc. So I put there
>> >> interfaces
>> >>> and a few standard implementations of it into the core module, and
>> >> applied
>> >>> it to the JSON module. If this idea is accepted, I would like to also
>> add
>> >>> it to MongoDB and CouchDB modules (those are a natural fit) and maybe
>> >> also
>> >>> HBase (slight more advanced because of the column-family concept).
>> >>>
>> >>> I think it makes sense to open a DISCUSS thread about this approach,
>> >> since
>> >>> Schema Inference is in itself a very nice distinguishing feature I
>> think.
>> >>> I'd like to invite anyone to share their ideas here, so that this is
>> >> maybe
>> >>> a place where we can make MetaModel shine.
>> >>>
>> >>> Cheers,
>> >>> Kasper
>> >>>
>> >>> [1] https://reviews.apache.org/r/23228/
>> >>
>>
>
>

Reply via email to