|
1 | 1 | # InMemoryTableScanExec Leaf Physical Operator |
2 | 2 |
|
3 | | -`InMemoryTableScanExec` is a leaf physical operator that represents an [InMemoryRelation](#relation) logical operator at execution time. |
| 3 | +`InMemoryTableScanExec` is a [leaf physical operator](SparkPlan.md#LeafExecNode) that represents an [InMemoryRelation](#relation) logical operator at execution time. |
| 4 | + |
| 5 | +## <span id="metrics"> Performance Metrics |
| 6 | + |
| 7 | +Key | Name (in web UI) | Description |
| 8 | +----------------|-------------------------|--------- |
| 9 | +numOutputRows | number of output rows | Number of output rows |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +<!--- |
| 14 | +## Review Me |
4 | 15 |
|
5 | 16 | `InMemoryTableScanExec` is <<creating-instance, created>> exclusively when [InMemoryScans](../execution-planning-strategies/InMemoryScans.md) execution planning strategy is executed and finds an InMemoryRelation.md[InMemoryRelation] logical operator in a logical query plan. |
6 | 17 |
|
@@ -145,17 +156,6 @@ filteredCachedBatches(): RDD[CachedBatch] |
145 | 156 |
|
146 | 157 | `filteredCachedBatches` is used when `InMemoryTableScanExec` is requested for the [inputRDD](#inputRDD) internal property. |
147 | 158 |
|
148 | | -=== [[statsFor]] `statsFor` Internal Method |
149 | | - |
150 | | -[source, scala] |
151 | | ----- |
152 | | -statsFor(a: Attribute) |
153 | | ----- |
154 | | - |
155 | | -`statsFor`...FIXME |
156 | | - |
157 | | -NOTE: `statsFor` is used when...FIXME |
158 | | - |
159 | 159 | === [[createAndDecompressColumn]] `createAndDecompressColumn` Internal Method |
160 | 160 |
|
161 | 161 | ```scala |
@@ -270,79 +270,4 @@ With <<supportsBatch, supportsBatch>> flag on, `doExecute` creates a WholeStageC |
270 | 270 | Otherwise, when <<supportsBatch, supportsBatch>> flag is off, `doExecute` simply gives the <<inputRDD, input RDD of internal rows>>. |
271 | 271 |
|
272 | 272 | `doExecute` is part of the [SparkPlan](SparkPlan.md#doExecute) abstraction. |
273 | | - |
274 | | -=== [[buildFilter]] `buildFilter` Property |
275 | | - |
276 | | -[source, scala] |
277 | | ----- |
278 | | -buildFilter: PartialFunction[Expression, Expression] |
279 | | ----- |
280 | | - |
281 | | -NOTE: `buildFilter` is a Scala lazy value which is computed once when accessed and cached afterwards. |
282 | | - |
283 | | -`buildFilter` is a Scala https://www.scala-lang.org/api/2.11.11/#scala.PartialFunction[PartialFunction] that accepts an expressions/Expression.md[Expression] and produces an expressions/Expression.md[Expression], i.e. `PartialFunction[Expression, Expression]`. |
284 | | - |
285 | | -[[buildFilter-expressions]] |
286 | | -.buildFilter's Expressions |
287 | | -[cols="1,2",options="header",width="100%"] |
288 | | -|=== |
289 | | -| Input Expression |
290 | | -| Description |
291 | | - |
292 | | -| `And` |
293 | | -| |
294 | | - |
295 | | -| `Or` |
296 | | -| |
297 | | - |
298 | | -| [EqualTo](../expressions/EqualTo.md) |
299 | | -| |
300 | | - |
301 | | -| [EqualNullSafe](../expressions/EqualNullSafe.md) |
302 | | -| |
303 | | - |
304 | | -| `LessThan` |
305 | | -| |
306 | | - |
307 | | -| `LessThanOrEqual` |
308 | | -| |
309 | | - |
310 | | -| `GreaterThan` |
311 | | -| |
312 | | - |
313 | | -| `GreaterThanOrEqual` |
314 | | -| |
315 | | - |
316 | | -| `IsNull` |
317 | | -| |
318 | | - |
319 | | -| `IsNotNull` |
320 | | -| |
321 | | - |
322 | | -| `In` with a non-empty spark-sql-Expression-In.md#list[list] of spark-sql-Expression-Literal.md[Literal] expressions |
323 | | -| |
324 | | -For every `Literal` expression in the expression list, `buildFilter` creates an `And` expression with the lower and upper bounds of the <<statsFor, partition statistics for the attribute>> and the `Literal`. |
325 | | - |
326 | | -In the end, `buildFilter` joins the `And` expressions with `Or` expressions. |
327 | | -|=== |
328 | | - |
329 | | -NOTE: `buildFilter` is used exclusively when `InMemoryTableScanExec` is requested for <<partitionFilters, partitionFilters>>. |
330 | | - |
331 | | -=== [[innerChildren]] `innerChildren` Method |
332 | | - |
333 | | -[source, scala] |
334 | | ----- |
335 | | -innerChildren: Seq[QueryPlan[_]] |
336 | | ----- |
337 | | - |
338 | | -NOTE: `innerChildren` is part of catalyst/QueryPlan.md#innerChildren[QueryPlan Contract] to...FIXME. |
339 | | - |
340 | | -`innerChildren`...FIXME |
341 | | - |
342 | | -## <span id="metrics"> Performance Metrics |
343 | | - |
344 | | -Key | Name (in web UI) | Description |
345 | | -----------------|-------------------------|--------- |
346 | | -numOutputRows | number of output rows | Number of output rows |
347 | | - |
348 | | - |
| 273 | +--> |
0 commit comments