CodeGenerator
CodeGenerator is a base class for generators of JVM bytecode for expression evaluation.
| Name | Description |
|---|---|
|
Guava’s LoadingCache with at most 100 pairs of |
|
|
Tip
|
Enable Add the following line to
Refer to Logging. |
CodeGenerator Contract
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package org.apache.spark.sql.catalyst.expressions.codegen abstract class CodeGenerator[InType, OutType] { def create(in: InType): OutType def canonicalize(in: InType): InType def bind(in: InType, inputSchema: Seq[Attribute]): InType def generate(expressions: InType, inputSchema: Seq[Attribute]): OutType def generate(expressions: InType): OutType } |
| Method | Description |
|---|---|
|
Generates an evaluator for expression(s) that may (optionally) have expression(s) bound to a schema (i.e. a collection of Attribute). Used in:
|
create Method
|
1 2 3 4 5 |
create(references: Seq[Expression]): UnsafeProjection |
|
Caution
|
FIXME |
|
Note
|
|
Creating CodegenContext — newCodeGenContext Method
|
1 2 3 4 5 |
newCodeGenContext(): CodegenContext |
newCodeGenContext simply creates a new CodegenContext.
|
Note
|
|
spark技术分享