From the docs (https://drill.apache.org/docs/describe/): “Currently, DESCRIBE 
does not support tables created in a file system.”
Seems that it only works well for Hive and HBase tables.

The create view statement does not explore the actual schema of the query’s 
table(s); it only parses and keeps the query.
Hence it can not tell what ‘*’ (or any list of column names) means:

 0: jdbc:drill:zk=local> create view pview as select * from  
dfs.`/data/PARQUET-1M.parquet`;
+-------+-------------------------------------------------------+
|  ok   |                        summary                        |
+-------+-------------------------------------------------------+
| true  | View 'pview' created successfully in 'dfs.tmp' schema  |
+-------+-------------------------------------------------------+
1 row selected (0.274 seconds)
0: jdbc:drill:zk=local> describe pview;
+--------------+---------------+--------------+
| COLUMN_NAME  |   DATA_TYPE   | IS_NULLABLE  |
+--------------+---------------+--------------+
| **           | DYNAMIC_STAR  | YES          |
+--------------+---------------+--------------+
1 row selected (0.419 seconds)
0: jdbc:drill:zk=local> create view pview2 as select row_count,just_garbage 
from  dfs.`/data/PARQUET-1M.parquet`;
+-------+---------------------------------------------------------+
|  ok   |                         summary                         |
+-------+---------------------------------------------------------+
| true  | View 'pview2' created successfully in 'dfs.tmp' schema  |
+-------+---------------------------------------------------------+
1 row selected (0.3 seconds)
0: jdbc:drill:zk=local> describe pview2;
+---------------+------------+--------------+
|  COLUMN_NAME  | DATA_TYPE  | IS_NULLABLE  |
+---------------+------------+--------------+
| row_count     | ANY        | YES          |
| just_garbage  | ANY        | YES          |
+---------------+------------+--------------+
2 rows selected (0.533 seconds)
0: jdbc:drill:zk=local>

Thanks,

      Boaz

On 3/1/18, 3:05 PM, "Padma Penumarthy" <[email protected]> wrote:

    Not sure why it is not showing the fields. It does not work for me either. 
    Does anyone know more ? Is this broken ? 
    
    Thanks
    Padma 
    
    > On Mar 1, 2018, at 2:54 PM, Erol Akarsu <[email protected]> wrote:
    > 
    > Somehow, after "user dfs.tmp", I was able to create view. But "describe"
    > for view does not give much information. I was expecting "describe" 
command
    > would give type  definitions of fields " employee_id  |    full_name     |
    > first_name  | last_name  | position_id  |   position_title    | store_id  
|
    > depart ". But it does give a very generic field type.
    > 
    > 
    > 0: jdbc:drill:zk=local> create view mydonuts2 as SELECT * FROM
    > cp.`employee.json` LIMIT 3;
    > +-------+------------------------------------------------------------+
    > |  ok   |                          summary                           |
    > +-------+------------------------------------------------------------+
    > | true  | View 'mydonuts2' created successfully in 'dfs.tmp' schema  |
    > +-------+------------------------------------------------------------+
    > 1 row selected (0.283 seconds)
    > 0: jdbc:drill:zk=local> describe mydonuts2;
    > +--------------+------------+--------------+
    > | COLUMN_NAME  | DATA_TYPE  | IS_NULLABLE  |
    > +--------------+------------+--------------+
    > | *            | ANY        | YES          |
    > +--------------+------------+--------------+
    > 1 row selected (0.388 seconds)
    > 0: jdbc:drill:zk=local>  SELECT * FROM cp.`employee.json` LIMIT 3;
    > 
+--------------+------------------+-------------+------------+--------------+---------------------+-----------+--------+
    > | employee_id  |    full_name     | first_name  | last_name  | position_id
    > |   position_title    | store_id  | depart |
    > 
+--------------+------------------+-------------+------------+--------------+---------------------+-----------+--------+
    > | 1            | Sheri Nowmer     | Sheri       | Nowmer     | 1
    > | President           | 0         | 1      |
    > | 2            | Derrick Whelply  | Derrick     | Whelply    | 2
    > | VP Country Manager  | 0         | 1      |
    > | 4            | Michael Spence   | Michael     | Spence     | 2
    > | VP Country Manager  | 0         | 1      |
    > 
+--------------+------------------+-------------+------------+--------------+---------------------+-----------+--------+
    > 3 rows selected (0.579 seconds)
    > 
    > On Thu, Mar 1, 2018 at 3:18 PM, Erol Akarsu <[email protected]> wrote:
    > 
    >> Padma,
    >> 
    >> I have not created any user. I just installed the system and run drill
    >> with  "sqlline.bat -u "jdbc:drill:zk=local"
    >> Therefore, what is shortest procedure to achieve what you have described
    >> in previous email?
    >> 
    >> Thanks
    >> 
    >> Erol Akarsu
    >> 
    >> On Thu, Mar 1, 2018 at 3:00 PM, Padma Penumarthy <[email protected]>
    >> wrote:
    >> 
    >>> Check if you have permissions to root directory or not.
    >>> You may have to specify the complete directory path (for which you have
    >>> permissions for) in the create view command.
    >>> 
    >>> For example:
    >>> 
    >>> 0: jdbc:drill:zk=local> create view 
dfs.root.`/Users/ppenumarthy/parquet/test-view`
    >>> as select * from dfs.root.`/Users/ppenumarthy/parquet/0_0_0.parquet`;
    >>> +-------+---------------------------------------------------
    >>> -------------------------------------+
    >>> |  ok   |                                        summary
    >>>                       |
    >>> +-------+---------------------------------------------------
    >>> -------------------------------------+
    >>> | true  | View '/Users/ppenumarthy/parquet/test-view' created
    >>> successfully in 'dfs.root' schema  |
    >>> +-------+---------------------------------------------------
    >>> -------------------------------------+
    >>> 1 row selected (0.148 seconds)
    >>> 0: jdbc:drill:zk=local>
    >>> 
    >>> 
    >>> Thanks
    >>> Padma
    >>> 
    >>> On Mar 1, 2018, at 11:37 AM, Erol Akarsu <[email protected]<mailto:eaka
    >>> [email protected]>> wrote:
    >>> 
    >>> Padma,
    >>> 
    >>> I have changed dfs storage plugin through web interface as below. But I 
am
    >>> getting same error response.
    >>> 
    >>> {
    >>> "type": "file",
    >>> "enabled": true,
    >>> "connection": "file:///",
    >>> "config": null,
    >>> "workspaces": {
    >>>   "root": {
    >>>     "location": "/",
    >>>     "writable": true,
    >>>     "defaultInputFormat": null,
    >>>     "allowAccessOutsideWorkspace": true
    >>>   },
    >>>   "tmp": {
    >>>     "location": "/tmp",
    >>>     "writable": true,
    >>>     "defaultInputFormat": null,
    >>>     "allowAccessOutsideWorkspace": true
    >>>   }
    >>> },
    >>> 
    >>> On Thu, Mar 1, 2018 at 1:15 PM, Padma Penumarthy <[email protected]
    >>> <mailto:[email protected]>>
    >>> wrote:
    >>> 
    >>> Make "writable": true for the workspace (dfs.root) in the storage plugin
    >>> configuration.
    >>> 
    >>> Thanks
    >>> Padma
    >>> 
    >>> 
    >>> On Mar 1, 2018, at 10:10 AM, Erol Akarsu <[email protected]<mailto:eaka
    >>> [email protected]><mailto:eaka
    >>> [email protected]<mailto:[email protected]>>> wrote:
    >>> 
    >>> Thanks Padma.
    >>> 
    >>> I am getting problem while creating view
    >>> 
    >>> 0: jdbc:drill:zk=local> create view mydonuts as SELECT * FROM
    >>> cp.`employee.json` LIMIT 3;
    >>> Error: VALIDATION ERROR: Root schema is immutable. Creating or dropping
    >>> tables/views is not allowed in root schema.Select a schema using 'USE
    >>> schema' command.
    >>> 
    >>> 
    >>> [Error Id: 68a31047-5a4e-4768-8722-55648d9a80f6 on 
DESKTOP-8OANV3A:31010]
    >>> (state=,code=0)
    >>> 0: jdbc:drill:zk=local>
    >>> 
    >>> On Thu, Mar 1, 2018 at 12:49 PM, Padma Penumarthy <[email protected]
    >>> <mailto:[email protected]>
    >>> <mailto:[email protected]>>
    >>> wrote:
    >>> 
    >>> Try creating a view and use describe.
    >>> 
    >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.
    >>> apache.org_docs_describe_&d=DwIBaQ&c=cskdkSMqhcnjZxdQVpwTXg&r=
    >>> XVqW14B9eGK9QR_fKKCb5H5LxKnqNMmq1U7RdNlhq1c&m=blTmu-WQJa5RUrxqG46o20B-a-
    >>> UP0yCHKGqcBo1ETlI&s=SxKqC4w_I5bbnNAtIvzO_9qptLP-KsHi0iIbjtzyrc8&e=
    >>> 
    >>> Thanks
    >>> Padma
    >>> 
    >>> 
    >>> On Mar 1, 2018, at 9:22 AM, Erol Akarsu <[email protected]<mailto:eaka
    >>> [email protected]><mailto:eaka
    >>> [email protected]<mailto:[email protected]>><mailto:eaka
    >>> [email protected]<mailto:[email protected]><mailto:[email protected]>>> wrote:
    >>> 
    >>> When Use limit 0 query,  I am getting only field names. I am looking for
    >>> json schema for input that will describe input type
    >>> 
    >>> 0: jdbc:drill:> select * from `clicks/clicks.json` limit 0;
    >>> 
    >>> +-----------+-------+-------+------------+-------------+
    >>> | trans_id  | date  | time  | user_info  | trans_info  |
    >>> +-----------+-------+-------+------------+-------------+
    >>> +-----------+-------+-------+------------+-------------+
    >>> No
    >>> 
    >>> On Thu, Mar 1, 2018 at 11:24 AM, Erol Akarsu <[email protected]<mailto:
    >>> [email protected]><mailto:
    >>> [email protected]<mailto:[email protected]>><mailto:
    >>> [email protected]<mailto:[email protected]><mailto:[email protected]>>>
    >>> wrote:
    >>> 
    >>> I am sorry Sorabh
    >>> Can you give an example? I am still learning Drill
    >>> Thanks
    >>> 
    >>> On Thu, Mar 1, 2018 at 11:11 AM Sorabh Hamirwasia <[email protected]
    >>> <mailto:[email protected]>
    >>> <mailto:[email protected]>
    >>> <mailto:[email protected]>>
    >>> wrote:
    >>> 
    >>> Hi Erol,
    >>> 
    >>> You can run limit 0 query from client to retrieve just the schema for
    >>> your input.
    >>> 
    >>> 
    >>> Thanks,
    >>> Sorabh
    >>> 
    >>> ________________________________
    >>> From: Erol Akarsu <[email protected]<mailto:[email protected]><mailto:
    >>> [email protected]><mailto:
    >>> [email protected]<mailto:[email protected]>>>
    >>> Sent: Thursday, March 1, 2018 5:28:52 AM
    >>> To: [email protected]<mailto:[email protected]><mailto:u
    >>> [email protected]><mailto:u
    >>> [email protected]<mailto:[email protected]>>
    >>> Subject: Accessing underlying scheme of input
    >>> 
    >>> I know Apache drill is creating a json schema for input data file or 
hdfs
    >>> input before user query on it.
    >>> I like to know whether or not Apache drill has API that will help user 
to
    >>> obtain that  derived schema for say an json file or excel file or hive
    >>> input.
    >>> I appreciate your help
    >>> 
    >>> Erol Akarsu
    >>> 
    >>> Sent from Mail for Windows 10
    >>> 
    >>> --
    >>> 
    >>> Erol Akarsu
    >>> 
    >>> 
    >>> 
    >>> 
    >>> --
    >>> 
    >>> Erol Akarsu
    >>> 
    >>> 
    >>> 
    >>> 
    >>> --
    >>> 
    >>> Erol Akarsu
    >>> 
    >>> 
    >>> 
    >>> 
    >>> --
    >>> 
    >>> Erol Akarsu
    >>> 
    >>> 
    >> 
    >> 
    >> --
    >> 
    >> Erol Akarsu
    >> 
    >> 
    > 
    > 
    > -- 
    > 
    > Erol Akarsu
    
    

Reply via email to