drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rahul challapalli <challapallira...@gmail.com>
Subject Re: Array or list type attributes from MongoDB
Date Wed, 18 Jan 2017 17:49:23 GMT
I suggest that you try using "flatten" [1] along with the mongo db storage
plugin. I did not understand what you meant by  "entities could be offered
to QlikSense as if it were different tables". Below is an example of
flatten usage

select d.id, flatten(d.doc.files), d.doc.requestId from (
    select data.response._id id, flatten(data.response.docs) doc from
`input.json` data
) d;

[1] https://drill.apache.org/docs/flatten/

On Wed, Jan 18, 2017 at 7:54 AM, Virilo Tejedor <virilotejedor@gmail.com>
wrote:

> Hi,
>
>
> I’d like to use Apache Drill to feed a QlikSense application from a MongoDB
> database.
>
> I’m not very sure about how should I manage list type attributes.
>
>
> I have a MongoDB collection containing entities like this example, where a
> “response” contains a list of “docs”, and each doc has a list of “files”
>
> response = {   '_id': ObjectId('12346e41234b0dbfe5f5b4d38'),
>
>     'creationDate': '2016-11-02T17:33:58+01:00',
>
>     'docs': [   {   'files': [   {
>
>                                      'content': '...',
>
>                                      'name': None,
>
>                                      'type': 't1'},
>
>                                  {
>
>                                      'content': '...',
>
>                                      'name': None,
>
>                                      'type': 't31'},
>
>                                  {
>
>                                      'content': '...',
>
>                                      'name': 'ORIGINAL',
>
>                                      'type': 'tX'}],
>
>                     'requestId': 39},
>
>                 {   'files': [   {
>
>                                      'content': '...',
>
>                                      'name': None,
>
>                                      'type': 'tG'},
>
>                                  {
>
>                                      'content': '...',
>
>                                      'name': None,
>
>                                      'type': 'tX'}],
>
>                     'requestId': None}],
>
>     'entityCode': '360',
>
>     'entityType': '13',
>
>     'messageType': 'msgZ',
>
>     'processId': 'ID00000000001294',
>
>     'registryCode': '00015',
>
>     'registryType': '2',
>
>     'returnCode': '200',
>
>     'returnDescription': None}
>
>
>
> It could be great if this entities could be offered to QlikSense as if it
> were different tables:
>
>
>
> Is it possible to configure Apache Drill on this way?
>
>
>
> I know that it is possible using MongoDB BI Connector.  But this connector
> is an enterprise feature only.
>
> https://docs.mongodb.com/bi-connector/master/schema-configuration/#arrays
>
>
>
>
> Thanks in advance.
>
>
>
>
> Best regards,
>
>
> Virilo
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message