Hello Julian

My use case is :
        1. Database is based on elastic search
        2. When I configure the data source using the syntax :
             
jdbc:calcite:schemaFactory=org.apache.calcite.adapter.druid.DruidSchemaFactory; 
schema.host=http://localhost:8082; 
schema.urlpath=/das/<tenantid>/<prodid>/<docid> , the connection is     
successful. (Though it gets no tables here as the schema details are not passed)
        3. However when I try to query on this database, an exception is 
thrown, since the schema is not found. 
                My custom database also has an API to return the schema details 
in the format :
                {
        "mappings": {
                "some_type": {
                        "properties": {
                                "reqSize": {
                                        "index": "no",
                                        "store": "yes",
                                        "type": "integer"
                                },
                                "apiName": {
                                        "index": "not_analyzed",
                                        "store": "yes",
                                        "type": "string"
                                },
                                "accountPlanName": {
                                        "index": "not_analyzed",
                                        "store": "yes",
                                        "type": "string"
                                }

I need to understand how(which calcite classes) to leverage in order to suffice 
the details which the driver expects from the model.json viz. dimensions, 
,metrics, datasource.

I referred to http://druid.io/docs/latest/querying/segmentmetadataquery.html 
(which in druid, discovers the columns of the table), but again could not find 
the required context.

Thanks and Regards
Shuchi Gupta
Software Engineer (CA)
                
-----Original Message-----
From: Julian Hyde [mailto:[email protected]] 
Sent: Tuesday, December 27, 2016 11:18 PM
To: [email protected]
Subject: Re: Eliminating model.json from druid implementation

We introduced the “schemaFactory” connect string parameter in 
https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_CALCITE-2D1259&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=CoSEy4c4OzsxPsEiEpC6AXlB_QpnqxVwx1oi1kaQg50&e=
  
<https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_CALCITE-2D1259&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=CoSEy4c4OzsxPsEiEpC6AXlB_QpnqxVwx1oi1kaQg50&e=
 > for cases where the connection had a single schema and that schema was 
trivial. That doesn’t mean that the schema is empty (a schema with no tables is 
fairly useless) but that it is self-populating. If I recall correctly the Druid 
schema factory creates a Calcite table for each data set in Druid, so it 
fulfills these criteria.

But if you need more content in a schema, I suggest you go back to the old way 
and generate a small JSON model. Note that you can prefix the model URL with 
“inline:” to pass the content of the model rather than putting the model in a 
temporary file.

Another alternative is to dispense with the model entirely and use methods such 
as Schema.addTable to build the schema programmatically. Really, the JSON model 
stuff is just a builder on top of that.

Julian


> On Dec 27, 2016, at 3:26 AM, Gupta, Shuchi <[email protected]> wrote:
> 
> Hi Team
>  
> In reference to apache druid, I have been using a JSON file as metadata for 
> my connections to a custom database based on elastic search.
> Instead I intend to create the metadata on the fly by eliminating this json 
> path from the connection url and use :
> jdbc:calcite:schemaFactory=org.apache.calcite.adapter.druid.DruidSchemaFactory;
>  
> schema.url=https://urldefense.proofpoint.com/v2/url?u=http-3A__localhost-3A8082&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=OycHaZLAMQQghbn3mXboRMji1wCxmFjLZX0D0rUBJ7Y&e=
>   
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__localhost-3A8082_&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=T49R90tuqZBfVBSSzLcajDsMvEnSqSVZmnNncepsPJI&e=
>  >; 
> schema.coordinatorUrl=https://urldefense.proofpoint.com/v2/url?u=http-3A__localhost-3A8081&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=wzgfGP9HYu8RhR3vFxpQVRCmLpYr2oyXevKyGKAyfEk&e=
>   
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__localhost-3A8081_&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=_yVux-ThDVg6cWxvPKimL3fH2aFpDu9GLTOscJtp7t8&e=
>  >
>  
> The connection is passing successfully, but I fail to understand where shall 
> I map the schema details . Kindly let me know what change would be required 
> to implement this functionality.
>  
>  
> Thanks and Regards
> Shuchi Gupta
> Software Engineer (CA)
> 
> CA Technologies | Plot 115/1, 115/16-115/21 | Hyderabad, 500032 
> Office: +71262 | [email protected]
> 
>  <mailto:[email protected]> <http://www.ca.com/us/default.aspx> 
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__twitter.com_CAInc&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=JzFK044MbEhXHelmPYjCCOG92mSJHFu4gATLhvNhPY0&e=
>  > 
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.slideshare.net_cainc&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=NrO13bz7BJYqUDx5nY_M6RGEDF68hsTP32_SfLXrIRs&e=
>  > 
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.facebook.com_CATechnologies&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=ks2-feP5jzgKs3wj_H2ruahrqErjryRkxgOkNudFYfQ&e=
>  > 
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.youtube.com_user_catechnologies&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=ZjmZaqfCaSLgP7im_zKfexZrFGiTWKxKWdE48Ypm3ko&e=
>  > 
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.linkedin.com_company_1372-3Fgoback-3D.cps-5F1244823420724-5F1&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=TxJ7K8VMK8PRSxyfmZbRAaIBm9Nonur5wgpb7Im9KMo&e=
>  > 
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__plus.google.com_-2BCATechnologies&d=DwIFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=_Fj_BSkIJErzZ82vma0tSpR2D2tntATQeeTvZFPXEMI&m=-Z_7HdytOg0UWaKQGuutkRhOfJSOU1rbK5vlgxiNCac&s=x9K_bIo6jzauz7edv2y8wjj9U29y5ec3vxtyqoyxpTY&e=
>  > <http://www.ca.com/us/rss.aspx?intcmp=footernav>

Reply via email to