Understanding Impala Query Performance - EXPLAIN Plans and Query Profiles

To understand the high-level performance considerations for Impala queries, read the output of the EXPLAIN statement for the query. You can get the EXPLAIN plan without actually running the query itself.

For an overview of the physical performance characteristics for a query, issue the SUMMARY statement in impala-shell immediately after executing a query. This condensed information shows which phases of execution took the most time, and how the estimates for memory usage and number of rows at each phase compare to the actual values.

To understand the detailed performance characteristics for a query, issue the PROFILE statement in impala-shell immediately after executing a query. This low-level information includes physical details about memory, CPU, I/O, and network usage, and thus is only available after the query is actually run.

Also, see Performance Considerations for the Impala-HBase Integration and Understanding and Tuning Impala Query Performance for S3 Data for examples of interpreting EXPLAIN plans for queries against HBase tables and data stored in the Amazon Simple Storage System (S3).

Parent topic: Tuning Impala for Performance

Using the EXPLAIN Plan for Performance Tuning

The [EXPLAIN]($32132ef5722f07b9.md#explain) statement gives you an outline of the logical steps that a query will perform, such as how the work will be distributed among the nodes and how intermediate results will be combined to produce the final result set. You can see these details before actually running the query. You can use this information to check that the query will not operate in some very unexpected or inefficient way.

  1. [impalad-host:21000] > explain select count(*) from customer_address;
  2. +----------------------------------------------------------+
  3. | Explain String |
  4. +----------------------------------------------------------+
  5. | Estimated Per-Host Requirements: Memory=42.00MB VCores=1 |
  6. | |
  7. | 03:AGGREGATE [MERGE FINALIZE] |
  8. | | output: sum(count(*)) |
  9. | | |
  10. | 02:EXCHANGE [PARTITION=UNPARTITIONED] |
  11. | | |
  12. | 01:AGGREGATE |
  13. | | output: count(*) |
  14. | | |
  15. | 00:SCAN HDFS [default.customer_address] |
  16. | partitions=1/1 size=5.25MB |
  17. +----------------------------------------------------------+

Read the EXPLAIN plan from bottom to top:

  • The last part of the plan shows the low-level details such as the expected amount of data that will be read, where you can judge the effectiveness of your partitioning strategy and estimate how long it will take to scan a table based on total data size and the size of the cluster.
  • As you work your way up, next you see the operations that will be parallelized and performed on each Impala node.
  • At the higher levels, you see how data flows when intermediate result sets are combined and transmitted from one node to another.
  • See EXPLAIN_LEVEL Query Option for details about the EXPLAIN_LEVEL query option, which lets you customize how much detail to show in the EXPLAIN plan depending on whether you are doing high-level or low-level tuning, dealing with logical or physical aspects of the query.

The EXPLAIN plan is also printed at the beginning of the query profile report described in Using the Query Profile for Performance Tuning, for convenience in examining both the logical and physical aspects of the query side-by-side.

The amount of detail displayed in the EXPLAIN output is controlled by the EXPLAIN_LEVEL query option. You typically increase this setting from standard to extended (or from 1 to 2) when doublechecking the presence of table and column statistics during performance tuning, or when estimating query resource usage in conjunction with the resource management features.

Using the SUMMARY Report for Performance Tuning

The [SUMMARY]($733954ff094ffa93.md#shell_commands) command within the impala-shell interpreter gives you an easy-to-digest overview of the timings for the different phases of execution for a query. Like the EXPLAIN plan, it is easy to see potential performance bottlenecks. Like the PROFILE output, it is available after the query is run and so displays actual timing numbers.

The SUMMARY report is also printed at the beginning of the query profile report described in Using the Query Profile for Performance Tuning, for convenience in examining high-level and low-level aspects of the query side-by-side.

For example, here is a query involving an aggregate function, on a single-node VM. The different stages of the query and their timings are shown (rolled up for all nodes), along with estimated and actual values used in planning the query. In this case, the AVG() function is computed for a subset of data on each node (stage 01) and then the aggregated results from all nodes are combined at the end (stage 03). You can see which stages took the most time, and whether any estimates were substantially different than the actual data distribution. (When examining the time values, be sure to consider the suffixes such as us for microseconds and ms for milliseconds, rather than just looking for the largest numbers.)

  1. [localhost:21000] > select avg(ss_sales_price) from store_sales where ss_coupon_amt = 0;
  2. +---------------------+
  3. | avg(ss_sales_price) |
  4. +---------------------+
  5. | 37.80770926328327 |
  6. +---------------------+
  7. [localhost:21000] > summary;
  8. +--------------+--------+----------+----------+-------+------------+----------+---------------+-----------------+
  9. | Operator | #Hosts | Avg Time | Max Time | #Rows | Est. #Rows | Peak Mem | Est. Peak Mem | Detail |
  10. +--------------+--------+----------+----------+-------+------------+----------+---------------+-----------------+
  11. | 03:AGGREGATE | 1 | 1.03ms | 1.03ms | 1 | 1 | 48.00 KB | -1 B | MERGE FINALIZE |
  12. | 02:EXCHANGE | 1 | 0ns | 0ns | 1 | 1 | 0 B | -1 B | UNPARTITIONED |
  13. | 01:AGGREGATE | 1 | 30.79ms | 30.79ms | 1 | 1 | 80.00 KB | 10.00 MB | |
  14. | 00:SCAN HDFS | 1 | 5.45s | 5.45s | 2.21M | -1 | 64.05 MB | 432.00 MB | tpc.store_sales |
  15. +--------------+--------+----------+----------+-------+------------+----------+---------------+-----------------+

Notice how the longest initial phase of the query is measured in seconds (s), while later phases working on smaller intermediate results are measured in milliseconds (ms) or even nanoseconds (ns).

Here is an example from a more complicated query, as it would appear in the PROFILE output:

  1. Operator #Hosts Avg Time Max Time #Rows Est. #Rows Peak Mem Est. Peak Mem Detail
  2. ------------------------------------------------------------------------------------------------------------------------
  3. 09:MERGING-EXCHANGE 1 79.738us 79.738us 5 5 0 -1.00 B UNPARTITIONED
  4. 05:TOP-N 3 84.693us 88.810us 5 5 12.00 KB 120.00 B
  5. 04:AGGREGATE 3 5.263ms 6.432ms 5 5 44.00 KB 10.00 MB MERGE FINALIZE
  6. 08:AGGREGATE 3 16.659ms 27.444ms 52.52K 600.12K 3.20 MB 15.11 MB MERGE
  7. 07:EXCHANGE 3 2.644ms 5.1ms 52.52K 600.12K 0 0 HASH(o_orderpriority)
  8. 03:AGGREGATE 3 342.913ms 966.291ms 52.52K 600.12K 10.80 MB 15.11 MB
  9. 02:HASH JOIN 3 2s165ms 2s171ms 144.87K 600.12K 13.63 MB 941.01 KB INNER JOIN, BROADCAST
  10. |--06:EXCHANGE 3 8.296ms 8.692ms 57.22K 15.00K 0 0 BROADCAST
  11. | 01:SCAN HDFS 2 1s412ms 1s978ms 57.22K 15.00K 24.21 MB 176.00 MB tpch.orders o
  12. 00:SCAN HDFS 3 8s032ms 8s558ms 3.79M 600.12K 32.29 MB 264.00 MB tpch.lineitem l

Using the Query Profile for Performance Tuning

The PROFILE statement, available in the impala-shell interpreter, produces a detailed low-level report showing how the most recent query was executed. Unlike the EXPLAIN plan described in Using the EXPLAIN Plan for Performance Tuning, this information is only available after the query has finished. It shows physical details such as the number of bytes read, maximum memory usage, and so on for each node. You can use this information to determine if the query is I/O-bound or CPU-bound, whether some network condition is imposing a bottleneck, whether a slowdown is affecting some nodes but not others, and to check that recommended configuration settings such as short-circuit local reads are in effect.

By default, time values in the profile output reflect the wall-clock time taken by an operation. For values denoting system time or user time, the measurement unit is reflected in the metric name, such as ScannerThreadsSysTime or ScannerThreadsUserTime. For example, a multi-threaded I/O operation might show a small figure for wall-clock time, while the corresponding system time is larger, representing the sum of the CPU time taken by each thread. Or a wall-clock time figure might be larger because it counts time spent waiting, while the corresponding system and user time figures only measure the time while the operation is actively using CPU cycles.

The EXPLAIN plan is also printed at the beginning of the query profile report, for convenience in examining both the logical and physical aspects of the query side-by-side. The EXPLAIN_LEVEL query option also controls the verbosity of the EXPLAIN output printed by the PROFILE command.

Here is an example of a query profile, from a relatively straightforward query on a single-node pseudo-distributed cluster to keep the output relatively brief.

  1. [localhost:21000] > profile;
  2. Query Runtime Profile:
  3. Query (id=6540a03d4bee0691:4963d6269b210ebd):
  4. Summary:
  5. Session ID: ea4a197f1c7bf858:c74e66f72e3a33ba
  6. Session Type: BEESWAX
  7. Start Time: 2013-12-02 17:10:30.263067000
  8. End Time: 2013-12-02 17:10:50.932044000
  9. Query Type: QUERY
  10. Query State: FINISHED
  11. Query Status: OK
  12. Impala Version: impalad version 1.2.1 RELEASE (build edb5af1bcad63d410bc5d47cc203df3a880e9324)
  13. User: doc_demo
  14. Network Address: 127.0.0.1:49161
  15. Default Db: stats_testing
  16. Sql Statement: select t1.s, t2.s from t1 join t2 on (t1.id = t2.parent)
  17. Plan:
  18. ----------------
  19. Estimated Per-Host Requirements: Memory=2.09GB VCores=2
  20. PLAN FRAGMENT 0
  21. PARTITION: UNPARTITIONED
  22. 4:EXCHANGE
  23. cardinality: unavailable
  24. per-host memory: unavailable
  25. tuple ids: 0 1
  26. PLAN FRAGMENT 1
  27. PARTITION: RANDOM
  28. STREAM DATA SINK
  29. EXCHANGE ID: 4
  30. UNPARTITIONED
  31. 2:HASH JOIN
  32. | join op: INNER JOIN (BROADCAST)
  33. | hash predicates:
  34. | t1.id = t2.parent
  35. | cardinality: unavailable
  36. | per-host memory: 2.00GB
  37. | tuple ids: 0 1
  38. |
  39. |----3:EXCHANGE
  40. | cardinality: unavailable
  41. | per-host memory: 0B
  42. | tuple ids: 1
  43. |
  44. 0:SCAN HDFS
  45. table=stats_testing.t1 #partitions=1/1 size=33B
  46. table stats: unavailable
  47. column stats: unavailable
  48. cardinality: unavailable
  49. per-host memory: 32.00MB
  50. tuple ids: 0
  51. PLAN FRAGMENT 2
  52. PARTITION: RANDOM
  53. STREAM DATA SINK
  54. EXCHANGE ID: 3
  55. UNPARTITIONED
  56. 1:SCAN HDFS
  57. table=stats_testing.t2 #partitions=1/1 size=960.00KB
  58. table stats: unavailable
  59. column stats: unavailable
  60. cardinality: unavailable
  61. per-host memory: 96.00MB
  62. tuple ids: 1
  63. ----------------
  64. Query Timeline: 20s670ms
  65. - Start execution: 2.559ms (2.559ms)
  66. - Planning finished: 23.587ms (21.27ms)
  67. - Rows available: 666.199ms (642.612ms)
  68. - First row fetched: 668.919ms (2.719ms)
  69. - Unregister query: 20s668ms (20s000ms)
  70. ImpalaServer:
  71. - ClientFetchWaitTimer: 19s637ms
  72. - RowMaterializationTimer: 167.121ms
  73. Execution Profile 6540a03d4bee0691:4963d6269b210ebd:(Active: 837.815ms, % non-child: 0.00%)
  74. Per Node Peak Memory Usage: impala-1.example.com:22000(7.42 MB)
  75. - FinalizationTimer: 0ns
  76. Coordinator Fragment:(Active: 195.198ms, % non-child: 0.00%)
  77. MemoryUsage(500.0ms): 16.00 KB, 7.42 MB, 7.33 MB, 7.10 MB, 6.94 MB, 6.71 MB, 6.56 MB, 6.40 MB, 6.17 MB, 6.02 MB, 5.79 MB, 5.63 MB, 5.48 MB, 5.25 MB, 5.09 MB, 4.86 MB, 4.71 MB, 4.47 MB, 4.32 MB, 4.09 MB, 3.93 MB, 3.78 MB, 3.55 MB, 3.39 MB, 3.16 MB, 3.01 MB, 2.78 MB, 2.62 MB, 2.39 MB, 2.24 MB, 2.08 MB, 1.85 MB, 1.70 MB, 1.54 MB, 1.31 MB, 1.16 MB, 948.00 KB, 790.00 KB, 553.00 KB, 395.00 KB, 237.00 KB
  78. ThreadUsage(500.0ms): 1
  79. - AverageThreadTokens: 1.00
  80. - PeakMemoryUsage: 7.42 MB
  81. - PrepareTime: 36.144us
  82. - RowsProduced: 98.30K (98304)
  83. - TotalCpuTime: 20s449ms
  84. - TotalNetworkWaitTime: 191.630ms
  85. - TotalStorageWaitTime: 0ns
  86. CodeGen:(Active: 150.679ms, % non-child: 77.19%)
  87. - CodegenTime: 0ns
  88. - CompileTime: 139.503ms
  89. - LoadTime: 10.7ms
  90. - ModuleFileSize: 95.27 KB
  91. EXCHANGE_NODE (id=4):(Active: 194.858ms, % non-child: 99.83%)
  92. - BytesReceived: 2.33 MB
  93. - ConvertRowBatchTime: 2.732ms
  94. - DataArrivalWaitTime: 191.118ms
  95. - DeserializeRowBatchTimer: 14.943ms
  96. - FirstBatchArrivalWaitTime: 191.117ms
  97. - PeakMemoryUsage: 7.41 MB
  98. - RowsReturned: 98.30K (98304)
  99. - RowsReturnedRate: 504.49 K/sec
  100. - SendersBlockedTimer: 0ns
  101. - SendersBlockedTotalTimer(*): 0ns
  102. Averaged Fragment 1:(Active: 442.360ms, % non-child: 0.00%)
  103. split sizes: min: 33.00 B, max: 33.00 B, avg: 33.00 B, stddev: 0.00
  104. completion times: min:443.720ms max:443.720ms mean: 443.720ms stddev:0ns
  105. execution rates: min:74.00 B/sec max:74.00 B/sec mean:74.00 B/sec stddev:0.00 /sec
  106. num instances: 1
  107. - AverageThreadTokens: 1.00
  108. - PeakMemoryUsage: 6.06 MB
  109. - PrepareTime: 7.291ms
  110. - RowsProduced: 98.30K (98304)
  111. - TotalCpuTime: 784.259ms
  112. - TotalNetworkWaitTime: 388.818ms
  113. - TotalStorageWaitTime: 3.934ms
  114. CodeGen:(Active: 312.862ms, % non-child: 70.73%)
  115. - CodegenTime: 2.669ms
  116. - CompileTime: 302.467ms
  117. - LoadTime: 9.231ms
  118. - ModuleFileSize: 95.27 KB
  119. DataStreamSender (dst_id=4):(Active: 80.63ms, % non-child: 18.10%)
  120. - BytesSent: 2.33 MB
  121. - NetworkThroughput(*): 35.89 MB/sec
  122. - OverallThroughput: 29.06 MB/sec
  123. - PeakMemoryUsage: 5.33 KB
  124. - SerializeBatchTime: 26.487ms
  125. - ThriftTransmitTime(*): 64.814ms
  126. - UncompressedRowBatchSize: 6.66 MB
  127. HASH_JOIN_NODE (id=2):(Active: 362.25ms, % non-child: 3.92%)
  128. - BuildBuckets: 1.02K (1024)
  129. - BuildRows: 98.30K (98304)
  130. - BuildTime: 12.622ms
  131. - LoadFactor: 0.00
  132. - PeakMemoryUsage: 6.02 MB
  133. - ProbeRows: 3
  134. - ProbeTime: 3.579ms
  135. - RowsReturned: 98.30K (98304)
  136. - RowsReturnedRate: 271.54 K/sec
  137. EXCHANGE_NODE (id=3):(Active: 344.680ms, % non-child: 77.92%)
  138. - BytesReceived: 1.15 MB
  139. - ConvertRowBatchTime: 2.792ms
  140. - DataArrivalWaitTime: 339.936ms
  141. - DeserializeRowBatchTimer: 9.910ms
  142. - FirstBatchArrivalWaitTime: 199.474ms
  143. - PeakMemoryUsage: 156.00 KB
  144. - RowsReturned: 98.30K (98304)
  145. - RowsReturnedRate: 285.20 K/sec
  146. - SendersBlockedTimer: 0ns
  147. - SendersBlockedTotalTimer(*): 0ns
  148. HDFS_SCAN_NODE (id=0):(Active: 13.616us, % non-child: 0.00%)
  149. - AverageHdfsReadThreadConcurrency: 0.00
  150. - AverageScannerThreadConcurrency: 0.00
  151. - BytesRead: 33.00 B
  152. - BytesReadLocal: 33.00 B
  153. - BytesReadShortCircuit: 33.00 B
  154. - NumDisksAccessed: 1
  155. - NumScannerThreadsStarted: 1
  156. - PeakMemoryUsage: 46.00 KB
  157. - PerReadThreadRawHdfsThroughput: 287.52 KB/sec
  158. - RowsRead: 3
  159. - RowsReturned: 3
  160. - RowsReturnedRate: 220.33 K/sec
  161. - ScanRangesComplete: 1
  162. - ScannerThreadsInvoluntaryContextSwitches: 26
  163. - ScannerThreadsTotalWallClockTime: 55.199ms
  164. - DelimiterParseTime: 2.463us
  165. - MaterializeTupleTime(*): 1.226us
  166. - ScannerThreadsSysTime: 0ns
  167. - ScannerThreadsUserTime: 42.993ms
  168. - ScannerThreadsVoluntaryContextSwitches: 1
  169. - TotalRawHdfsReadTime(*): 112.86us
  170. - TotalReadThroughput: 0.00 /sec
  171. Averaged Fragment 2:(Active: 190.120ms, % non-child: 0.00%)
  172. split sizes: min: 960.00 KB, max: 960.00 KB, avg: 960.00 KB, stddev: 0.00
  173. completion times: min:191.736ms max:191.736ms mean: 191.736ms stddev:0ns
  174. execution rates: min:4.89 MB/sec max:4.89 MB/sec mean:4.89 MB/sec stddev:0.00 /sec
  175. num instances: 1
  176. - AverageThreadTokens: 0.00
  177. - PeakMemoryUsage: 906.33 KB
  178. - PrepareTime: 3.67ms
  179. - RowsProduced: 98.30K (98304)
  180. - TotalCpuTime: 403.351ms
  181. - TotalNetworkWaitTime: 34.999ms
  182. - TotalStorageWaitTime: 108.675ms
  183. CodeGen:(Active: 162.57ms, % non-child: 85.24%)
  184. - CodegenTime: 3.133ms
  185. - CompileTime: 148.316ms
  186. - LoadTime: 12.317ms
  187. - ModuleFileSize: 95.27 KB
  188. DataStreamSender (dst_id=3):(Active: 70.620ms, % non-child: 37.14%)
  189. - BytesSent: 1.15 MB
  190. - NetworkThroughput(*): 23.30 MB/sec
  191. - OverallThroughput: 16.23 MB/sec
  192. - PeakMemoryUsage: 5.33 KB
  193. - SerializeBatchTime: 22.69ms
  194. - ThriftTransmitTime(*): 49.178ms
  195. - UncompressedRowBatchSize: 3.28 MB
  196. HDFS_SCAN_NODE (id=1):(Active: 118.839ms, % non-child: 62.51%)
  197. - AverageHdfsReadThreadConcurrency: 0.00
  198. - AverageScannerThreadConcurrency: 0.00
  199. - BytesRead: 960.00 KB
  200. - BytesReadLocal: 960.00 KB
  201. - BytesReadShortCircuit: 960.00 KB
  202. - NumDisksAccessed: 1
  203. - NumScannerThreadsStarted: 1
  204. - PeakMemoryUsage: 869.00 KB
  205. - PerReadThreadRawHdfsThroughput: 130.21 MB/sec
  206. - RowsRead: 98.30K (98304)
  207. - RowsReturned: 98.30K (98304)
  208. - RowsReturnedRate: 827.20 K/sec
  209. - ScanRangesComplete: 15
  210. - ScannerThreadsInvoluntaryContextSwitches: 34
  211. - ScannerThreadsTotalWallClockTime: 189.774ms
  212. - DelimiterParseTime: 15.703ms
  213. - MaterializeTupleTime(*): 3.419ms
  214. - ScannerThreadsSysTime: 1.999ms
  215. - ScannerThreadsUserTime: 44.993ms
  216. - ScannerThreadsVoluntaryContextSwitches: 118
  217. - TotalRawHdfsReadTime(*): 7.199ms
  218. - TotalReadThroughput: 0.00 /sec
  219. Fragment 1:
  220. Instance 6540a03d4bee0691:4963d6269b210ebf (host=impala-1.example.com:22000):(Active: 442.360ms, % non-child: 0.00%)
  221. Hdfs split stats (<volume id>:<# splits>/<split lengths>): 0:1/33.00 B
  222. MemoryUsage(500.0ms): 69.33 KB
  223. ThreadUsage(500.0ms): 1
  224. - AverageThreadTokens: 1.00
  225. - PeakMemoryUsage: 6.06 MB
  226. - PrepareTime: 7.291ms
  227. - RowsProduced: 98.30K (98304)
  228. - TotalCpuTime: 784.259ms
  229. - TotalNetworkWaitTime: 388.818ms
  230. - TotalStorageWaitTime: 3.934ms
  231. CodeGen:(Active: 312.862ms, % non-child: 70.73%)
  232. - CodegenTime: 2.669ms
  233. - CompileTime: 302.467ms
  234. - LoadTime: 9.231ms
  235. - ModuleFileSize: 95.27 KB
  236. DataStreamSender (dst_id=4):(Active: 80.63ms, % non-child: 18.10%)
  237. - BytesSent: 2.33 MB
  238. - NetworkThroughput(*): 35.89 MB/sec
  239. - OverallThroughput: 29.06 MB/sec
  240. - PeakMemoryUsage: 5.33 KB
  241. - SerializeBatchTime: 26.487ms
  242. - ThriftTransmitTime(*): 64.814ms
  243. - UncompressedRowBatchSize: 6.66 MB
  244. HASH_JOIN_NODE (id=2):(Active: 362.25ms, % non-child: 3.92%)
  245. ExecOption: Build Side Codegen Enabled, Probe Side Codegen Enabled, Hash Table Built Asynchronously
  246. - BuildBuckets: 1.02K (1024)
  247. - BuildRows: 98.30K (98304)
  248. - BuildTime: 12.622ms
  249. - LoadFactor: 0.00
  250. - PeakMemoryUsage: 6.02 MB
  251. - ProbeRows: 3
  252. - ProbeTime: 3.579ms
  253. - RowsReturned: 98.30K (98304)
  254. - RowsReturnedRate: 271.54 K/sec
  255. EXCHANGE_NODE (id=3):(Active: 344.680ms, % non-child: 77.92%)
  256. - BytesReceived: 1.15 MB
  257. - ConvertRowBatchTime: 2.792ms
  258. - DataArrivalWaitTime: 339.936ms
  259. - DeserializeRowBatchTimer: 9.910ms
  260. - FirstBatchArrivalWaitTime: 199.474ms
  261. - PeakMemoryUsage: 156.00 KB
  262. - RowsReturned: 98.30K (98304)
  263. - RowsReturnedRate: 285.20 K/sec
  264. - SendersBlockedTimer: 0ns
  265. - SendersBlockedTotalTimer(*): 0ns
  266. HDFS_SCAN_NODE (id=0):(Active: 13.616us, % non-child: 0.00%)
  267. Hdfs split stats (<volume id>:<# splits>/<split lengths>): 0:1/33.00 B
  268. Hdfs Read Thread Concurrency Bucket: 0:0% 1:0%
  269. File Formats: TEXT/NONE:1
  270. ExecOption: Codegen enabled: 1 out of 1
  271. - AverageHdfsReadThreadConcurrency: 0.00
  272. - AverageScannerThreadConcurrency: 0.00
  273. - BytesRead: 33.00 B
  274. - BytesReadLocal: 33.00 B
  275. - BytesReadShortCircuit: 33.00 B
  276. - NumDisksAccessed: 1
  277. - NumScannerThreadsStarted: 1
  278. - PeakMemoryUsage: 46.00 KB
  279. - PerReadThreadRawHdfsThroughput: 287.52 KB/sec
  280. - RowsRead: 3
  281. - RowsReturned: 3
  282. - RowsReturnedRate: 220.33 K/sec
  283. - ScanRangesComplete: 1
  284. - ScannerThreadsInvoluntaryContextSwitches: 26
  285. - ScannerThreadsTotalWallClockTime: 55.199ms
  286. - DelimiterParseTime: 2.463us
  287. - MaterializeTupleTime(*): 1.226us
  288. - ScannerThreadsSysTime: 0ns
  289. - ScannerThreadsUserTime: 42.993ms
  290. - ScannerThreadsVoluntaryContextSwitches: 1
  291. - TotalRawHdfsReadTime(*): 112.86us
  292. - TotalReadThroughput: 0.00 /sec
  293. Fragment 2:
  294. Instance 6540a03d4bee0691:4963d6269b210ec0 (host=impala-1.example.com:22000):(Active: 190.120ms, % non-child: 0.00%)
  295. Hdfs split stats (<volume id>:<# splits>/<split lengths>): 0:15/960.00 KB
  296. - AverageThreadTokens: 0.00
  297. - PeakMemoryUsage: 906.33 KB
  298. - PrepareTime: 3.67ms
  299. - RowsProduced: 98.30K (98304)
  300. - TotalCpuTime: 403.351ms
  301. - TotalNetworkWaitTime: 34.999ms
  302. - TotalStorageWaitTime: 108.675ms
  303. CodeGen:(Active: 162.57ms, % non-child: 85.24%)
  304. - CodegenTime: 3.133ms
  305. - CompileTime: 148.316ms
  306. - LoadTime: 12.317ms
  307. - ModuleFileSize: 95.27 KB
  308. DataStreamSender (dst_id=3):(Active: 70.620ms, % non-child: 37.14%)
  309. - BytesSent: 1.15 MB
  310. - NetworkThroughput(*): 23.30 MB/sec
  311. - OverallThroughput: 16.23 MB/sec
  312. - PeakMemoryUsage: 5.33 KB
  313. - SerializeBatchTime: 22.69ms
  314. - ThriftTransmitTime(*): 49.178ms
  315. - UncompressedRowBatchSize: 3.28 MB
  316. HDFS_SCAN_NODE (id=1):(Active: 118.839ms, % non-child: 62.51%)
  317. Hdfs split stats (<volume id>:<# splits>/<split lengths>): 0:15/960.00 KB
  318. Hdfs Read Thread Concurrency Bucket: 0:0% 1:0%
  319. File Formats: TEXT/NONE:15
  320. ExecOption: Codegen enabled: 15 out of 15
  321. - AverageHdfsReadThreadConcurrency: 0.00
  322. - AverageScannerThreadConcurrency: 0.00
  323. - BytesRead: 960.00 KB
  324. - BytesReadLocal: 960.00 KB
  325. - BytesReadShortCircuit: 960.00 KB
  326. - NumDisksAccessed: 1
  327. - NumScannerThreadsStarted: 1
  328. - PeakMemoryUsage: 869.00 KB
  329. - PerReadThreadRawHdfsThroughput: 130.21 MB/sec
  330. - RowsRead: 98.30K (98304)
  331. - RowsReturned: 98.30K (98304)
  332. - RowsReturnedRate: 827.20 K/sec
  333. - ScanRangesComplete: 15
  334. - ScannerThreadsInvoluntaryContextSwitches: 34
  335. - ScannerThreadsTotalWallClockTime: 189.774ms
  336. - DelimiterParseTime: 15.703ms
  337. - MaterializeTupleTime(*): 3.419ms
  338. - ScannerThreadsSysTime: 1.999ms
  339. - ScannerThreadsUserTime: 44.993ms
  340. - ScannerThreadsVoluntaryContextSwitches: 118
  341. - TotalRawHdfsReadTime(*): 7.199ms
  342. - TotalReadThroughput: 0.00 /sec