drill-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bridg...@apache.org
Subject drill git commit: doc updates for Drill 1.11
Date Tue, 08 Aug 2017 02:24:36 GMT
Repository: drill
Updated Branches:
  refs/heads/gh-pages fae5d90b6 -> 6846c86c9


doc updates for Drill 1.11


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

Branch: refs/heads/gh-pages
Commit: 6846c86c9d5f81e4998e643f3494d78723348cfe
Parents: fae5d90
Author: Bridget Bevens <bbevens@maprtech.com>
Authored: Mon Aug 7 19:22:52 2017 -0700
Committer: Bridget Bevens <bbevens@maprtech.com>
Committed: Mon Aug 7 19:22:52 2017 -0700

----------------------------------------------------------------------
 .../020-start-up-options.md                     | 19 +++---
 .../035-plugin-configuration-basics.md          |  6 +-
 .../020-query-profiles.md                       | 68 ++++++++------------
 3 files changed, 42 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/6846c86c/_docs/configure-drill/configuration-options/020-start-up-options.md
----------------------------------------------------------------------
diff --git a/_docs/configure-drill/configuration-options/020-start-up-options.md b/_docs/configure-drill/configuration-options/020-start-up-options.md
index f099ad3..200bb9e 100644
--- a/_docs/configure-drill/configuration-options/020-start-up-options.md
+++ b/_docs/configure-drill/configuration-options/020-start-up-options.md
@@ -1,6 +1,6 @@
 ---
 title: "Start-Up Options"
-date: 2016-04-14 20:31:04 UTC
+date: 2017-08-08 02:22:56 UTC
 parent: "Configuration Options"
 ---
 Drill’s start-up options reside in a [HOCON](https://github.com/typesafehub/config/blob/master/HOCON.md)
configuration file format, which is
@@ -47,14 +47,17 @@ You can configure start-up options for each Drillbit in `<drill_home>/conf/drill
 
 The summary of start-up options, also known as boot options, lists default values. The following
descriptions provide more detail on key options that are frequently reconfigured:
 
-* drill.exec.http.ssl_enabled  
+* **drill.exec.http.ssl_enabled**  
   Available in Drill 1.2. Enables or disables [HTTPS support]({{site.baseurl}}/docs/configuring-web-console-and-rest-api-security/#https-support).
Settings are TRUE and FALSE, respectively. The default is FALSE.  
-* drill.exec.sys.store.provider.class  
+* **drill.exec.sys.store.provider.class**  
   Defines the persistent storage (PStore) provider. The [PStore]({{ site.baseurl }}/docs/persistent-configuration-storage)
holds configuration and profile data.  
-* drill.exec.buffer.size  
+* **drill.exec.buffer.size**  
   Defines the amount of memory available, in terms of record batches, to hold data on the
downstream side of an operation. Drill pushes data downstream as quickly as possible to make
data immediately available. This requires Drill to use memory to hold the data pending operations.
When data on a downstream operation is required, that data is immediately available so Drill
does not have to go over the network to process it. Providing more memory to this option increases
the speed at which Drill completes a query.  
-* drill.exec.sort.external.spill.directories  
+* **drill.exec.sort.external.spill.directories**  
   Tells Drill which directory to use when spooling. Drill uses a spool and sort operation
for beyond memory operations. The sorting operation is designed to spool to a Hadoop file
system. The default Hadoop file system is a local file system in the `/tmp` directory. Spooling
performance (both writing and reading back from it) is constrained by the file system.  
-* drill.exec.zk.connect  
-  Provides Drill with the ZooKeeper quorum to use to connect to data sources. Change this
setting to point to the ZooKeeper quorum that you want Drill to use. You must configure this
option on each Drillbit node.
-
+* **drill.exec.zk.connect**  
+  Provides Drill with the ZooKeeper quorum to use to connect to data sources. Change this
setting to point to the ZooKeeper quorum that you want Drill to use. You must configure this
option on each Drillbit node.  
+* **drill.exec.profiles.store.inmemory**  
+  Available as of Drill 1.11. When set to TRUE, enables Drill to store query profiles in
memory instead of writing the query profiles to disk. When set to FALSE, Drill writes the
profile for each query to disk, which is either the local file system or a distributed file
system, such as HDFS. For sub-second queries, writing the query profile to disk is expensive
due to the interactions with the file system. Enable this option if you want Drill to store
the profiles of sub-second queries in memory instead of writing them to disk. When you enable
this option, Drill stores the profiles in memory for as long as the drillbit runs. When the
drillbit restarts, the profiles no longer exist. You can set the maximum number of most recent
profiles to retain in memory through the drill.exec.profiles.store.capacity option. Settings
are TRUE and FALSE. Default is FALSE.  
+* **drill.exec.profiles.store.capacity**  
+  Available as of Drill 1.11. Sets the maximum number of most recent profiles to retain in
memory when the drill.exec.profiles.store.inmemory option is enabled. Default is 1000.  
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/drill/blob/6846c86c/_docs/connect-a-data-source/035-plugin-configuration-basics.md
----------------------------------------------------------------------
diff --git a/_docs/connect-a-data-source/035-plugin-configuration-basics.md b/_docs/connect-a-data-source/035-plugin-configuration-basics.md
index 0a9de00..7a7e368 100644
--- a/_docs/connect-a-data-source/035-plugin-configuration-basics.md
+++ b/_docs/connect-a-data-source/035-plugin-configuration-basics.md
@@ -1,6 +1,6 @@
 ---
 title: "Plugin Configuration Basics"
-date: 2016-08-04 16:47:22 UTC
+date: 2017-08-08 02:22:58 UTC
 parent: "Storage Plugin Configuration"
 ---
 When you add or update storage plugin configurations on one Drill node in a 
@@ -85,13 +85,13 @@ The following table describes the attributes you configure for storage
plugins i
   </tr>
   <tr>
     <td>"formats"</td>
-    <td>"psv"<br>"csv"<br>"tsv"<br>"parquet"<br>"json"<br>"avro"<br>"maprdb"<br>"sequencefile"</td>
+    <td>"pcap"<br>"psv"<br>"csv"<br>"tsv"<br>"parquet"<br>"json"<br>"avro"<br>"maprdb"<br>"sequencefile"</td>
     <td>yes</td>
     <td>One or more valid file formats for reading. Drill detects formats of some files;
others require configuration. The maprdb format is in installations of the mapr-drill package.
 </td>
   </tr>
   <tr>
     <td>"formats" . . . "type"</td>
-    <td>"text"<br>"parquet"<br>"json"<br>"maprdb"<br>"avro"<br>"sequencefile"</td>
+    <td>"pcap"<br>"text"<br>"parquet"<br>"json"<br>"maprdb"<br>"avro"<br>"sequencefile"</td>
     <td>yes</td>
     <td>Format type. You can define two formats, csv and psv, as type "Text", but having
different delimiters. </td>
   </tr>

http://git-wip-us.apache.org/repos/asf/drill/blob/6846c86c/_docs/performance-tuning/identifying-performance-issues/020-query-profiles.md
----------------------------------------------------------------------
diff --git a/_docs/performance-tuning/identifying-performance-issues/020-query-profiles.md
b/_docs/performance-tuning/identifying-performance-issues/020-query-profiles.md
index 5a27da7..02df536 100644
--- a/_docs/performance-tuning/identifying-performance-issues/020-query-profiles.md
+++ b/_docs/performance-tuning/identifying-performance-issues/020-query-profiles.md
@@ -1,95 +1,83 @@
 ---
 title: "Query Profiles"
-date: 2016-11-21 22:28:41 UTC
+date: 2017-08-08 02:23:02 UTC
 parent: "Identifying Performance Issues"
 ---
 
-A profile is a summary of metrics collected for each query that Drill executes. Query profiles
provide information that you can use to monitor and analyze query performance. Drill creates
a query profile from major, minor, operator, and input stream profiles. Each major fragment
profile consists of a list of minor fragment profiles. Each minor fragment profile consists
of a list of operator profiles. An operator profile consists of a list of input stream profiles.

+A profile is a summary of metrics collected for each query that Drill executes. Query profiles
provide information that you can use to monitor and analyze query performance. When Drill
executes a query, Drill writes the profile of each query to disk, which is either the local
filesystem or a distributed file system, such as HDFS. As of Drill 1.11, Drill can [store
profiles in memory]({{site.baseurl}}/docs/start-up-options/#configuring-start-up-options)
instead of storing them to disk. You can view query profiles in the Drill Web Console at `http://<IP
address or host name>:8047`.  
 
-You can view aggregate statistics across profile lists in the Profile tab of the Drill Web
Console at `<drill_node_ip_address>:8047`. You can modify and resubmit queries, or cancel
queries. For debugging purposes, you can use profiles in conjunction with Drill logs. See
Log and Debug.
- 
-Metrics in a query profile are associated with a coordinate system of IDs. Drill uses a coordinate
system comprised of query, fragment, and operator identifiers to track query execution activities
and resources. Drill assigns a unique QueryID to each query received and then assigns IDs
to each fragment and operator that executes the query.
- 
-**Example IDs**
+##Query Profiles in the Drill Web Console 
+You can access query profiles in the Drill Web Console. The Drill Web Console provides aggregate
statistics across profile lists. Profile lists consist of data from major and minor fragments,
operators, and input streams. You can use profiles in conjunction with Drill logs for debugging
purposes. In addition to viewing query profiles, you can modify, resubmit, or cancel queries
from the Drill Web Console.  
 
-QueryID: 2aa98add-15b3-e155-5669-603c03bfde86
+###Query, Fragment, and Operator Identifiers  
  
-Fragment and operator IDs:  
+Metrics in a query profile are associated with a coordinate system of identifiers. Drill
uses a coordinate system comprised of query, fragment, and operator identifiers to track query
execution activities and resources. Drill assigns a unique identifier, the QueryID, to each
query received and then assigns an identifier to each fragment and operator that executes
the query. An example of a QueryID is 2aa98add-15b3-e155-5669-603c03bfde86. The following
images shows an example of fragment and operator identifiers:
 
 ![]({{ site.baseurl }}/docs/img/xx-xx-xx.png)  
 
-## Viewing a Query Profile  
+### Viewing a Query Profile  
 
-When you select the Profiles tab in the Drill Web Console at `<drill_node_ip_address>:8047`,
you see a list of the last 100 queries than have run or that are currently running in the
cluster.  
+You can view query profiles in the Profiles tab of the Drill Web Console. When you select
the Profiles tab, you see a list of the last 100 queries than ran or are currently running
in the cluster.  
 
 ![]({{ site.baseurl }}/docs/img/list_queries.png)
 
-
-You can click on any query to see its profile.  
+You must click on a query to see its profile.  
 
 ![]({{ site.baseurl }}/docs/img/query_profile.png)  
 
-When you select a profile, notice that the URL in the address bar contains the QueryID. For
example, 2aa98add-15b3-e155-5669-603c03bfde86 in the following URL:
+When you select a profile, notice that the URL in the address bar contains the QueryID, as
shown in the following URL:
 
        http://<drill_node>:8047/profiles/2aa98add-15b3-e155-5669-603c03bfde86
  
-The Query Profile section in the Query profile summarizes a few key details about the query,
including: 
+The Query Profile section summarizes a few key details about the query, including: 
  
  * The state of the query, either running, completed, or failed.  
  * The node operating as the Foreman; the Drillbit that receives a query from the client
or application becomes the Foreman and drives the entire query. 
- * The total number of minor fragments required to execute the query
+ * The total number of minor fragments required to execute the query.
 
-If you scroll down, you can see the Fragment Profiles and Operator Profiles sections. 
+Further down you can see the Fragment Profiles and Operator Profiles sections. 
  
 ## Fragment Profiles  
 
-Fragment profiles section provides an overview table, and a major fragment block for each
major fragment that executed the query. Each row in the Overview table provides the number
of minor fragments that Drill parallelized from each major fragment, as well as aggregate
time and memory metrics for the minor fragments.  
+Fragment profiles provides an overview table and a major fragment block for each major fragment.
Each row in the Overview table provides the number of minor fragments that Drill parallelized
from each major fragment, as well as aggregate time and memory metrics for the minor fragments.
 
 
 ![]({{ site.baseurl }}/docs/img/frag_profile.png)  
 
-See Major Fragment Profiles Table for column descriptions.
- 
 When you look at the fragment profiles, you may notice that some major fragments were parallelized
into substantially fewer minor fragments, but happen to have the highest runtime.  Or, you
may notice certain minor fragments have a higher peak memory than others. When you notice
these variations in execution, you can delve deeper into the profile by looking at the major
fragment blocks.
  
-Below the Overview table are major fragment blocks. Each of these blocks corresponds to a
row in the Overview table. You can expand the blocks to see metrics for all of the minor fragments
that were parallelized from each major fragment, including the host on which each minor fragment
ran. Each row in the major fragment table presents the fragment state, time metrics, memory
metrics, and aggregate input metrics of each minor fragment.  
+Major fragment blocks correspond to a row in the Overview table. You can expand the blocks
to see metrics for all of the minor fragments that were parallelized from each major fragment,
including the host on which each minor fragment ran. Each row in the major fragment table
presents the fragment state, time metrics, memory metrics, and aggregate input metrics of
each minor fragment.  
 
 ![]({{ site.baseurl }}/docs/img/maj_frag_block.png)  
 
-When looking at the minor fragment metrics, verify the state of the fragment. A fragment
can have a “failed” state which could indicate an issue on the host. If the query itself
fails, an operator may have run out of memory. If fragments running on a particular node are
under performing, there may be multi-tenancy issues that you can address.
+When looking at the minor fragment metrics, verify the state of the fragment. A fragment
can have a “failed” state which may indicate an issue on the host. If the query itself
fails, an operator may have run out of memory. If fragments running on a particular node are
under performing, there may be multi-tenancy issues that you can address.
  
-You can also see a graph that illustrates the activity of major and minor fragments for the
duration of the query.  
+A graph illustrates the activity of major and minor fragments for the duration of the query.
The graph correlates with the visualized plan graph in the Visualized Plan tab. Each color
in the graph corresponds to the activity of one major fragment. 
 
 ![]({{ site.baseurl }}/docs/img/graph_1.png)  
 
-If you see “stair steps” in the graph, this indicates that the execution work of the
fragments is not distributed evenly. Stair steps in the graph typically occur for non-local
reads on data. To address this issue, you can increase data replication, rewrite the data,
or file a JIRA to get help with the issue.
- 
-This graph correlates with the visualized plan graph in the Visualized Plan tab. Each color
in the graph corresponds to the activity of one major fragment.  
+Stair steps in the graph indicate that the execution work of the fragments is not distributed
evenly. This typically occurs for non-local reads on data. To address this issue, you can
increase data replication, rewrite the data, or file a JIRA to get help with the issue.
 
 ![]({{ site.baseurl }}/docs/img/vis_graph.png)  
 
 The visualized plan illustrates color-coded major fragments divided and labeled with the
names of the operators used to complete each phase of the query. Exchange operators separate
each major fragment. These operators represent a point where Drill can execute operations
below them in parallel.  
 
-## Operator Profiles  
+### Operator Profiles  
 
 Operator profiles describe each operator that performed relational operations during query
execution. The Operator Profiles section provides an Overview table of the aggregate time
and memory metrics for each operator within a major fragment.  
 
 ![]({{ site.baseurl }}/docs/img/operator_table.png)  
-
-See Operator Profiles Table for column descriptions.
  
 Identify the operations that consume a majority of time and memory. You can potentially modify
options related to the specific operators to improve performance.
  
 Below the Overview table are operator blocks, which you can expand to see metrics for each
operator. Each of these blocks corresponds to a row in the Overview table. Each row in the
Operator block presents time and memory metrics, as well as aggregate input metrics for each
minor fragment.  
 
 ![]({{ site.baseurl }}/docs/img/operator_block.png)  
-
-See Operator Block for column descriptions.
  
-Drill uses batches of records as a basic unit of work. The batches are pipelined between
each operation.  Record batches are no larger than 64k records. While the target size of one
record batch is generally 256k, they can scale to many megabytes depending on the query plan
and the width of the records.
+Drill uses batches of records as a basic unit of work. The batches are pipe-lined between
each operation. Record batches are no larger than 64K records. While the target size of one
record batch is generally 256K, they can scale to many megabytes depending on the query plan
and the width of the records.
 
 The Max Records number for each minor fragment should be almost equivalent. If one, or a
very small number of minor fragments, perform the majority of the work, there may be data
skew. To address data skew, you may need change settings related to table joins or partition
data to balance the work.  
 
-### Data Skew Example
+**Data Skew Example**  
 The following query was run against TPC-DS data:
 
        0: jdbc:drill:zk=local> select ss_customer_sk, count(*) as cnt from store_sales
where ss_customer_sk is null or ss_customer_sk in (1, 2, 3, 4, 5) group by ss_customer_sk;
@@ -113,21 +101,21 @@ Looking at the operator profile for the hash aggregate in major fragment
00, you
 
 In this example, there is inherent skew present in the data. Other types of skew may not
strictly be data dependent, but can be introduced by a sub-optimal hash function or other
issues in the product. In either case, examining the query profile helps understand why a
query is slow. In the first scenario, it may be possible to run separate queries for the skewed
and non-skewed values. In the second scenario, it is better to seek technical support.  
 
-## Physical Plan View  
+### Physical Plan View  
 
-The physical plan view provides statistics about the actual cost of the query operations
in terms of memory, I/O, and CPU processing. You can use this profile to identify which operations
consumed the majority of the resources during a query, modify the physical plan to address
the cost-intensive operations, and submit the updated plan back to Drill. See [Costing Information]({{
site.baseurl }}/docs/explain/#costing-information).  
+The Physical Plan view provides statistics about the actual cost of the query operations
in terms of memory, I/O, and CPU processing. You can use this profile to identify which operations
consumed the majority of the resources during a query, modify the physical plan to address
the cost-intensive operations, and submit the updated plan back to Drill. See [Costing Information]({{
site.baseurl }}/docs/explain/#costing-information).  
 
 ![]({{ site.baseurl }}/docs/img/phys_plan_profile.png)  
 
-## Canceling a Query  
+### Canceling a Query  
 
-You may want to cancel a query if it hangs or causes performance bottlenecks. You can cancel
a query in the Profile tab of the Drill Web Console.
+You may want to cancel a query if it hangs or causes performance bottlenecks. You can cancel
a query from the Profile tab of the Drill Web Console.
  
-To cancel a query from the Drill Web Console, complete the following steps:  
+To cancel a query, complete the following steps:  
 
 1. Navigate to the Drill Web Console at `<drill_node_ip_address>:8047`.
 The Drill node from which you access the Drill Web Console must have an active Drillbit running.
-2. Select Profiles in the toolbar.
+2. Select **Profiles** in the toolbar.
 A list of running and completed queries appears.
 3. Click the query for which you want to see the profile.
 4. Select **Edit Query**.
@@ -135,7 +123,7 @@ A list of running and completed queries appears.
 
 The following message appears:  
 
-       Cancelled query <QueryID\>
+    Cancelled query <QueryID\>
 
 
 


Mime
View raw message