Show / Hide Table of Contents

Class SparkSQLExpression

Spark SQL expression visitor.

Inheritance
Object
LoggingExpressionVisitorBase
ExpressionEmitterBase
SparkSQLExpression
Implements
IGenericExpressionVisitor<String>
IExpressionVisitor
IGenericVisitor<String>
Inherited Members
ExpressionEmitterBase._output
ExpressionEmitterBase.Result
ExpressionEmitterBase.Reset()
ExpressionEmitterBase.VisitWithTracing(Aggregand)
ExpressionEmitterBase.VisitWithTracing(BinaryAggregation)
ExpressionEmitterBase.VisitWithTracing(BinaryOperation)
ExpressionEmitterBase.VisitWithTracing(DataSourceColumn)
ExpressionEmitterBase.VisitWithTracing(Extern)
ExpressionEmitterBase.VisitWithTracing(Filter)
ExpressionEmitterBase.VisitWithTracing(JoinKey)
ExpressionEmitterBase.VisitWithTracing(Literal)
ExpressionEmitterBase.VisitWithTracing(RuntimeVariable)
ExpressionEmitterBase.VisitWithTracing(TernaryOperation)
ExpressionEmitterBase.VisitWithTracing(UnaryAggregation)
ExpressionEmitterBase.VisitWithTracing(UnionExpression)
ExpressionEmitterBase.VisitWithTracing(UnaryWindowFunction)
ExpressionEmitterBase.AcceptWithSeparator(IEnumerable<Expression>, String, String, String)
ExpressionEmitterBase.AcceptAndAppend(Object[])
ExpressionEmitterBase.VisitParseExpression(UnaryOperation)
ExpressionEmitterBase.CreateVectorOperationFromBinary(VectorOperationKind, IEnumerable<Expression>)
ExpressionEmitterBase.ThrowHelpfulError(Object)
LoggingExpressionVisitorBase.Logger
LoggingExpressionVisitorBase.VisitorName
LoggingExpressionVisitorBase.Visit(JoinKey)
LoggingExpressionVisitorBase.Visit(Literal)
LoggingExpressionVisitorBase.Visit(RuntimeVariable)
LoggingExpressionVisitorBase.Visit(TernaryOperation)
LoggingExpressionVisitorBase.Visit(UnaryAggregation)
LoggingExpressionVisitorBase.Visit(UnaryOperation)
LoggingExpressionVisitorBase.Visit(UnionExpression)
LoggingExpressionVisitorBase.Visit(VectorOperation)
LoggingExpressionVisitorBase.Visit(Aggregand)
LoggingExpressionVisitorBase.Visit(BinaryAggregation)
LoggingExpressionVisitorBase.Visit(ColumnReference)
LoggingExpressionVisitorBase.Visit(DataSourceColumn)
LoggingExpressionVisitorBase.Visit(Extern)
LoggingExpressionVisitorBase.Visit(Filter)
LoggingExpressionVisitorBase.Visit(UnaryWindowFunction)
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Mangrove.MetricSetEmitters
Assembly: MetricSetEmitters.dll
Syntax
public class SparkSQLExpression : ExpressionEmitterBase, IGenericExpressionVisitor<string>, IExpressionVisitor, IGenericVisitor<string>
Remarks

This can be used in Spark SQL emitters, or just for debugging. Source of the information: https://spark.apache.org/docs/latest/api/sql/index.html

Constructors

View Source

SparkSQLExpression(ILogger)

Declaration
public SparkSQLExpression(ILogger logger)
Parameters
Type Name Description
ILogger logger

Properties

View Source

AssignmentOperator

Declaration
protected override string AssignmentOperator { get; }
Property Value
Type Description
String
Overrides
ExpressionEmitterBase.AssignmentOperator
View Source

BinaryAggregationToOperator

Declaration
protected override IReadOnlyDictionary<BinaryAggregationKind, (string prefix, string separator, string suffix)> BinaryAggregationToOperator { get; }
Property Value
Type Description
IReadOnlyDictionary<BinaryAggregationKind, ValueTuple<String, String, String>>
Overrides
ExpressionEmitterBase.BinaryAggregationToOperator
View Source

BinaryOperationToOperator

Declaration
protected override IReadOnlyDictionary<BinaryOperationKind, (string prefix, string infix, string suffix)> BinaryOperationToOperator { get; }
Property Value
Type Description
IReadOnlyDictionary<BinaryOperationKind, ValueTuple<String, String, String>>
Overrides
ExpressionEmitterBase.BinaryOperationToOperator
View Source

LiteralFalse

Declaration
protected override string LiteralFalse { get; }
Property Value
Type Description
String
Overrides
ExpressionEmitterBase.LiteralFalse
View Source

LiteralTrue

Declaration
protected override string LiteralTrue { get; }
Property Value
Type Description
String
Overrides
ExpressionEmitterBase.LiteralTrue
View Source

Min_Max_Value

Not any sql key word can used by the MinValue and MaxValue, so use the constant.

Declaration
protected override Dictionary<string, string> Min_Max_Value { get; }
Property Value
Type Description
Dictionary<String, String>
Overrides
ExpressionEmitterBase.Min_Max_Value
View Source

NegativeInfinity

Declaration
protected override string NegativeInfinity { get; }
Property Value
Type Description
String
Overrides
ExpressionEmitterBase.NegativeInfinity
View Source

PositiveInfinity

Declaration
protected override string PositiveInfinity { get; }
Property Value
Type Description
String
Overrides
ExpressionEmitterBase.PositiveInfinity
View Source

TernaryOperationToOperator

Declaration
protected override IReadOnlyDictionary<TernaryOperationKind, (string prefix, string leftInfix, string rightInfix, string suffix)> TernaryOperationToOperator { get; }
Property Value
Type Description
IReadOnlyDictionary<TernaryOperationKind, ValueTuple<String, String, String, String>>
Overrides
ExpressionEmitterBase.TernaryOperationToOperator
View Source

TypeKindToParseFromStringOperator

See: https://spark.apache.org/docs/latest/api/sql/index.html Byte and UnsignedLong are not supported yet in SparkSQL

Declaration
protected override IReadOnlyDictionary<TypeKind, (string prefix, string suffix)> TypeKindToParseFromStringOperator { get; }
Property Value
Type Description
IReadOnlyDictionary<TypeKind, ValueTuple<String, String>>
Overrides
ExpressionEmitterBase.TypeKindToParseFromStringOperator
View Source

TypeToName

Declaration
protected override IReadOnlyDictionary<TypeKind, string> TypeToName { get; }
Property Value
Type Description
IReadOnlyDictionary<TypeKind, String>
Overrides
ExpressionEmitterBase.TypeToName
View Source

TypeToNull

Declaration
protected override IReadOnlyDictionary<TypeKind, string> TypeToNull { get; }
Property Value
Type Description
IReadOnlyDictionary<TypeKind, String>
Overrides
ExpressionEmitterBase.TypeToNull
View Source

UnaryAggregationToOperator

Declaration
protected override IReadOnlyDictionary<UnaryAggregationKind, (string op, string prefix, string suffix)> UnaryAggregationToOperator { get; }
Property Value
Type Description
IReadOnlyDictionary<UnaryAggregationKind, ValueTuple<String, String, String>>
Overrides
ExpressionEmitterBase.UnaryAggregationToOperator
View Source

UnaryOperationToOperator

Declaration
protected override IReadOnlyDictionary<UnaryOperationKind, (string prefix, string suffix)> UnaryOperationToOperator { get; }
Property Value
Type Description
IReadOnlyDictionary<UnaryOperationKind, ValueTuple<String, String>>
Overrides
ExpressionEmitterBase.UnaryOperationToOperator
View Source

VectorOperationToOperator

Declaration
protected override IReadOnlyDictionary<VectorOperationKind, (string prefix, string separator, string suffix)> VectorOperationToOperator { get; }
Property Value
Type Description
IReadOnlyDictionary<VectorOperationKind, ValueTuple<String, String, String>>
Overrides
ExpressionEmitterBase.VectorOperationToOperator
View Source

WindowFunctionSyntax

Declaration
protected override (string prefix, string separator, string suffix) WindowFunctionSyntax { get; }
Property Value
Type Description
ValueTuple<String, String, String>
Overrides
ExpressionEmitterBase.WindowFunctionSyntax

Methods

View Source

Escape(String)

Declaration
protected override string Escape(string input)
Parameters
Type Name Description
String input
Returns
Type Description
String
Overrides
ExpressionEmitterBase.Escape(String)
View Source

Visit(BinaryOperation)

Declaration
public override void Visit(BinaryOperation expr)
Parameters
Type Name Description
BinaryOperation expr
Overrides
LoggingExpressionVisitorBase.Visit(BinaryOperation)
View Source

VisitCreateHistogramExpression(UnaryOperation)

Declaration
protected override void VisitCreateHistogramExpression(UnaryOperation expr)
Parameters
Type Name Description
UnaryOperation expr
Overrides
ExpressionEmitterBase.VisitCreateHistogramExpression(UnaryOperation)
View Source

VisitTypeCastExpression(UnaryOperation)

Visit TypeCast expression.

Declaration
protected override void VisitTypeCastExpression(UnaryOperation expr)
Parameters
Type Name Description
UnaryOperation expr
Overrides
ExpressionEmitterBase.VisitTypeCastExpression(UnaryOperation)
Remarks

The result is a string in the format cast(expr as type). For example, cast( 3*2 as DOUBLE).

View Source

VisitWithTracing(ColumnReference)

Declaration
public override void VisitWithTracing(ColumnReference expr)
Parameters
Type Name Description
ColumnReference expr
Overrides
LoggingExpressionVisitorBase.VisitWithTracing(ColumnReference)
View Source

VisitWithTracing(UnaryOperation)

Declaration
public override void VisitWithTracing(UnaryOperation expr)
Parameters
Type Name Description
UnaryOperation expr
Overrides
ExpressionEmitterBase.VisitWithTracing(UnaryOperation)
View Source

VisitWithTracing(VectorOperation)

Handling vector operations in SparkSQL.

Declaration
public override void VisitWithTracing(VectorOperation expr)
Parameters
Type Name Description
VectorOperation expr
Overrides
ExpressionEmitterBase.VisitWithTracing(VectorOperation)
Remarks

Spark SQL does not support vector min/max so we create those manually by iterating the usual min/max. For example, the analog of max( a, b, c ) would be max( a, max(b,c) ).

Implements

IGenericExpressionVisitor<T>
IExpressionVisitor
IGenericVisitor<T>

Extension Methods

ObjectExtensions.EventId(Object)
  • View Source
Back to top Generated by DocFX