Supported SQL Expressions¶
This section documents all Xonai SQL expression support status. Expressions not yet supported will fall back to the original Spark execution engine.
Aggregate Expressions¶
Expression |
Parameters |
Support |
---|---|---|
AggregateExpression |
aggFunc |
Partially Supported
|
filter |
Supported
|
|
Output |
Partially Supported
|
|
Average |
Input |
Supported
|
Output |
Supported
|
|
BitAndAgg |
Input/Output |
Supported
|
BitOrAgg |
Input/Output |
Supported
|
BitXorAgg |
Input/Output |
Supported
|
BloomFilterMightContain |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
Corr |
Input/Output |
Supported
|
Count |
Input |
Partially Supported
|
Output |
Supported
|
|
CovPopulation |
Input/Output |
Supported
|
CovSample |
Input/Output |
Supported
|
First |
Input/Output |
Partially Supported
|
Kurtosis |
Input/Output |
Supported
|
Max |
Input/Output |
Partially Supported
|
Min |
Input/Output |
Partially Supported
|
RegrIntercept |
Input/Output |
Supported
|
RegrR2 |
Input/Output |
Supported
|
RegrReplacement |
Input/Output |
Supported
|
RegrSXY |
Input/Output |
Supported
|
RegrSlope |
Input/Output |
Supported
|
Skewness |
Input/Output |
Supported
|
StddevPop |
Input/Output |
Supported
|
StddevSamp |
Input/Output |
Supported
|
Sum |
Input |
Supported
|
Output |
Supported
|
|
VariancePop |
Input/Output |
Supported
|
VarianceSamp |
Input/Output |
Supported
|
AnyValue |
– |
available soon |
ApproxCountDistinctForIntervals |
– |
available soon |
ApproximatePercentile |
– |
available soon |
BloomFilterAggregate |
– |
available soon |
CollectList |
– |
available soon |
CollectSet |
– |
available soon |
CollectTopK |
– |
available soon |
CountMinSketchAgg |
– |
available soon |
HistogramNumeric |
– |
available soon |
HyperLogLogPlusPlus |
– |
available soon |
Last |
– |
available soon |
MaxBy |
– |
available soon |
MinBy |
– |
available soon |
Mode |
– |
available soon |
PandasCovar |
– |
available soon |
PandasKurtosis |
– |
available soon |
PandasMode |
– |
available soon |
PandasProduct |
– |
available soon |
PandasSkewness |
– |
available soon |
PandasStddev |
– |
available soon |
PandasVariance |
– |
available soon |
Percentile |
– |
available soon |
PercentileDisc |
– |
available soon |
PivotFirst |
– |
available soon |
Product |
– |
available soon |
Alchemy Expressions¶
Expression |
Parameters |
Support |
---|---|---|
HyperLogLogCardinality |
Input |
Supported
|
Output |
Supported
|
|
HyperLogLogInitSimpleAgg |
Input |
Partially Supported
|
Output |
Supported
|
Arithmetic Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Abs |
Input/Output |
Supported
|
Add |
Input/Output |
Partially Supported
|
Divide |
Input/Output |
Supported
|
IntegralDivide |
Input |
Supported
|
Output |
Supported
|
|
Multiply |
Input/Output |
Supported
|
Pmod |
Input/Output |
Supported
|
Remainder |
Input/Output |
Supported
|
Subtract |
Input/Output |
Partially Supported
|
UnaryMinus |
Input/Output |
Partially Supported
|
UnaryPositive |
Input/Output |
Partially Supported
|
Array Type Expressions¶
Available soon
Bitmap Expressions¶
Expression |
Parameters |
Support |
---|---|---|
BitmapBitPosition |
Input/Output |
Supported
|
BitmapBucketNumber |
Input/Output |
Supported
|
BitmapCount |
Input |
Supported
|
Output |
Supported
|
|
BitmapConstructAgg |
– |
available soon |
BitmapOrAgg |
– |
available soon |
Bitwise Expressions¶
Expression |
Parameters |
Support |
---|---|---|
BitwiseAnd |
Input/Output |
Supported
|
BitwiseCount |
Input |
Supported
|
Output |
Supported
|
|
BitwiseGet |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
BitwiseNot |
Input/Output |
Supported
|
BitwiseOr |
Input/Output |
Supported
|
BitwiseReverse |
Input/Output |
Supported
|
BitwiseXor |
Input/Output |
Supported
|
Core Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Alias |
Input/Output |
Supported
|
AttributeReference |
Output |
Partially Supported
|
Cast |
Input/Output |
Partially Supported
|
Literal |
Output |
Partially Supported
|
ScalarSubquery |
Output |
Partially Supported
|
Collection Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Size |
Input |
Supported
|
Output |
Supported
|
|
ElementAt |
– |
available soon |
Conditional Expressions¶
Expression |
Parameters |
Support |
---|---|---|
CaseWhen |
when |
Supported
|
then |
Partially Supported
|
|
else |
Partially Supported
|
|
Output |
Partially Supported
|
|
If |
predicate |
Supported
|
trueValue |
Partially Supported
|
|
falseValue |
Partially Supported
|
|
Output |
Partially Supported
|
Constraint Expressions¶
Expression |
Parameters |
Support |
---|---|---|
KnownFloatingPointNormalized |
Input/Output |
Supported
|
KnownNotNull |
Input/Output |
Supported
|
CSV Expressions¶
Available soon
Datetime Expressions¶
Expression |
Parameters |
Support |
---|---|---|
AddMonths |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
DateAdd |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
DateAddYMInterval |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
DateDiff |
Input |
Supported
|
Output |
Supported
|
|
DateFromUnixDate |
Input |
Supported
|
Output |
Supported
|
|
DateSub |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
DayOfMonth |
Input |
Supported
|
Output |
Supported
|
|
DayOfWeek |
Input |
Supported
|
Output |
Supported
|
|
DayOfYear |
Input |
Supported
|
Output |
Supported
|
|
LastDay |
Input/Output |
Supported
|
MakeDate |
Input |
Supported
|
Output |
Supported
|
|
MicrosToTimestamp |
Input |
Supported
|
Output |
Supported
|
|
MillisToTimestamp |
Input |
Supported
|
Output |
Supported
|
|
Month |
Input |
Supported
|
Output |
Supported
|
|
NextDay |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
Quarter |
Input |
Supported
|
Output |
Supported
|
|
SecondsToTimestamp |
Input |
Supported
|
Output |
Supported
|
|
TruncDate |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
UnixDate |
Input |
Supported
|
Output |
Supported
|
|
UnixMicros |
Input |
Supported
|
Output |
Supported
|
|
UnixMillis |
Input |
Supported
|
Output |
Supported
|
|
UnixSeconds |
Input |
Supported
|
Output |
Supported
|
|
WeekDay |
Input |
Supported
|
Output |
Supported
|
|
WeekOfYear |
Input |
Supported
|
Output |
Supported
|
|
Year |
Input |
Supported
|
Output |
Supported
|
|
YearOfWeek |
Input |
Supported
|
Output |
Supported
|
|
CurrentBatchTimestamp |
– |
available soon |
CurrentDate |
– |
available soon |
CurrentTimeZone |
– |
available soon |
CurrentTimestamp |
– |
available soon |
DateAddInterval |
– |
available soon |
DateFormatClass |
– |
available soon |
FromUTCTimestamp |
– |
available soon |
FromUnixTime |
– |
available soon |
Hour |
– |
available soon |
MakeTimestamp |
– |
available soon |
Minute |
– |
available soon |
MonthsBetween |
– |
available soon |
Now |
– |
available soon |
Second |
– |
available soon |
SecondWithFraction |
– |
available soon |
SubtractDates |
– |
available soon |
SubtractTimestamps |
– |
available soon |
TimeAdd |
– |
available soon |
ToUTCTimestamp |
– |
available soon |
ToUnixTimestamp |
– |
available soon |
TruncTimestamp |
– |
available soon |
UnixTimestamp |
– |
available soon |
Decimal Expressions¶
Expression |
Parameters |
Support |
---|---|---|
CheckOverflow |
Input/Output |
Supported
|
MakeDecimal |
Input |
Supported
|
Output |
Supported
|
|
UnscaledValue |
Input |
Supported
|
Output |
Supported
|
Generator Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Explode |
Input |
Partially Supported
|
Output |
Supported
|
|
GeneratorOuter |
– |
available soon |
Inline |
– |
available soon |
PosExplode |
– |
available soon |
ReplicateRows |
– |
available soon |
Stack |
– |
available soon |
UserDefinedGenerator |
– |
available soon |
Hash Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Crc32 |
Input |
Supported
|
Output |
Supported
|
|
Md5 |
Input |
Supported
|
Output |
Supported
|
|
Murmur3Hash |
Input |
Partially Supported
|
Output |
Supported
|
|
Sha1 |
Input |
Supported
|
Output |
Supported
|
|
Sha2 |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
XxHash64 |
Input |
Partially Supported
|
Output |
Supported
|
|
HiveHash |
– |
available soon |
Hll Expressions¶
Available soon
Input File Expressions¶
Available soon
Interval Expressions¶
Expression |
Parameters |
Support |
---|---|---|
ExtractIntervalDays |
Input |
Supported
|
Output |
Supported
|
|
ExtractIntervalHours |
Input |
Supported
|
Output |
Supported
|
|
ExtractIntervalMinutes |
Input |
Supported
|
Output |
Supported
|
|
ExtractIntervalMonths |
Input |
Supported
|
Output |
Supported
|
|
ExtractIntervalSeconds |
Input |
Supported
|
Output |
Supported
|
|
ExtractIntervalYears |
Input |
Supported
|
Output |
Supported
|
|
MakeDTInterval |
days |
Supported
|
hours |
Supported
|
|
mins |
Supported
|
|
secs |
Supported
|
|
Output |
Supported
|
|
MakeInterval |
years |
Supported
|
months |
Supported
|
|
weeks |
Supported
|
|
days |
Supported
|
|
hours |
Supported
|
|
mins |
Supported
|
|
secs |
Supported
|
|
Output |
Supported
|
|
MakeYMInterval |
Input |
Supported
|
Output |
Supported
|
|
DivideInterval |
– |
available soon |
MultiplyInterval |
– |
available soon |
JSON Expressions¶
Available soon
Lambda Expressions¶
Available soon
Map Type Expressions¶
Available soon
Math Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Acos |
Input/Output |
Supported
|
Acosh |
Input/Output |
Supported
|
Asin |
Input/Output |
Supported
|
Asinh |
Input/Output |
Supported
|
Atan |
Input/Output |
Supported
|
Atan2 |
Input/Output |
Supported
|
Atanh |
Input/Output |
Supported
|
BRound |
Input/Output |
Supported
|
Bin |
Input |
Supported
|
Output |
Supported
|
|
Cbrt |
Input/Output |
Supported
|
Ceil |
Input |
Supported
|
Output |
Supported
|
|
Cos |
Input/Output |
Supported
|
Cosh |
Input/Output |
Supported
|
Cot |
Input/Output |
Supported
|
Csc |
Input/Output |
Supported
|
EulerNumber |
Output |
Supported
|
Exp |
Input/Output |
Supported
|
Expm1 |
Input/Output |
Supported
|
Factorial |
Input |
Supported
|
Output |
Supported
|
|
Floor |
Input |
Supported
|
Output |
Supported
|
|
Hex |
Input |
Supported
|
Output |
Supported
|
|
Hypot |
Input/Output |
Supported
|
Log |
Input/Output |
Supported
|
Log10 |
Input/Output |
Supported
|
Log1p |
Input/Output |
Supported
|
Log2 |
Input/Output |
Supported
|
Logarithm |
Input/Output |
Supported
|
NormalizeNaNAndZero |
Input/Output |
Supported
|
Pi |
Output |
Supported
|
Pow |
Input/Output |
Supported
|
Rint |
Input/Output |
Supported
|
Round |
Input/Output |
Supported
|
RoundCeil |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
RoundFloor |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
Sec |
Input/Output |
Supported
|
ShiftLeft |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
ShiftRight |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
ShiftRightUnsigned |
Input 1 |
Supported
|
Input 2 |
Supported
|
|
Output |
Supported
|
|
Signum |
Input/Output |
Supported
|
Sin |
Input/Output |
Supported
|
Sinh |
Input/Output |
Supported
|
Sqrt |
Input/Output |
Supported
|
Tan |
Input/Output |
Supported
|
Tanh |
Input/Output |
Supported
|
ToDegrees |
Input/Output |
Supported
|
ToRadians |
Input/Output |
Supported
|
Unhex |
Input |
Supported
|
Output |
Supported
|
|
WidthBucket |
value |
Partially Supported
|
minValue |
Partially Supported
|
|
maxValue |
Partially Supported
|
|
numBucket |
Supported
|
|
Output |
Supported
|
|
Conv |
– |
available soon |
Miscellaneous Expressions¶
Expression |
Parameters |
Support |
---|---|---|
MonotonicallyIncreasingID |
Output |
Supported
|
Rand |
Output |
Supported
|
Randn |
Output |
Supported
|
SparkPartitionID |
Output |
Supported
|
SparkVersion |
Output |
Supported
|
Uuid |
Output |
Supported
|
PrintToStderr |
– |
available soon |
PythonUDF |
– |
available soon |
RaiseError |
– |
available soon |
ScalaUDF |
– |
available soon |
TypeOf |
– |
available soon |
Null Expressions¶
Expression |
Parameters |
Support |
---|---|---|
AtLeastNNonNulls |
Input |
Supported
|
Output |
Supported
|
|
Coalesce |
Input/Output |
Partially Supported
|
IsNaN |
Input |
Supported
|
Output |
Supported
|
|
IsNotNull |
Input |
Supported
|
Output |
Supported
|
|
IsNull |
Input |
Supported
|
Output |
Supported
|
|
NaNvl |
Input/Output |
Supported
|
Ordering Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Greatest |
Input/Output |
Partially Supported
|
Least |
Input/Output |
Partially Supported
|
SortOrder |
Input/Output |
Partially Supported
|
Predicate Expressions¶
Expression |
Parameters |
Support |
---|---|---|
And |
Input/Output |
Supported
|
EqualNullSafe |
Input |
Partially Supported
|
Output |
Supported
|
|
EqualTo |
Input |
Partially Supported
|
Output |
Supported
|
|
GreaterThan |
Input |
Partially Supported
|
Output |
Supported
|
|
GreaterThanOrEqual |
Input |
Partially Supported
|
Output |
Supported
|
|
In |
Input |
Partially Supported
|
Output |
Supported
|
|
InSet |
Input |
Partially Supported
|
Output |
Supported
|
|
LessThan |
Input |
Partially Supported
|
Output |
Supported
|
|
LessThanOrEqual |
Input |
Partially Supported
|
Output |
Supported
|
|
Not |
Input/Output |
Supported
|
Or |
Input/Output |
Supported
|
Regex Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Like |
Input |
Supported
|
Output |
Supported
|
|
LikeAll |
– |
available soon |
LikeAny |
– |
available soon |
NotLikeAll |
– |
available soon |
NotLikeAny |
– |
available soon |
RLike |
– |
available soon |
RegExpExtract |
– |
available soon |
RegExpExtractAll |
– |
available soon |
RegExpReplace |
– |
available soon |
StringSplit |
– |
available soon |
String Expressions¶
Expression |
Parameters |
Support |
---|---|---|
Ascii |
Input |
Supported
|
Output |
Supported
|
|
BinaryPad |
str |
Supported
|
len |
Supported
|
|
pad |
Supported
|
|
Output |
Supported
|
|
BitLength |
Input |
Supported
|
Output |
Supported
|
|
Chr |
Input |
Supported
|
Output |
Supported
|
|
Concat |
Input/Output |
Partially Supported
|
ConcatWs |
sep |
Supported
|
strings |
Partially Supported
|
|
Output |
Supported
|
|
Contains |
Input |
Supported
|
Output |
Supported
|
|
EndsWith |
Input |
Supported
|
Output |
Supported
|
|
EphemeralSubstring |
str |
Supported
|
pos |
Supported
|
|
len |
Supported
|
|
Output |
Supported
|
|
InitCap |
Input/Output |
Supported
|
Length |
Input |
Supported
|
Output |
Supported
|
|
Lower |
Input/Output |
Supported
|
OctetLength |
Input |
Supported
|
Output |
Supported
|
|
Reverse |
Input/Output |
Partially Supported
|
SoundEx |
Input/Output |
Supported
|
StartsWith |
Input |
Supported
|
Output |
Supported
|
|
StringInstr |
Input |
Supported
|
Output |
Supported
|
|
StringLPad |
str |
Supported
|
len |
Supported
|
|
pad |
Supported
|
|
Output |
Supported
|
|
StringLocate |
substr |
Supported
|
str |
Supported
|
|
pos |
Supported
|
|
Output |
Supported
|
|
StringRPad |
str |
Supported
|
len |
Supported
|
|
pad |
Supported
|
|
Output |
Supported
|
|
StringRepeat |
str |
Supported
|
times |
Supported
|
|
Output |
Supported
|
|
StringSpace |
Input |
Supported
|
Output |
Supported
|
|
StringTranslate |
Input/Output |
Supported
|
StringTrim |
Input/Output |
Supported
|
StringTrimLeft |
Input/Output |
Supported
|
StringTrimRight |
Input/Output |
Supported
|
Substring |
str |
Partially Supported
|
pos |
Supported
|
|
len |
Supported
|
|
Output |
Partially Supported
|
|
SubstringIndex |
str |
Supported
|
delim |
Supported
|
|
count |
Supported
|
|
Output |
Supported
|
|
Upper |
Input/Output |
Supported
|
Base64 |
– |
available soon |
Decode |
– |
available soon |
Elt |
– |
available soon |
Encode |
– |
available soon |
FindInSet |
– |
available soon |
FormatNumber |
– |
available soon |
FormatString |
– |
available soon |
Levenshtein |
– |
available soon |
Overlay |
– |
available soon |
ParseUrl |
– |
available soon |
Sentences |
– |
available soon |
StringReplace |
– |
available soon |
UnBase64 |
– |
available soon |
Struct Type Expressions¶
Expression |
Parameters |
Support |
---|---|---|
CreateNamedStruct |
Input |
Partially Supported
|
Output |
Supported
|
|
GetStructField |
Input |
Supported
|
Output |
Partially Supported
|
Window Expressions¶
Available soon
XML Expressions¶
Available soon