You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by br...@apache.org on 2018/03/26 17:39:06 UTC

drill git commit: 1.13 doc updates and edits

Repository: drill
Updated Branches:
  refs/heads/gh-pages f36b4e8eb -> 89b616b12


1.13 doc updates and edits


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

Branch: refs/heads/gh-pages
Commit: 89b616b12102ce6b6ea84650b9e10dacf97f90a8
Parents: f36b4e8
Author: Bridget Bevens <bb...@maprtech.com>
Authored: Mon Mar 26 10:37:48 2018 -0700
Committer: Bridget Bevens <bb...@maprtech.com>
Committed: Mon Mar 26 10:37:48 2018 -0700

----------------------------------------------------------------------
 _data/docs.json                                 | 140 +++++++++----------
 .../020-configuring-drill-memory.md             |   6 +-
 .../026-parquet-filter-pushdown.md              |  34 +++--
 .../010-partition-pruning-introduction.md       |  12 +-
 .../data-types/010-supported-data-types.md      |   4 +-
 .../sql-functions/020-data-type-conversion.md   |  26 +++-
 6 files changed, 126 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/89b616b1/_data/docs.json
----------------------------------------------------------------------
diff --git a/_data/docs.json b/_data/docs.json
index bbddf77..0cfe386 100644
--- a/_data/docs.json
+++ b/_data/docs.json
@@ -771,8 +771,8 @@
                 }
             ], 
             "children": [], 
-            "next_title": "Appendix E: Using cgroups to Control CPU Usage", 
-            "next_url": "/docs/appendix-e-using-cgroups-to-control-cpu-usage/", 
+            "next_title": "Install Drill", 
+            "next_url": "/docs/install-drill/", 
             "parent": "Drill-on-YARN", 
             "previous_title": "Appendix C: Troubleshooting", 
             "previous_url": "/docs/appendix-c-troubleshooting/", 
@@ -780,23 +780,6 @@
             "title": "Appendix D: Recreate the Drill Archive", 
             "url": "/docs/appendix-d-recreate-the-drill-archive/"
         }, 
-        "Appendix E: Using cgroups to Control CPU Usage": {
-            "breadcrumbs": [
-                {
-                    "title": "Drill-on-YARN", 
-                    "url": "/docs/drill-on-yarn/"
-                }
-            ], 
-            "children": [], 
-            "next_title": "Install Drill", 
-            "next_url": "/docs/install-drill/", 
-            "parent": "Drill-on-YARN", 
-            "previous_title": "Appendix D: Recreate the Drill Archive", 
-            "previous_url": "/docs/appendix-d-recreate-the-drill-archive/", 
-            "relative_path": "_docs/drill-on-yarn/094-appendix-e-using-cgroups-to-control-cpu-usage.md", 
-            "title": "Appendix E: Using cgroups to Control CPU Usage", 
-            "url": "/docs/appendix-e-using-cgroups-to-control-cpu-usage/"
-        }, 
         "Architecture": {
             "breadcrumbs": [], 
             "children": [
@@ -1731,14 +1714,31 @@
                         }
                     ], 
                     "children": [], 
-                    "next_title": "Connect a Data Source", 
-                    "next_url": "/docs/connect-a-data-source/", 
+                    "next_title": "Configuring cgroups to Control CPU Usage", 
+                    "next_url": "/docs/configuring-cgroups-to-control-cpu-usage/", 
                     "parent": "Configure Drill", 
                     "previous_title": "Ports Used by Drill", 
                     "previous_url": "/docs/ports-used-by-drill/", 
                     "relative_path": "_docs/configure-drill/120-configuring-the-drill-shell.md", 
                     "title": "Configuring the Drill Shell", 
                     "url": "/docs/configuring-the-drill-shell/"
+                }, 
+                {
+                    "breadcrumbs": [
+                        {
+                            "title": "Configure Drill", 
+                            "url": "/docs/configure-drill/"
+                        }
+                    ], 
+                    "children": [], 
+                    "next_title": "Connect a Data Source", 
+                    "next_url": "/docs/connect-a-data-source/", 
+                    "parent": "Configure Drill", 
+                    "previous_title": "Configuring the Drill Shell", 
+                    "previous_url": "/docs/configuring-the-drill-shell/", 
+                    "relative_path": "_docs/configure-drill/121-configuring-cgroups-to-control-cpu-usage.md", 
+                    "title": "Configuring cgroups to Control CPU Usage", 
+                    "url": "/docs/configuring-cgroups-to-control-cpu-usage/"
                 }
             ], 
             "next_title": "Configure Drill Introduction", 
@@ -2324,7 +2324,7 @@
             "title": "Configuring a Multitenant Cluster Introduction", 
             "url": "/docs/configuring-a-multitenant-cluster-introduction/"
         }, 
-        "Configuring the Drill Shell": {
+        "Configuring cgroups to Control CPU Usage": {
             "breadcrumbs": [
                 {
                     "title": "Configure Drill", 
@@ -2335,6 +2335,23 @@
             "next_title": "Connect a Data Source", 
             "next_url": "/docs/connect-a-data-source/", 
             "parent": "Configure Drill", 
+            "previous_title": "Configuring the Drill Shell", 
+            "previous_url": "/docs/configuring-the-drill-shell/", 
+            "relative_path": "_docs/configure-drill/121-configuring-cgroups-to-control-cpu-usage.md", 
+            "title": "Configuring cgroups to Control CPU Usage", 
+            "url": "/docs/configuring-cgroups-to-control-cpu-usage/"
+        }, 
+        "Configuring the Drill Shell": {
+            "breadcrumbs": [
+                {
+                    "title": "Configure Drill", 
+                    "url": "/docs/configure-drill/"
+                }
+            ], 
+            "children": [], 
+            "next_title": "Configuring cgroups to Control CPU Usage", 
+            "next_url": "/docs/configuring-cgroups-to-control-cpu-usage/", 
+            "parent": "Configure Drill", 
             "previous_title": "Ports Used by Drill", 
             "previous_url": "/docs/ports-used-by-drill/", 
             "relative_path": "_docs/configure-drill/120-configuring-the-drill-shell.md", 
@@ -2633,8 +2650,8 @@
             "next_title": "Connect a Data Source Introduction", 
             "next_url": "/docs/connect-a-data-source-introduction/", 
             "parent": "", 
-            "previous_title": "Configuring the Drill Shell", 
-            "previous_url": "/docs/configuring-the-drill-shell/", 
+            "previous_title": "Configuring cgroups to Control CPU Usage", 
+            "previous_url": "/docs/configuring-cgroups-to-control-cpu-usage/", 
             "relative_path": "_docs/050-connect-a-data-source.md", 
             "title": "Connect a Data Source", 
             "url": "/docs/connect-a-data-source/"
@@ -4282,31 +4299,14 @@
                         }
                     ], 
                     "children": [], 
-                    "next_title": "Appendix E: Using cgroups to Control CPU Usage", 
-                    "next_url": "/docs/appendix-e-using-cgroups-to-control-cpu-usage/", 
+                    "next_title": "Install Drill", 
+                    "next_url": "/docs/install-drill/", 
                     "parent": "Drill-on-YARN", 
                     "previous_title": "Appendix C: Troubleshooting", 
                     "previous_url": "/docs/appendix-c-troubleshooting/", 
                     "relative_path": "_docs/drill-on-yarn/093-appendix-d-recreate-the-drill-archive.md", 
                     "title": "Appendix D: Recreate the Drill Archive", 
                     "url": "/docs/appendix-d-recreate-the-drill-archive/"
-                }, 
-                {
-                    "breadcrumbs": [
-                        {
-                            "title": "Drill-on-YARN", 
-                            "url": "/docs/drill-on-yarn/"
-                        }
-                    ], 
-                    "children": [], 
-                    "next_title": "Install Drill", 
-                    "next_url": "/docs/install-drill/", 
-                    "parent": "Drill-on-YARN", 
-                    "previous_title": "Appendix D: Recreate the Drill Archive", 
-                    "previous_url": "/docs/appendix-d-recreate-the-drill-archive/", 
-                    "relative_path": "_docs/drill-on-yarn/094-appendix-e-using-cgroups-to-control-cpu-usage.md", 
-                    "title": "Appendix E: Using cgroups to Control CPU Usage", 
-                    "url": "/docs/appendix-e-using-cgroups-to-control-cpu-usage/"
                 }
             ], 
             "next_title": "Drill-on-YARN Introduction", 
@@ -5181,8 +5181,8 @@
             "next_title": "Install Drill Introduction", 
             "next_url": "/docs/install-drill-introduction/", 
             "parent": "", 
-            "previous_title": "Appendix E: Using cgroups to Control CPU Usage", 
-            "previous_url": "/docs/appendix-e-using-cgroups-to-control-cpu-usage/", 
+            "previous_title": "Appendix D: Recreate the Drill Archive", 
+            "previous_url": "/docs/appendix-d-recreate-the-drill-archive/", 
             "relative_path": "_docs/040-install-drill.md", 
             "title": "Install Drill", 
             "url": "/docs/install-drill/"
@@ -15097,31 +15097,14 @@
                         }
                     ], 
                     "children": [], 
-                    "next_title": "Appendix E: Using cgroups to Control CPU Usage", 
-                    "next_url": "/docs/appendix-e-using-cgroups-to-control-cpu-usage/", 
+                    "next_title": "Install Drill", 
+                    "next_url": "/docs/install-drill/", 
                     "parent": "Drill-on-YARN", 
                     "previous_title": "Appendix C: Troubleshooting", 
                     "previous_url": "/docs/appendix-c-troubleshooting/", 
                     "relative_path": "_docs/drill-on-yarn/093-appendix-d-recreate-the-drill-archive.md", 
                     "title": "Appendix D: Recreate the Drill Archive", 
                     "url": "/docs/appendix-d-recreate-the-drill-archive/"
-                }, 
-                {
-                    "breadcrumbs": [
-                        {
-                            "title": "Drill-on-YARN", 
-                            "url": "/docs/drill-on-yarn/"
-                        }
-                    ], 
-                    "children": [], 
-                    "next_title": "Install Drill", 
-                    "next_url": "/docs/install-drill/", 
-                    "parent": "Drill-on-YARN", 
-                    "previous_title": "Appendix D: Recreate the Drill Archive", 
-                    "previous_url": "/docs/appendix-d-recreate-the-drill-archive/", 
-                    "relative_path": "_docs/drill-on-yarn/094-appendix-e-using-cgroups-to-control-cpu-usage.md", 
-                    "title": "Appendix E: Using cgroups to Control CPU Usage", 
-                    "url": "/docs/appendix-e-using-cgroups-to-control-cpu-usage/"
                 }
             ], 
             "next_title": "Drill-on-YARN Introduction", 
@@ -15412,8 +15395,8 @@
             "next_title": "Install Drill Introduction", 
             "next_url": "/docs/install-drill-introduction/", 
             "parent": "", 
-            "previous_title": "Appendix E: Using cgroups to Control CPU Usage", 
-            "previous_url": "/docs/appendix-e-using-cgroups-to-control-cpu-usage/", 
+            "previous_title": "Appendix D: Recreate the Drill Archive", 
+            "previous_url": "/docs/appendix-d-recreate-the-drill-archive/", 
             "relative_path": "_docs/040-install-drill.md", 
             "title": "Install Drill", 
             "url": "/docs/install-drill/"
@@ -15933,14 +15916,31 @@
                         }
                     ], 
                     "children": [], 
-                    "next_title": "Connect a Data Source", 
-                    "next_url": "/docs/connect-a-data-source/", 
+                    "next_title": "Configuring cgroups to Control CPU Usage", 
+                    "next_url": "/docs/configuring-cgroups-to-control-cpu-usage/", 
                     "parent": "Configure Drill", 
                     "previous_title": "Ports Used by Drill", 
                     "previous_url": "/docs/ports-used-by-drill/", 
                     "relative_path": "_docs/configure-drill/120-configuring-the-drill-shell.md", 
                     "title": "Configuring the Drill Shell", 
                     "url": "/docs/configuring-the-drill-shell/"
+                }, 
+                {
+                    "breadcrumbs": [
+                        {
+                            "title": "Configure Drill", 
+                            "url": "/docs/configure-drill/"
+                        }
+                    ], 
+                    "children": [], 
+                    "next_title": "Connect a Data Source", 
+                    "next_url": "/docs/connect-a-data-source/", 
+                    "parent": "Configure Drill", 
+                    "previous_title": "Configuring the Drill Shell", 
+                    "previous_url": "/docs/configuring-the-drill-shell/", 
+                    "relative_path": "_docs/configure-drill/121-configuring-cgroups-to-control-cpu-usage.md", 
+                    "title": "Configuring cgroups to Control CPU Usage", 
+                    "url": "/docs/configuring-cgroups-to-control-cpu-usage/"
                 }
             ], 
             "next_title": "Configure Drill Introduction", 
@@ -16244,8 +16244,8 @@
             "next_title": "Connect a Data Source Introduction", 
             "next_url": "/docs/connect-a-data-source-introduction/", 
             "parent": "", 
-            "previous_title": "Configuring the Drill Shell", 
-            "previous_url": "/docs/configuring-the-drill-shell/", 
+            "previous_title": "Configuring cgroups to Control CPU Usage", 
+            "previous_url": "/docs/configuring-cgroups-to-control-cpu-usage/", 
             "relative_path": "_docs/050-connect-a-data-source.md", 
             "title": "Connect a Data Source", 
             "url": "/docs/connect-a-data-source/"

http://git-wip-us.apache.org/repos/asf/drill/blob/89b616b1/_docs/configure-drill/020-configuring-drill-memory.md
----------------------------------------------------------------------
diff --git a/_docs/configure-drill/020-configuring-drill-memory.md b/_docs/configure-drill/020-configuring-drill-memory.md
index c9018bc..f42e887 100644
--- a/_docs/configure-drill/020-configuring-drill-memory.md
+++ b/_docs/configure-drill/020-configuring-drill-memory.md
@@ -1,6 +1,6 @@
 ---
 title: "Configuring Drill Memory"
-date: 2018-03-22 18:52:44 UTC
+date: 2018-03-26 17:37:50 UTC
 parent: "Configure Drill"
 ---
 
@@ -65,7 +65,7 @@ If you do not set this variable, it is disabled. If you set this variable, you c
 
 **Example**  
 
-If a system has 48GB of free memory and you set the following parameters in drill-env.sh:  
+If a system has 48GB of memory and you set the following parameters in drill-env.sh:  
 
        DRILLBIT_MAX_PROC_MEM=25%
        DRILL_HEAP=8G
@@ -78,7 +78,7 @@ The Drillbit fails on startup with the following messages:
        [ERROR] Unable to start Drillbit due to memory constraint violations Total Memory Requested : 19 GB 
        Check and modify the settings or increase the maximum amount of memory permitted.
 
-If DRILLBIT_MAX_PROC_MEM is increased to 50%; the Drillbit starts up with the following warnings:  
+If `DRILLBIT_MAX_PROC_MEM` is increased to 50%; the Drillbit starts up with the following warnings:  
 
        [WARN] 50% of the system memory (48 GB) translates to 24 GB.
        [WARN] You have an allocation of 4 GB that is currently unused from a total of 24 GB. 

http://git-wip-us.apache.org/repos/asf/drill/blob/89b616b1/_docs/performance-tuning/026-parquet-filter-pushdown.md
----------------------------------------------------------------------
diff --git a/_docs/performance-tuning/026-parquet-filter-pushdown.md b/_docs/performance-tuning/026-parquet-filter-pushdown.md
index 71b5782..a249ae7 100644
--- a/_docs/performance-tuning/026-parquet-filter-pushdown.md
+++ b/_docs/performance-tuning/026-parquet-filter-pushdown.md
@@ -1,6 +1,6 @@
 ---
 title: "Parquet Filter Pushdown"
-date: 2016-11-21 21:25:59 UTC
+date: 2018-03-26 17:37:50 UTC
 parent: "Performance Tuning"
 ---
 
@@ -8,6 +8,14 @@ Drill 1.9 introduces the Parquet filter pushdown option. Parquet filter pushdown
  
 Parquet filter pushdown is enabled by default. When a query contains a filter expression, you can run the [EXPLAIN PLAN command]({{site.baseurl}}/docs/explain-commands/) to see if Drill applies Parquet filter pushdown to the query. You can enable and disable this feature using the [ALTER SYSTEM|SESSION SET]({{site.baseurl}}/docs/alter-system/) command with the `planner.store.parquet.rowgroup.filter.pushdown` option.  
 
+As of Drill 1.13, the query planner in Drill can apply project push down, filter push down, and partition pruning to star queries in common table expressions (CTEs), views, and subqueries, for example:  
+  
+       select col1 from (select * from t)  
+
+When a CTE, view, or subquery contains a star filter condition, the query planner in Drill can apply the filter and prune extraneous data, further reducing the amount of data that the scanner reads and improving performance. 
+ 
+**Note:** Currently, Drill only supports pushdown for simple star subselect queries without filters. See [DRILL-6219](https://www.google.com/url?q=https://issues.apache.org/jira/browse/DRILL-6219&sa=D&ust=1522084453671000&usg=AFQjCNFXp-nWMRXzM466BSRFlV3F63_ZYA) for more information.  
+
 ##How Parquet Filter Pushdown Works
 Drill applies Parquet filter pushdown during the query planning phase. The query planner in Drill performs Parquet filter pushdown by evaluating the filter expressions in the query. If no filter expression exists, the underlying scan operator reads all of the data in a Parquet file and then sends the data to operators downstream. When filter expressions exist, the planner applies each filter and prunes the data, reducing the amount of data that the scanner and Parquet reader must read.
  
@@ -36,15 +44,15 @@ Because Drill applies Parquet filter pushdown during the query planning phase, y
 Run the [EXPLAIN PLAN command]({{site.baseurl}}/docs/explain-commands/) to see the execution plan for the query. See [Query Plans]({{site.baseurl}}/docs/query-plans/) for more information. 
 
 ##Support 
-The following table lists the supported and unsupported clauses, operators, data types, and scenarios for Parquet filter pushdown:  
-
-|                      | Supported                                                                                                                                                                          | Not Supported                                                                                            |
-|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
-| Clauses              | WHERE,   HAVING (HAVING is supported if Drill can pass the filter through GROUP   BY.)                                                                                             |                                                                                                          |
-| Operators            | AND,   OR, IN (An IN list is converted to OR if the number in the IN list is within   a certain threshold, for example 20. If greater than the threshold, pruning   cannot occur.) | NOT,   ITEM (Drill does not push the filter past the ITEM operator, which is used   for complex fields.) |
-| Comparison Operators | <>,   <, >, <=, >=, =                                                                                                                 | IS [NOT] NULL                                                                                            |
-| Data Types           | INT,   BIGINT, FLOAT, DOUBLE, DATE, TIMESTAMP, TIME                                                                                                                                | CHAR,   VARCHAR columns, Hive TIMESTAMP                                                                  |
-| Function             | CAST   is supported among these four numeric types only: int, bigint, float, double                                                                                                |                                                                                                          |
-| Other                | --                                                                                                                                                                                 | Joins,   Files with multiple row groups, Enabled Native Hive reader                                      | 
-
-
+The following table lists the supported and unsupported clauses, operators, data types, function, and scenarios for Parquet filter pushdown:  
+
+**Note:** An asterisk (*) indicates support as of Drill 1.13
+
+|                        | **Supported**                                                                                                                                                                                                                     | **Not Supported**                                                                                      |
+|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
+| **Clauses**                | WHERE, *WITH, HAVING (HAVING is   supported if Drill can pass the filter through GROUP BY.)                                                                                                                                   | --                                                                                                 |
+| **Operators**              | AND, OR, NOT, *IS [NOT] NULL, *IS   [NOT] TRUE|FALSE, IN (An IN list is converted to OR if the number in the IN   list is within a certain threshold, for example 20. If greater than the   threshold, pruning cannot occur.) | ITEM (Drill does not push the filter   past the ITEM operator, which is used for complex fields.)  |
+| Comparison   Operators | <>, <, >, <=, >=, =                                                                                                                                                                                                           | --                                                                                                 |
+| **Data   Types**           | INT, BIGINT, FLOAT, DOUBLE, DATE,   TIMESTAMP, TIME, *BOOLEAN (true|false)                                                                                                                                                    | CHAR, VARCHAR columns, Hive TIMESTAMP                                                              |
+| **Function**               | CAST is supported among the following   types only: int, bigint, float, double, *date, *timestamp, and *time                                                                                                                  | --                                                                                                 |
+| **Other**                  | Files with multiple row groups                                                                                                                                                                                                | Joins, Enabled Native Hive reader                                                                  |
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/drill/blob/89b616b1/_docs/performance-tuning/partition-pruning/010-partition-pruning-introduction.md
----------------------------------------------------------------------
diff --git a/_docs/performance-tuning/partition-pruning/010-partition-pruning-introduction.md b/_docs/performance-tuning/partition-pruning/010-partition-pruning-introduction.md
index 5a157fd..4e600e1 100644
--- a/_docs/performance-tuning/partition-pruning/010-partition-pruning-introduction.md
+++ b/_docs/performance-tuning/partition-pruning/010-partition-pruning-introduction.md
@@ -1,6 +1,6 @@
 ---
 title: "Partition Pruning Introduction"
-date: 2016-08-15 18:40:27 UTC
+date: 2018-03-26 17:37:51 UTC
 parent: "Partition Pruning"
 --- 
 
@@ -8,7 +8,15 @@ Partition pruning is a performance optimization that limits the number of files
 
 As of Drill 1.8, partition pruning also applies to the Parquet metadata cache. When data is partitioned in a directory hierarchy, Drill attempts to read the metadata cache file from a sub-partition, based on matching filter criteria instead of reading from the top level partition, to reduce the amount of metadata read during the query planning time. If you created a metadata cache file in a previous version of Drill, you must issue the REFRESH TABLE METADATA command to regenerate the metadata cache file before running queries for metadata cache pruning to occur. See [Optimizing Parquet Metadata Reading]({{site.baseurl}}/docs/optimizing-parquet-metadata-reading/) for more information.  
 
-The query planner in Drill performs partition pruning by evaluating the filters. If no partition filters are present, the underlying Scan operator reads all files in all directories and then sends the data to operators, such as Filter, downstream. When partition filters are present, the query planner pushes the filters down to the Scan if possible. The Scan reads only the directories that match the partition filters, thus reducing disk I/O.
+The query planner in Drill performs partition pruning by evaluating the filters. If no partition filters are present, the underlying Scan operator reads all files in all directories and then sends the data to operators, such as Filter, downstream. When partition filters are present, the query planner pushes the filters down to the Scan if possible. The Scan reads only the directories that match the partition filters, thus reducing disk I/O.  
+
+As of Drill 1.13, the query planner in Drill can apply project push down, filter push down, and partition pruning to star queries in common table expressions (CTEs), views, and subqueries, for example:  
+  
+       select col1 from (select * from t)  
+
+When a CTE, view, or subquery contains a star filter condition, the query planner in Drill can apply the filter and prune extraneous data, further reducing the amount of data that the scanner reads and improving performance. 
+ 
+**Note:** Currently, Drill only supports pushdown for simple star subselect queries without filters. See [DRILL-6219](https://www.google.com/url?q=https://issues.apache.org/jira/browse/DRILL-6219&sa=D&ust=1522084453671000&usg=AFQjCNFXp-nWMRXzM466BSRFlV3F63_ZYA) for more information.
 
 ## Using Partitioned Drill Data
 Before using Parquet data created by Drill 1.2 or earlier in later releases, you need to migrate the data. Migrate Parquet data as described in ["Migrating Parquet Data"]({{site.baseurl}}/docs/migrating-parquet-data/). 

http://git-wip-us.apache.org/repos/asf/drill/blob/89b616b1/_docs/sql-reference/data-types/010-supported-data-types.md
----------------------------------------------------------------------
diff --git a/_docs/sql-reference/data-types/010-supported-data-types.md b/_docs/sql-reference/data-types/010-supported-data-types.md
index 28560c3..bcde2ec 100644
--- a/_docs/sql-reference/data-types/010-supported-data-types.md
+++ b/_docs/sql-reference/data-types/010-supported-data-types.md
@@ -1,6 +1,6 @@
 ---
 title: "Supported Data Types"
-date: 2017-04-05 00:09:57 UTC
+date: 2018-03-26 17:37:51 UTC
 parent: "Data Types"
 ---
 Drill reads from and writes to data sources having a wide variety of types. 
@@ -197,7 +197,7 @@ The [CONVERT_TO function]({{site.baseurl}}/docs/data-type-conversion/#convert_to
 
     CONVERT_TO(mycolumn, 'INT_BE')
 
-The following table lists the data types for use with the CONVERT_TO
+The following table lists the data types you can use with the CONVERT_TO
 and CONVERT_FROM functions:
 
 **Type**| **Input Type**| **Output Type**  

http://git-wip-us.apache.org/repos/asf/drill/blob/89b616b1/_docs/sql-reference/sql-functions/020-data-type-conversion.md
----------------------------------------------------------------------
diff --git a/_docs/sql-reference/sql-functions/020-data-type-conversion.md b/_docs/sql-reference/sql-functions/020-data-type-conversion.md
index 14e7cf4..5273bad 100644
--- a/_docs/sql-reference/sql-functions/020-data-type-conversion.md
+++ b/_docs/sql-reference/sql-functions/020-data-type-conversion.md
@@ -1,6 +1,6 @@
 ---
 title: "Data Type Conversion"
-date:  
+date: 2018-03-26 17:37:51 UTC
 parent: "SQL Functions"
 ---
 Drill supports the following functions for casting and converting data types:
@@ -151,15 +151,29 @@ The CONVERT_TO and CONVERT_FROM functions convert binary data to/from Drill inte
 *type* is one of the encoding types listed in the [CONVERT_TO/FROM data types]({{ site.baseurl }}/docs/supported-data-types/#data-types-for-convert_to-and-convert_from-functions) table. 
 
 
-### CONVERT_TO and CONVERT_FROM Usage Notes
+### CONVERT_TO and CONVERT_FROM Usage Notes  
 
-CONVERT_FROM and CONVERT_TO methods transform a known binary representation/encoding to a Drill internal format. Use CONVERT_TO and CONVERT_FROM instead of the CAST function for converting binary data types. CONVERT_TO/FROM functions work for data in a binary representation and are more efficient to use than CAST. 
 
-Drill can optimize scans of HBase tables when you use the \*\_BE encoded types shown in section  ["Data Types for CONVERT_TO and CONVERT_FROM Functions"]({{ site.baseurl }}/docs/supported-data-types/#data-types-for-convert_to-and-convert_from-functions) on big endian-encoded data. You need to use the HBase storage plugin and query data as described in ["Querying Hbase"]({{ site.baseurl }}/docs/querying-hbase). To write Parquet binary data, convert SQL data *to* binary data and store the data in a Parquet table while creating a table as a selection (CTAS).
+- CONVERT_FROM and CONVERT_TO methods transform a known binary representation/encoding to a Drill internal format. Use CONVERT_TO and CONVERT_FROM instead of the CAST function for converting binary data types. CONVERT_TO/FROM functions work for data in a binary representation and are more efficient to use than CAST. 
 
-CONVERT_TO also converts an SQL data type to complex types, including HBase byte arrays, JSON and Parquet arrays, and maps. CONVERT_FROM converts from complex types, including HBase arrays, JSON and Parquet arrays and maps to an SQL data type. 
 
-You can use [STRING_BINARY]({{ site.baseurl }}/docs/data-type-conversion/#string_binary-function) and [BINARY_STRING]({{ site.baseurl }}/docs/data-type-conversion/#binary_string-function) custom Drill functions with CONVERT_TO and CONVERT_FROM to get meaningful results.
+- Drill can optimize scans on HBase tables when you use the \*\_BE encoded types shown in section  ["Data Types for CONVERT_TO and CONVERT_FROM Functions"]({{ site.baseurl }}/docs/supported-data-types/#data-types-for-convert_to-and-convert_from-functions) on big endian-encoded data. You need to use the HBase storage plugin and query data as described in ["Querying Hbase"]({{ site.baseurl }}/docs/querying-hbase). To write Parquet binary data, convert SQL data *to* binary data and store the data in a Parquet table while creating a table as a selection (CTAS).  
+
+
+- CONVERT_TO also converts an SQL data type to complex types, including HBase byte arrays, JSON and Parquet arrays, and maps. CONVERT_FROM converts from complex types, including HBase arrays, JSON and Parquet arrays and maps to an SQL data type. 
+
+
+- You can use [STRING_BINARY]({{ site.baseurl }}/docs/data-type-conversion/#string_binary-function) and [BINARY_STRING]({{ site.baseurl }}/docs/data-type-conversion/#binary_string-function) custom Drill functions with CONVERT_TO and CONVERT_FROM to get meaningful results.  
+
+
+
+- Drill 1.13 and later supports [NaN and Infinity values as numeric data types]({{site.baseurl}}/docs/json-data-model/). 
+You can use the convert_to and convert_from functions in queries on JSON data with NaN and Infinity values, as shown in the following query examples:  
+ 
+            select convert_fromJSON('{"num": 55, "nan": NaN, "inf": -Infinity}'); 
+            select convert_fromJSON(jsonColumn) from mysql.someTable;  
+            select string_binary(convert_toJSON(convert_fromJSON(jsonColumn) from mysql.someTable;
+
 
 ### Conversion of Data Types Examples