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/ >> >> >> > >
