drill-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bridg...@apache.org
Subject [1/2] drill git commit: production work
Date Thu, 25 Jun 2015 21:46:02 GMT
Repository: drill
Updated Branches:
  refs/heads/gh-pages 957c5d868 -> bc3027b1d


production work

typo

Hao's change

typos

more detail


Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/4363f1f3
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/4363f1f3
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/4363f1f3

Branch: refs/heads/gh-pages
Commit: 4363f1f348ccc257068ed8db5b1f1419145671d9
Parents: 957c5d8
Author: Kristine Hahn <khahn@maprtech.com>
Authored: Thu Jun 25 14:14:05 2015 -0700
Committer: Kristine Hahn <khahn@maprtech.com>
Committed: Thu Jun 25 14:20:17 2015 -0700

----------------------------------------------------------------------
 _docs/110-troubleshooting.md                    | 228 +++++++++----------
 .../configure-drill/100-ports-used-by-drill.md  |  14 +-
 .../040-persistent-configuration-storage.md     |   4 +-
 .../030-browsing-data-and-creating-views.md     |  19 +-
 .../020-querying-parquet-files.md               |   2 +-
 .../sql-commands/030-create-table-as.md         |  10 +-
 6 files changed, 132 insertions(+), 145 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/4363f1f3/_docs/110-troubleshooting.md
----------------------------------------------------------------------
diff --git a/_docs/110-troubleshooting.md b/_docs/110-troubleshooting.md
index 4713c17..8866461 100755
--- a/_docs/110-troubleshooting.md
+++ b/_docs/110-troubleshooting.md
@@ -12,85 +12,111 @@ You should also know the version of Drill running in the cluster. You
can search
 ### Identify the Foreman
 Issue the following query to identify the node running as the Foreman:  
 
-       SELECT host FROM sys.drillbits WHERE `` `current` `` = true;
+``SELECT hostname FROM sys.drillbits WHERE `current` = true;``
 
 ### Identify the Drill Version
-Issue the following query to identify the version of Drill running in your cluster:
-SELECT commit_id FROM sys.version;
+Issue the following query to identify the version of Drill running in your cluster:  
+`SELECT commit_id FROM sys.version;`
 
 ### Enable Verbose Errors
 You can enable the verbose errors option for a more detailed error print-out.
 
 Issue the following command to enable the verbose errors option:  
 
-       ALTER SESSION SET `exec.errors.verbose` = true
-
-## Troubleshooting
-If you have any issues in Drill, search the following list for your issue and apply the suggested
solution:
-
-**Query Parsing Errors**  
+``ALTER SESSION SET `exec.errors.verbose` = true``
+
+## Troubleshooting Problems and Solutions
+If you have any of the following problems, try the suggested solution:
+
+* [Query Parsing Errors]({{site.baseurl}}/docs/troubleshooting/#query-parsing-errors)
+* [Query Parsing Errors Caused by Reserved Words]({{site.baseurl}}/docs/troubleshooting/#query-parsing-errors-caused-by-reserved-words)
+* [Table Not Found]({{site.baseurl}}/docs/troubleshooting/#table-not-found)
+* [Access Nested Fields without Table Name/Alias]({{site.baseurl}}/docs/troubleshooting/#access-nested-fields-without-table-name/alias)
+* [Unexpected Null Values for Columns in Results]({{site.baseurl}}/docs/troubleshooting/#unexpected-null-values-for-columns-in-results)
+* [Using Functions with Incorrect Data Types]({{site.baseurl}}/docs/troubleshooting/#using-functions-with-incorrect-data-types)
+* [Query Takes a Long Time to Return]({{site.baseurl}}/docs/troubleshooting/#query-takes-a-long-time-to-return)
+* [Schema Changes]({{site.baseurl}}/docs/troubleshooting/#schema-changes)
+* [Timestamps and Timezones Other Than UTC]({{site.baseurl}}/docs/troubleshooting/#timestamps-and-timezones-other-than-utc)
+* [Unexpected ODBC Issues]({{site.baseurl}}/docs/troubleshooting/#unexpected-odbc-issues)
+* [JDBC/ODBC Connection Issues with ZooKeeper]({{site.baseurl}}/docs/troubleshooting/#jdbc/odbc-connection-issues-with-zookeeper)
+* [Metadata Queries Take a Long Time to Return]({{site.baseurl}}/docs/troubleshooting/#metadata-queries-take-a-long-time-to-return)
+* [Unexpected Results Due to Implicit Casting]({{site.baseurl}}/docs/troubleshooting/#unexpected-results-due-to-implicit-casting)
+* [Column Alias Causes an Error]({{site.baseurl}}/docs/troubleshooting/#column-alias-causes-an-error)
+* [List (Array) Contains Null]({{site.baseurl}}/docs/troubleshooting/#list-(array)-contains-null)
+* [SELECT COUNT (*) Takes a Long Time to Run]({{site.baseurl}}/docs/troubleshooting/#select-count-(*)-takes-a-long-time-to-run)
+* [Tableau Issues]({{site.baseurl}}/docs/troubleshooting/#tableau-issues)
+* [GROUP BY Using Alias]({{site.baseurl}}/docs/troubleshooting/#group-by-using-alias)
+* [Casting a VARCHAR String to an INTEGER Causes an Error]({{site.baseurl}}/docs/troubleshooting/#casting-a-varchar-string-to-an-integer-causes-an-error)
+* [Unexpected Exception during Fragment Initialization]({{site.baseurl}}/docs/troubleshooting/#unexpected-exception-during-fragment-initialization)
+* [Queries Running Out of Memory]({{site.baseurl}}/docs/troubleshooting/#queries-running-out-of-memory)
+* [Unclear Error Message]({{site.baseurl}}/docs/troubleshooting/#unclear-error-message)
+* [SQLLine Error Starting Drill in Embedded Mode]({{site.baseurl}}/docs/troubleshooting/#sqlline-error-starting-drill-in-embedded-mode)
+
+
+### Query Parsing Errors
 Symptom:  
 
-       PARSE ERROR: At line x, column x: ...
+`PARSE ERROR: At line x, column x: ...`  
 Solution: Verify that you are using valid syntax. See [SQL Reference]({{ site.baseurl }}/docs/sql-reference-introduction/).
-If you are using common words, they may be reserved words.  Make sure to use back ticks
-Confirm that you are using back ticks to quote identifiers when using special characters
such as back slashes or periods from a file path.
 
-**Reserved Words**  
+
+### Query Parsing Errors Caused by Reserved Words
+Using a common word, such as count, which is a reserved word, as an identifier causes an
error.  
 Symptom:   
 
-       select count from dfs.drill.`test2.json`;
+       SELECT COUNT FROM dfs.tmp.`test2.json`;
        Query failed: SYSTEM ERROR: Failure parsing SQL. Encountered "count from" at line
1, column 8.
        Was expecting one of:
            "UNION" ...
            "INTERSECT" ...
-Solution: Fix with correct syntax. See [Reserved Keywords]({{ site.baseurl }}/docs/reserved-keywords/).
+Solution: Enclose keywords and [identifiers that SQL cannot parse]({{site.baseurl}}/docs/lexical-structure/#identifier)
in back ticks. See [Reserved Keywords]({{ site.baseurl }}/docs/reserved-keywords/).
 
-       select `count` from dfs.drill.`test2.json`;  
+``SELECT `count` FROM dfs.tmp.`test2.json```;
 
-**Tables not found**  
+### Table Not Found
 Symptom:
  
-       select * from dfs.drill.test2.json;
+       SELECT * FROM dfs.drill.test2.json;
        Query failed: PARSE ERROR: From line 1, column 15 to line 1, column 17: Table 'dfs.drill.test2.json'
not found  
 
 Solutions:
 
-1. Run SHOW FILES to list the files in the dfs.drill workspace. 
-2. Check the permission of the files with those for the the Drill user.  
-3. Verify backticks added for file name: select * from dfs.drill.``test2.json``;  
-4. Drill may not be able to determine the type of file you are trying to read. Try using
Drill Default Input Format.  
-5. Verify that your storage plugin is correctly configured.
-6. Verify that Drill can auto-detect your file format.  Drill supports auto-detection for
the following formats:  
- * CSV
- * TSV
- * PSV
- * Parquet
- * JSON
-
-**Access nested fields without table name/alias**  
+* Run SHOW FILES to list the files in the dfs.drill workspace. 
+* Check the permission of the files with those for the the Drill user.  
+* Enclose file and path name in back ticks:  
+  ``SELECT * FROM dfs.drill.`test2.json`;``  
+* Drill may not be able to determine the type of file you are trying to read. Try using Drill
Default Input Format.  
+* Verify that your storage plugin is correctly configured.
+* Verify that Drill can auto-detect your file format.  Drill supports auto-detection for
the following formats:  
+  * CSV
+  * TSV
+  * PSV
+  * Parquet
+  * JSON
+
+### Access Nested Fields without Table Name/Alias
 Symptom: 
 
-       select x.y …  
+       SELECT x.y …  
        PARSE ERROR: At line 1, column 8: Table 'x' not found  
 Solution: Add table name or alias to the field reference:  
 
-       select t.x.y from t  
+`SELECT t.x.y FROM t`  
 
-**Unexpected null values for columns in results**  
+### Unexpected Null Values for Columns in Results
 Symptom:  The following type of query returns NULL values:  
 
-       select t.price from t 
+`SELECT t.price FROM t` 
 
 
 Solution: Drill is schema-less system. Verify that column names are typed correctly.
 
 
-**Using functions with incorrect data types**  
+### Using Functions with Incorrect Data Types
 
 Symptom: Example  
 
-       select trunc(c3) from t3;
+       SELECT TRUNC(c3) FROM t3;
        
        0: jdbc:drill:schema=dfs> select trunc(c3) from t3;
        Query failed: SYSTEM ERROR: Failure while trying to materialize incoming schema. 
Errors:
@@ -102,19 +128,19 @@ Symptom: Example
        [6e465594-4d83-4042-b88d-50e7eb207484 on atsqa4-133.qa.lab:31010]
        Error: exception while executing query: Failure while executing query. (state=,code=0)
 
 
-Solution: Ensure that the function is invoked with the correct data type parameters. In the
example above, c3 is an unsupported date type. 
+Solution: Ensure that the function is invoked with the correct data type parameters. In this
example, c3 is an unsupported date type. 
 
-**Query takes a long time to return** 
+### Query Takes a Long Time to Return
 
 Symptom: Query takes longer to return than expected.
 
-Solution: Review the [query profile]({{ site.baseurl }}/docs/query-profiles/) and:  
+Solution: Review the [query profile]({{ site.baseurl }}/docs/query-profiles/) and perform
the following tasks:  
 
- * Determine whether progress is being made (look at last update and last change times).
+ * Determine whether progress is being made. Look at last update and last change times.
  * Look at where Drill is currently spending time and try to optimize those operations.
  * Confirm that Drill is taking advantage of the nature of your data, including things like
partition pruning and projection pushdown.
 
-**Schema changes**  
+### Schema Changes
 
 Symptom:  
 
@@ -123,155 +149,117 @@ Symptom:
        Record  2
        Fragment 0:0  
 
-Solution: Drill does not fully support schema changes.  In this case, you will need to either
ensure that your schemas are the same or only select columns that share schema.
+Solution: Drill does not fully support schema changes. Either ensure that your schemas are
the same or only select columns that share schema.
 
-**Timestamps and Timezones other than UTC**  
+### Timestamps and Timezones Other Than UTC
 
 Symptoms: Issues with timestamp and timezone. Illegal instant due to time zone offset transition
(America/New_York)
 
-Solution: Convert data to UTC format. You are most likely trying to import date and time
data that is encoded one timezone in a different timezone.  Drill’s default behavior is
to use the system’s time for converting incoming data.  If you are providing UTC data and
your Drillbit nodes do not run with UTC time, you’ll need to run your JVM with the following
system property:
+Solution: Convert data to UTC format. You are most likely trying to import date and time
data that is encoded one timezone in a different timezone.  Drill’s default behavior is
to use the system time for converting incoming data.  If you are providing UTC data and your
Drillbit nodes do not run with UTC time, you’ll need to run your JVM with the following
system property:
 
-     -Duser.timezone=UTC  
+`-Duser.timezone=UTC`  
 
- `http://www.openkb.info/2015/05/understanding-drills-timestamp-and.html `  
+http://www.openkb.info/2015/05/understanding-drills-timestamp-and.html  
 
-**Unexpected ODBC issues**  
+### Unexpected ODBC Issues
 
 Symptom: ODBC errors.
 
-Solution: Make sure that the ODBC driver version is compatible with the server version. 
+Solution: Make sure that the ODBC driver version is compatible with the server version. [Driver
installation instructions]({{site.baseurl}}/docs/installing-the-odbc-driver) include how to
check the driver version. 
 Turn on ODBC driver debug logging to better understand failure.  
 
-**Connectivity issues when connecting via ZooKeeper for JDBC/ODBC**  
+### JDBC/ODBC Connection Issues with ZooKeeper
 
 Symptom: Client cannot resolve ZooKeeper host names for JDBC/ODBC.
 
-Solution: Ensure that Zookeeper is up and running. Verify that Drill has the correct drill-override.conf
settings for the Zookeeper quorum.
+Solution: Ensure that Zookeeper is up and running. Verify that Drill has the correct `drill-override.conf`
settings for the Zookeeper quorum.
 
-**Metadata queries take a long time to return**  
+### Metadata Queries Take a Long Time to Return
 
-Symptom: Running SHOW databases/schemas/tables hangs (in general any information_schema queries
hang).
+Symptom: Running SHOW databases/schemas/tables hangs. In general any INFORMATION_SCHEMA queries
hang.
 
 Solution: Disable incorrectly configured storage plugins or start appropriate services. Check
compatibility matrix for the appropriate versions.  
 
-**Unexpected results due to implicit casting**  
+### Unexpected Results Due to Implicit Casting
 
-Symptom: rill implicitly casts based on order of precedence.
+Symptom: Drill implicitly casts based on order of precedence.
 
 Solution: Review Drill casting behaviors and explicitly cast for the expected results. See
[Data Types]({{ site.baseurl }}/docs/handling-different-data-types/).
 
-**Column alias causes an error**  
+### Column Alias Causes an Error
 
 Symptom: Drill is not case sensitive, and you can provide any alias for a column name. However,
if the storage type is case sensitive, the alias name may conflict and cause errors.
 
 Solution: Verify that the column alias does not conflict with the storage type. See [Lexical
Structures]({{ site.baseurl }}/docs/lexical-structure/#case-sensitivity).  
 
-**List (arrays) contains null**  
+### List (Array) Contains Null
 
-Symptom: UNSUPPORTED\_OPERATION ERROR: Null values are not supported in lists by default.
Please set store.json.all\_text_mode to true to read lists containing nulls. Be advised that
this will treat JSON null values as a string containing the word 'null'.
+Symptom: UNSUPPORTED\_OPERATION ERROR: Null values are not supported in lists by default.

 
-Solution: Change Drill session settings to enable all_text_mode per message.  
-Avoid selecting fields that are arrays containing nulls.
+Solution: Avoid selecting fields that are arrays containing nulls. Change Drill session settings
to enable all_text_mode. Set store.json.all\_text_mode to true, so Drill treats JSON null
values as a string containing the word 'null'.
 
-**SELECT COUNT (\*) takes a long time to run**  
+### SELECT COUNT (\*) Takes a Long Time to Run
 
-Solution: In come cases, the underlying storage format does not have a built-in capability
to return a count of records in a table.  In these cases, Drill will do a full scan of the
data to verify the number of records.
+Solution: In some cases, the underlying storage format does not have a built-in capability
to return a count of records in a table.  In these cases, Drill does a full scan of the data
to verify the number of records.
 
-**Tableau issues**  
+### Tableau Issues
 
 Symptom: You see a lot of error messages in ODBC trace files or the performance is slow.
 
 Solution: Verify that you have installed the TDC file shipped with the ODBC driver.  
 
-**Group by using alias**  
+### GROUP BY Using Alias
 
 Symptom: Invalid column.
 
 Solution: Not supported. Use column name and/or expression directly.  
 
-**Casting a Varchar string to an integer results in an error**  
+### Casting a VARCHAR String to an INTEGER Causes an Error
 
 Symptom: 
 
-       SYSTEM ERROR: java.lang.NumberFormatException
+`SYSTEM ERROR: java.lang.NumberFormatException`  
 
-Solution: Per the ANSI SQL specification CAST to INT does not support empty strings.  If
you want to change this behavior, you can set Drill to use the cast empty string to null behavior.
 This can be done using the drill.exec.functions.cast_empty_string_to_null SESSION/SYSTEM
option. 
+Solution: Per the SQL specificationm CAST to INT does not support empty strings.  If you
want to change this behavior, set the drill.exec.functions.cast_empty_string_to_null SESSION/SYSTEM
option. 
  
-**Unexpected exception during fragment initialization**  
+### Unexpected Exception during Fragment Initialization
 
-Symptom: The error occurred during the Foreman phase of the query. The error typically occurs
due to the following common causes:  
+Symptom: An error occurred during the Foreman phase of the query. The error typically occurs
due to the following common causes:  
 
 * Malformed SQL that passed initial validation but failed upon further analysis
 * Extraneous files in query directories do not match the default format type
 
 Solution: Enable the verbose errors option and run the query again to see if further insight
is provided.  
 
-**Queries running out of memory**  
+### Queries Running Out of Memory
 
 Symptom: 
 
-       RESOURCE ERROR: One or more nodes ran out of memory while executing the query.
+`RESOURCE ERROR: One or more nodes ran out of memory while executing the query.`  
 
 Solution:  
 
-* Increase the amount of direct memory allotted to Drill
-* If using CTAS, reduce the planner.width.max_per_node setting
-* Reduce the number of concurrent queries running on the cluster using Drill query queues
-* Disable hash aggregation and hash sort for your session
-* See [Configuration Options]({{ site.baseurl }}/docs/configuration-options-introduction/)
 
+* Increase the amount of direct memory allotted to Drill.
+* If using CTAS, reduce the planner.width.max_per_node setting.
+* Reduce the number of concurrent queries running on the cluster using Drill query queues.
+* Disable hash aggregation and hash sort for your session.
 
-**Unclear Error Message**  
+See [Configuration Options]({{ site.baseurl }}/docs/configuration-options-introduction/).
 
+
+### Unclear Error Message
 
 Symptom: Cannot determine issue from error message.
 
 Solution: Turn on verbose errors. 
 
-       alter session set `exec.errors.verbose`=true;
+``ALTER SESSION SET `exec.errors.verbose`=true;``  
 
-Determine your currently connected drillbit using select * from sys.drillbits.  Then review
logs Drill logs from that drillbit.
+Determine your currently connected drillbit using `SELECT * FROM sys.drillbits.  Then review
logs Drill logs from that drillbit.
 
-**SQLLine error starting Drill in embedded mode**  
+### SQLLine Error Starting Drill in Embedded Mode
 
 Symptom:  
 
-       java.net.BindException: Address already in use  
-
-Solution:  You can only run one Drillbit per node(embedded or daemon) using default settings.
 You need to either change ports used by Drillbit or stop one Drillbit before starting another.
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-       
-
-
-
-
-
-
+`java.net.BindException: Address already in use`  
 
+Solution:  You can only run one Drillbit per node in embedded or distributed mode using default
settings. You need to either change ports used by Drillbit or stop one Drillbit before starting
another.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/drill/blob/4363f1f3/_docs/configure-drill/100-ports-used-by-drill.md
----------------------------------------------------------------------
diff --git a/_docs/configure-drill/100-ports-used-by-drill.md b/_docs/configure-drill/100-ports-used-by-drill.md
index 340b6cb..2cb7ba5 100644
--- a/_docs/configure-drill/100-ports-used-by-drill.md
+++ b/_docs/configure-drill/100-ports-used-by-drill.md
@@ -5,11 +5,11 @@ parent: "Configure Drill"
 The following table provides a list of the ports that Drill uses, the port
 type, and a description of how Drill uses the port:
 
-| Port  | Type | Description                                                            
                                                                                         
            |
-|-------|------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| 8047  | TCP  | Needed for the Drill Web UI.                                           
                                                                                         
            |
-| 31010 | TCP  | User port address. Used between nodes in a Drill cluster. Needed for an
external client, such as Tableau, to connect into thecluster nodes. Also needed for the Drill
Web UI. |
-| 31011 | TCP  | Control port address. Used between nodes in a Drill cluster. Needed for
multi-node installation of Apache Drill.                                                 
            |
-| 31012 | TCP  | Data port address. Used between nodes in a Drill cluster. Needed for multi-node
installation of Apache Drill.                                                            
    |
-| 46655 | UDP  | Used for JGroups and Infinispan. Needed for multi-node installation of Apache
Drill.                                                                                   
      |
+| Port  | Type | Description                                                            
                                                                                         
             |
+|-------|------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| 8047  | TCP  | Needed for the Drill Web UI.                                           
                                                                                         
             |
+| 31010 | TCP  | User port address. Used between nodes in a Drill cluster. Needed for an
external client, such as Tableau, to connect into the cluster nodes. Also needed for the Drill
Web UI. |
+| 31011 | TCP  | Control port address. Used between nodes in a Drill cluster. Needed for
multi-node installation of Apache Drill.                                                 
             |
+| 31012 | TCP  | Data port address. Used between nodes in a Drill cluster. Needed for multi-node
installation of Apache Drill.                                                            
     |
+| 46655 | UDP  | Used for JGroups and Infinispan. Needed for multi-node installation of Apache
Drill.                                                                                   
       |
 

http://git-wip-us.apache.org/repos/asf/drill/blob/4363f1f3/_docs/configure-drill/configuration-options/040-persistent-configuration-storage.md
----------------------------------------------------------------------
diff --git a/_docs/configure-drill/configuration-options/040-persistent-configuration-storage.md
b/_docs/configure-drill/configuration-options/040-persistent-configuration-storage.md
index 2c7d5c7..2c9d843 100644
--- a/_docs/configure-drill/configuration-options/040-persistent-configuration-storage.md
+++ b/_docs/configure-drill/configuration-options/040-persistent-configuration-storage.md
@@ -30,7 +30,7 @@ You need to configure the ZooKeeper PStore to use the Drill Web UI when
running
 
 ### Why Configure the ZooKeeper PStore
 
-When you run multiple DrillBits, configure a specific location for ZooKeeper to offload the
query profile data instead of accepting the default temporary location. All Drillbits in the
cluster cannot access the temporary location. Consequently, when you do not configure a location
on the distributed file system, queries sent to do some Drillbits do not appear in the Completed
section of the Drill Web UI. Also, some Running links that you click to get information about
the running queries are broken links.
+When you run multiple DrillBits, configure a specific location for ZooKeeper to offload the
query profile data instead of accepting the default temporary location. All Drillbits in the
cluster cannot access the temporary location. Consequently, when you do not configure a location
on the distributed file system, queries sent to some Drillbits do not appear in the Completed
section of the Drill Web UI. Also, some Running links that you click to get information about
running queries are broken links.
 
 ### How to Configure the ZooKeeper PStore
 
@@ -61,7 +61,7 @@ override.conf.`
 	sys.store.provider: {
 	    class: "org.apache.drill.exec.store.hbase.config.HBasePStoreProvider",
 	    hbase: {
-	      table : "drill_store",
+	      table : "drill_store"
 	      config: {
 	      "hbase.zookeeper.quorum": "<ip_address>,<ip_address>,<ip_address >,<ip_address>",
 	      "hbase.zookeeper.property.clientPort": "2181"

http://git-wip-us.apache.org/repos/asf/drill/blob/4363f1f3/_docs/odbc-jdbc-interfaces/using-drill-explorer/030-browsing-data-and-creating-views.md
----------------------------------------------------------------------
diff --git a/_docs/odbc-jdbc-interfaces/using-drill-explorer/030-browsing-data-and-creating-views.md
b/_docs/odbc-jdbc-interfaces/using-drill-explorer/030-browsing-data-and-creating-views.md
index 482d1fb..66b2983 100644
--- a/_docs/odbc-jdbc-interfaces/using-drill-explorer/030-browsing-data-and-creating-views.md
+++ b/_docs/odbc-jdbc-interfaces/using-drill-explorer/030-browsing-data-and-creating-views.md
@@ -62,20 +62,18 @@ syntax guidelines, depending on the schema type or file format.
 
 Specify individual columns when defining a view in Drill Explorer instead of attempting to
select all, as shown in the following examples.
 
-`SELECT CAST(account['name'] AS varchar(20)) FROM hbase.students`
-
-`SELECT CAST(column1 AS varchar(20)) FROM `dfs`.`default`.`./opt/drill/test.parquet``
-
-`SELECT column1 FROM `dfs`.`default`.`./opt/drill/interval.json``
+    SELECT CAST(account['name'] AS varchar(20)) FROM hbase.students
+    SELECT CAST(column1 AS varchar(20)) FROM `dfs`.`default`.`./opt/drill/test.parquet`
+    SELECT column1 FROM `dfs`.`default`.`./opt/drill/interval.json`
 
 To query nested elements, use the following syntax, where menu is a child of column1:
 
-`SELECT column1['menu'] FROM `dfs`.`default`.`./opt/drill/interval.json``
+``SELECT column1['menu'] FROM `dfs`.`default`.`./opt/drill/interval.json```
 
 You can query elements that are multiple levels deep. Continuing the example, if
 menuitem is a child of menu, then use the following syntax:
 
-`SELECT column1['menu']['menuitem'] FROM `dfs`.`default`.`./opt/drill/interval.json``
+    SELECT column1['menu']['menuitem'] FROM `dfs`.`default`.`./opt/drill/interval.json`
 
 ## Casting Data Requirements
 
@@ -85,14 +83,13 @@ displays results from an HBase database in binary format:
 `SELECT account['name'] FROM hbase.students`
 
 The following query displays the same results in string format:  
-`SELECT CAST(account['name'] AS varchar(20)) FROM
-hbase.students`
+`SELECT CAST(account['name'] AS varchar(20)) FROM hbase.students`
 
 The following query displays results from a Parquet file in binary format:  
-`SELECT column1 FROM `dfs`.`default`.`./opt/drill/test.parquet``
+``SELECT column1 FROM `dfs`.`default`.`./opt/drill/test.parquet```
 
 The following query displays the same results in string format:
 
-`SELECT CAST(column1 AS varchar(20)) FROM `dfs`.`default`.`./opt/drill/test.parquet``
+``SELECT CAST(column1 AS varchar(20)) FROM `dfs`.`default`.`./opt/drill/test.parquet```
 
 You can also cast the data as other data types, such as integer or date formats.

http://git-wip-us.apache.org/repos/asf/drill/blob/4363f1f3/_docs/query-data/query-a-file-system/020-querying-parquet-files.md
----------------------------------------------------------------------
diff --git a/_docs/query-data/query-a-file-system/020-querying-parquet-files.md b/_docs/query-data/query-a-file-system/020-querying-parquet-files.md
index df14662..5823f0e 100644
--- a/_docs/query-data/query-a-file-system/020-querying-parquet-files.md
+++ b/_docs/query-data/query-a-file-system/020-querying-parquet-files.md
@@ -14,7 +14,7 @@ The examples assume that Drill was [installed in embedded mode]({{ site.baseurl
 
 To view the data in the `region.parquet` file, issue the following query:
 
-        SELECT * FROM dfs.`<path-to-installation>/apache-drill-<version>\sample-data\region.parquet`;
+        SELECT * FROM dfs.`<path-to-installation>/apache-drill-<version>/sample-data/region.parquet`;
 
 The query returns the following results:
 

http://git-wip-us.apache.org/repos/asf/drill/blob/4363f1f3/_docs/sql-reference/sql-commands/030-create-table-as.md
----------------------------------------------------------------------
diff --git a/_docs/sql-reference/sql-commands/030-create-table-as.md b/_docs/sql-reference/sql-commands/030-create-table-as.md
index 1669cf6..053ab52 100644
--- a/_docs/sql-reference/sql-commands/030-create-table-as.md
+++ b/_docs/sql-reference/sql-commands/030-create-table-as.md
@@ -4,12 +4,14 @@ parent: "SQL Commands"
 ---
 You can create tables in Drill by using the CTAS command:
 
-    CREATE TABLE new_table_name AS <query>;
+    CREATE TABLE <table name> AS <query>;
 
-where query is a SELECT statement. Each table you create must have a unique
-name. You can include an optional column list for the new table. For example:
+*table name* is a unique table table, optionally prefaced by a storage plugin name, such
as dfs, a workspace, such as tmp, and a path to the write location using dot notation and
back ticks.  
+*query* is a SELECT statement that can include an optional column list for the new table.

 
-    create table logtable(transid, prodid) as select transaction_id, product_id from ...
+Example:
+
+    CREATE TABLE logtable(transid, prodid) AS SELECT transaction_id, product_id FROM ...
 
 You can store table data in one of three formats:
 


Mime
View raw message