For question 4, what is the current schema?
On Mon, Aug 11, 2014 at 10:57 AM, Bob Rumsby <[email protected]> wrote: > We talked to Rahul about this last week, and we think that the term > *schema* is overloaded and misleading for several reasons: > > 1. The meaning of the term, generally speaking, depends on the context. > 2. A *schema* usually refers to the type and structure of data in a > data source, but Drill operates on data that is "schema-less" or > "self-describing." > 3. We have commands that refer to schemas, workspaces, file systems, > and databases interchangeably. > 4. A *schema* in the relational database world is a namespace within a > single physical database. Drill does not use the term in this way. > > > Below are some specific examples where the use of the term *schema* does > not seem appropriate or accurate. It's a little bit tricky to explain > clearly. Please let me and Bridget know if you think we should try to > change the terminology, and we'll open a Jira. > > 1. Does it make sense to set a *workspace* or a *database* name with the > USE command and have it be called the "default schema"? > > 0: jdbc:drill:> use hive.`default`; > > +------------+------------+ > > | ok | summary | > > +------------+------------+ > > | true | Default schema changed to 'hive.default' | > > +------------+------------+ > > 1 row selected (0.113 seconds) > > 2. The SHOW DATABASES command returns a list of "schemas" not databases? > > > 0: jdbc:drill:> show databases; > > +-------------+ > > | SCHEMA_NAME | > > +-------------+ > > | hive.default | > > | dfs.default | > > .... > > > 3. The SHOW SCHEMAS command returns the same list, really a list of > workspaces and databases (workspaces for file systems, databases for Hive > and HBase): > > 0: jdbc:drill:> show schemas; > > +-------------+ > > | SCHEMA_NAME | > > +-------------+ > > | hive.default | > > | dfs.default | > > | dfs.root | > > | dfs.tmp | > > | sys | > > | MFS.default | > > | MFS.json_click | > > | lab.default | > > | lab.root | > > | lab.views | > > | lab.clicks | > > | hbase | > > | INFORMATION_SCHEMA | > > +-------------+ > > 13 rows selected (0.114 seconds) > > > 4. What is a "Drill schema" versus a "non-Drill schema"? This non-Drill > schema appears in the show schemas list. > > > 0: jdbc:drill:> create table mobile as select * from > MFS.json_click.`mobile.json` limit 2; > > +------------+------------+ > > | ok | summary | > > +------------+------------+ > > | false | Error: Current schema is not a Drill schema. Can't create > new relations (tables or views) in non-Drill schemas. | > > +------------+------------+ > > 1 row selected (0.086 seconds) > > 0: jdbc:drill:> show schemas; > > +-------------+ > > | SCHEMA_NAME | > > +-------------+ > > | hive.default | > > | dfs.default | > > | dfs.root | > > | dfs.tmp | > > | sys | > > | MFS.default | > > | MFS.json_click | > > .... > > -- Steven Phillips Software Engineer mapr.com
