spark/sql/functions/generated.go (1,181 lines of code) (raw):

// Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package functions import "github.com/apache/spark-connect-go/v35/spark/sql/column" // BitwiseNOT - Computes bitwise not. // // BitwiseNOT is the Golang equivalent of bitwiseNOT: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitwiseNOT(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bitwiseNOT", col)) } // BitwiseNot - Computes bitwise not. // // BitwiseNot is the Golang equivalent of bitwise_not: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitwiseNot(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bitwise_not", col)) } // BitCount - Returns the number of bits that are set in the argument expr as an unsigned 64-bit integer, // or NULL if the argument is NULL. // // BitCount is the Golang equivalent of bit_count: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitCount(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bit_count", col)) } // BitGet - Returns the value of the bit (0 or 1) at the specified position. // The positions are numbered from right to left, starting at zero. // The position argument cannot be negative. // // BitGet is the Golang equivalent of bit_get: (col: 'ColumnOrName', pos: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitGet(col column.Column, pos column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bit_get", col, pos)) } // Getbit - Returns the value of the bit (0 or 1) at the specified position. // The positions are numbered from right to left, starting at zero. // The position argument cannot be negative. // // Getbit is the Golang equivalent of getbit: (col: 'ColumnOrName', pos: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Getbit(col column.Column, pos column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("getbit", col, pos)) } // TODO: broadcast: (df: 'DataFrame') -> 'DataFrame' // Coalesce - Returns the first column that is not null. // // Coalesce is the Golang equivalent of coalesce: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Coalesce(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("coalesce", vals...)) } // Greatest - Returns the greatest value of the list of column names, skipping null values. // This function takes at least 2 parameters. It will return null if all parameters are null. // // Greatest is the Golang equivalent of greatest: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Greatest(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("greatest", vals...)) } // InputFileName - Creates a string column for the file name of the current Spark task. // // InputFileName is the Golang equivalent of input_file_name: () -> pyspark.sql.connect.column.Column func InputFileName() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("input_file_name")) } // Least - Returns the least value of the list of column names, skipping null values. // This function takes at least 2 parameters. It will return null if all parameters are null. // // Least is the Golang equivalent of least: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Least(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("least", vals...)) } // Isnan - An expression that returns true if the column is NaN. // // Isnan is the Golang equivalent of isnan: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Isnan(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("isnan", col)) } // Isnull - An expression that returns true if the column is null. // // Isnull is the Golang equivalent of isnull: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Isnull(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("isnull", col)) } // MonotonicallyIncreasingId - A column that generates monotonically increasing 64-bit integers. // // The generated ID is guaranteed to be monotonically increasing and unique, but not consecutive. // The current implementation puts the partition ID in the upper 31 bits, and the record number // within each partition in the lower 33 bits. The assumption is that the data frame has // less than 1 billion partitions, and each partition has less than 8 billion records. // // MonotonicallyIncreasingId is the Golang equivalent of monotonically_increasing_id: () -> pyspark.sql.connect.column.Column func MonotonicallyIncreasingId() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("monotonically_increasing_id")) } // Nanvl - Returns col1 if it is not NaN, or col2 if col1 is NaN. // // Both inputs should be floating point columns (:class:`DoubleType` or :class:`FloatType`). // // Nanvl is the Golang equivalent of nanvl: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Nanvl(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("nanvl", col1, col2)) } // Rand - Generates a random column with independent and identically distributed (i.i.d.) samples // uniformly distributed in [0.0, 1.0). // // Rand is the Golang equivalent of rand: (seed: Optional[int] = None) -> pyspark.sql.connect.column.Column func Rand(seed int64) column.Column { lit_seed := Int64Lit(seed) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("rand", lit_seed)) } // Randn - Generates a column with independent and identically distributed (i.i.d.) samples from // the standard normal distribution. // // Randn is the Golang equivalent of randn: (seed: Optional[int] = None) -> pyspark.sql.connect.column.Column func Randn(seed int64) column.Column { lit_seed := Int64Lit(seed) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("randn", lit_seed)) } // SparkPartitionId - A column for partition ID. // // SparkPartitionId is the Golang equivalent of spark_partition_id: () -> pyspark.sql.connect.column.Column func SparkPartitionId() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("spark_partition_id")) } // TODO: when: (condition: pyspark.sql.connect.column.Column, value: Any) -> pyspark.sql.connect.column.Column // Asc - Returns a sort expression based on the ascending order of the given column name. // // Asc is the Golang equivalent of asc: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Asc(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("asc", col)) } // AscNullsFirst - Returns a sort expression based on the ascending order of the given // column name, and null values return before non-null values. // // AscNullsFirst is the Golang equivalent of asc_nulls_first: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func AscNullsFirst(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("asc_nulls_first", col)) } // AscNullsLast - Returns a sort expression based on the ascending order of the given // column name, and null values appear after non-null values. // // AscNullsLast is the Golang equivalent of asc_nulls_last: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func AscNullsLast(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("asc_nulls_last", col)) } // Desc - Returns a sort expression based on the descending order of the given column name. // // Desc is the Golang equivalent of desc: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Desc(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("desc", col)) } // DescNullsFirst - Returns a sort expression based on the descending order of the given // column name, and null values appear before non-null values. // // DescNullsFirst is the Golang equivalent of desc_nulls_first: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func DescNullsFirst(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("desc_nulls_first", col)) } // DescNullsLast - Returns a sort expression based on the descending order of the given // column name, and null values appear after non-null values. // // DescNullsLast is the Golang equivalent of desc_nulls_last: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func DescNullsLast(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("desc_nulls_last", col)) } // Abs - Computes the absolute value. // // Abs is the Golang equivalent of abs: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Abs(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("abs", col)) } // Acos - Computes inverse cosine of the input column. // // Acos is the Golang equivalent of acos: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Acos(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("acos", col)) } // Acosh - Computes inverse hyperbolic cosine of the input column. // // Acosh is the Golang equivalent of acosh: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Acosh(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("acosh", col)) } // Asin - Computes inverse sine of the input column. // // Asin is the Golang equivalent of asin: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Asin(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("asin", col)) } // Asinh - Computes inverse hyperbolic sine of the input column. // // Asinh is the Golang equivalent of asinh: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Asinh(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("asinh", col)) } // Atan - Compute inverse tangent of the input column. // // Atan is the Golang equivalent of atan: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Atan(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("atan", col)) } // Atan2 - // // Atan2 is the Golang equivalent of atan2: (col1: Union[ForwardRef('ColumnOrName'), float], col2: Union[ForwardRef('ColumnOrName'), float]) -> pyspark.sql.connect.column.Column func Atan2(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("atan2", col1, col2)) } // Atanh - Computes inverse hyperbolic tangent of the input column. // // Atanh is the Golang equivalent of atanh: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Atanh(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("atanh", col)) } // Bin - Returns the string representation of the binary value of the given column. // // Bin is the Golang equivalent of bin: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Bin(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bin", col)) } // Bround - Round the given value to `scale` decimal places using HALF_EVEN rounding mode if `scale` >= 0 // or at integral part when `scale` < 0. // // Bround is the Golang equivalent of bround: (col: 'ColumnOrName', scale: int = 0) -> pyspark.sql.connect.column.Column func Bround(col column.Column, scale int64) column.Column { lit_scale := Int64Lit(scale) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bround", col, lit_scale)) } // Cbrt - Computes the cube-root of the given value. // // Cbrt is the Golang equivalent of cbrt: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Cbrt(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("cbrt", col)) } // Ceil - Computes the ceiling of the given value. // // Ceil is the Golang equivalent of ceil: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Ceil(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("ceil", col)) } // Ceiling - Computes the ceiling of the given value. // // Ceiling is the Golang equivalent of ceiling: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Ceiling(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("ceiling", col)) } // Conv - Convert a number in a string column from one base to another. // // Conv is the Golang equivalent of conv: (col: 'ColumnOrName', fromBase: int, toBase: int) -> pyspark.sql.connect.column.Column func Conv(col column.Column, fromBase int64, toBase int64) column.Column { lit_fromBase := Int64Lit(fromBase) lit_toBase := Int64Lit(toBase) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("conv", col, lit_fromBase, lit_toBase)) } // Cos - Computes cosine of the input column. // // Cos is the Golang equivalent of cos: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Cos(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("cos", col)) } // Cosh - Computes hyperbolic cosine of the input column. // // Cosh is the Golang equivalent of cosh: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Cosh(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("cosh", col)) } // Cot - Computes cotangent of the input column. // // Cot is the Golang equivalent of cot: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Cot(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("cot", col)) } // Csc - Computes cosecant of the input column. // // Csc is the Golang equivalent of csc: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Csc(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("csc", col)) } // Degrees - Converts an angle measured in radians to an approximately equivalent angle // measured in degrees. // // Degrees is the Golang equivalent of degrees: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Degrees(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("degrees", col)) } // E - Returns Euler's number. // // E is the Golang equivalent of e: () -> pyspark.sql.connect.column.Column func E() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("e")) } // Exp - Computes the exponential of the given value. // // Exp is the Golang equivalent of exp: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Exp(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("exp", col)) } // Expm1 - Computes the exponential of the given value minus one. // // Expm1 is the Golang equivalent of expm1: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Expm1(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("expm1", col)) } // Factorial - Computes the factorial of the given value. // // Factorial is the Golang equivalent of factorial: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Factorial(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("factorial", col)) } // Floor - Computes the floor of the given value. // // Floor is the Golang equivalent of floor: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Floor(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("floor", col)) } // Hex - Computes hex value of the given column, which could be :class:`pyspark.sql.types.StringType`, // :class:`pyspark.sql.types.BinaryType`, :class:`pyspark.sql.types.IntegerType` or // :class:`pyspark.sql.types.LongType`. // // Hex is the Golang equivalent of hex: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Hex(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("hex", col)) } // Hypot - Computes “sqrt(a^2 + b^2)“ without intermediate overflow or underflow. // // Hypot is the Golang equivalent of hypot: (col1: Union[ForwardRef('ColumnOrName'), float], col2: Union[ForwardRef('ColumnOrName'), float]) -> pyspark.sql.connect.column.Column func Hypot(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("hypot", col1, col2)) } // Log - Returns the first argument-based logarithm of the second argument. // // If there is only one argument, then this takes the natural logarithm of the argument. // // Log is the Golang equivalent of log: (arg1: Union[ForwardRef('ColumnOrName'), float], arg2: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func Log(arg1 column.Column, arg2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("log", arg1, arg2)) } // Log10 - Computes the logarithm of the given value in Base 10. // // Log10 is the Golang equivalent of log10: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Log10(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("log10", col)) } // Log1p - Computes the natural logarithm of the "given value plus one". // // Log1p is the Golang equivalent of log1p: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Log1p(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("log1p", col)) } // Ln - Returns the natural logarithm of the argument. // // Ln is the Golang equivalent of ln: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Ln(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("ln", col)) } // Log2 - Returns the base-2 logarithm of the argument. // // Log2 is the Golang equivalent of log2: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Log2(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("log2", col)) } // Negative - Returns the negative value. // // Negative is the Golang equivalent of negative: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Negative(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("negative", col)) } // Negate - Returns the negative value. // // Negate is the Golang equivalent of negate: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Negate(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("negate", col)) } // Pi - Returns Pi. // // Pi is the Golang equivalent of pi: () -> pyspark.sql.connect.column.Column func Pi() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("pi")) } // Positive - Returns the value. // // Positive is the Golang equivalent of positive: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Positive(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("positive", col)) } // Pmod - Returns the positive value of dividend mod divisor. // // Pmod is the Golang equivalent of pmod: (dividend: Union[ForwardRef('ColumnOrName'), float], divisor: Union[ForwardRef('ColumnOrName'), float]) -> pyspark.sql.connect.column.Column func Pmod(dividend column.Column, divisor column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("pmod", dividend, divisor)) } // WidthBucket - Returns the bucket number into which the value of this expression would fall // after being evaluated. Note that input arguments must follow conditions listed below; // otherwise, the method will return null. // // WidthBucket is the Golang equivalent of width_bucket: (v: 'ColumnOrName', min: 'ColumnOrName', max: 'ColumnOrName', numBucket: Union[ForwardRef('ColumnOrName'), int]) -> pyspark.sql.connect.column.Column func WidthBucket(v column.Column, min column.Column, max column.Column, numBucket column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("width_bucket", v, min, max, numBucket)) } // Pow - Returns the value of the first argument raised to the power of the second argument. // // Pow is the Golang equivalent of pow: (col1: Union[ForwardRef('ColumnOrName'), float], col2: Union[ForwardRef('ColumnOrName'), float]) -> pyspark.sql.connect.column.Column func Pow(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("pow", col1, col2)) } // Radians - Converts an angle measured in degrees to an approximately equivalent angle // measured in radians. // // Radians is the Golang equivalent of radians: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Radians(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("radians", col)) } // Rint - Returns the double value that is closest in value to the argument and // is equal to a mathematical integer. // // Rint is the Golang equivalent of rint: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Rint(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("rint", col)) } // Round - Round the given value to `scale` decimal places using HALF_UP rounding mode if `scale` >= 0 // or at integral part when `scale` < 0. // // Round is the Golang equivalent of round: (col: 'ColumnOrName', scale: int = 0) -> pyspark.sql.connect.column.Column func Round(col column.Column, scale int64) column.Column { lit_scale := Int64Lit(scale) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("round", col, lit_scale)) } // Sec - Computes secant of the input column. // // Sec is the Golang equivalent of sec: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Sec(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sec", col)) } // ShiftLeft - Shift the given value numBits left. // // ShiftLeft is the Golang equivalent of shiftLeft: (col: 'ColumnOrName', numBits: int) -> pyspark.sql.connect.column.Column func ShiftLeft(col column.Column, numBits int64) column.Column { lit_numBits := Int64Lit(numBits) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("shiftLeft", col, lit_numBits)) } // Shiftleft - Shift the given value numBits left. // // Shiftleft is the Golang equivalent of shiftleft: (col: 'ColumnOrName', numBits: int) -> pyspark.sql.connect.column.Column func Shiftleft(col column.Column, numBits int64) column.Column { lit_numBits := Int64Lit(numBits) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("shiftleft", col, lit_numBits)) } // ShiftRight - (Signed) shift the given value numBits right. // // ShiftRight is the Golang equivalent of shiftRight: (col: 'ColumnOrName', numBits: int) -> pyspark.sql.connect.column.Column func ShiftRight(col column.Column, numBits int64) column.Column { lit_numBits := Int64Lit(numBits) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("shiftRight", col, lit_numBits)) } // Shiftright - (Signed) shift the given value numBits right. // // Shiftright is the Golang equivalent of shiftright: (col: 'ColumnOrName', numBits: int) -> pyspark.sql.connect.column.Column func Shiftright(col column.Column, numBits int64) column.Column { lit_numBits := Int64Lit(numBits) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("shiftright", col, lit_numBits)) } // ShiftRightUnsigned - Unsigned shift the given value numBits right. // // ShiftRightUnsigned is the Golang equivalent of shiftRightUnsigned: (col: 'ColumnOrName', numBits: int) -> pyspark.sql.connect.column.Column func ShiftRightUnsigned(col column.Column, numBits int64) column.Column { lit_numBits := Int64Lit(numBits) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("shiftRightUnsigned", col, lit_numBits)) } // Shiftrightunsigned - Unsigned shift the given value numBits right. // // Shiftrightunsigned is the Golang equivalent of shiftrightunsigned: (col: 'ColumnOrName', numBits: int) -> pyspark.sql.connect.column.Column func Shiftrightunsigned(col column.Column, numBits int64) column.Column { lit_numBits := Int64Lit(numBits) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("shiftrightunsigned", col, lit_numBits)) } // Signum - Computes the signum of the given value. // // Signum is the Golang equivalent of signum: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Signum(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("signum", col)) } // Sign - Computes the signum of the given value. // // Sign is the Golang equivalent of sign: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Sign(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sign", col)) } // Sin - Computes sine of the input column. // // Sin is the Golang equivalent of sin: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Sin(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sin", col)) } // Sinh - Computes hyperbolic sine of the input column. // // Sinh is the Golang equivalent of sinh: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Sinh(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sinh", col)) } // Sqrt - Computes the square root of the specified float value. // // Sqrt is the Golang equivalent of sqrt: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Sqrt(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sqrt", col)) } // TryAdd - Returns the sum of `left`and `right` and the result is null on overflow. // The acceptable input types are the same with the `+` operator. // // TryAdd is the Golang equivalent of try_add: (left: 'ColumnOrName', right: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TryAdd(left column.Column, right column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_add", left, right)) } // TryAvg - Returns the mean calculated from values of a group and the result is null on overflow. // // TryAvg is the Golang equivalent of try_avg: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TryAvg(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_avg", col)) } // TryDivide - Returns `dividend`/`divisor`. It always performs floating point division. Its result is // always null if `divisor` is 0. // // TryDivide is the Golang equivalent of try_divide: (left: 'ColumnOrName', right: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TryDivide(left column.Column, right column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_divide", left, right)) } // TryMultiply - Returns `left`*`right` and the result is null on overflow. The acceptable input types are the // same with the `*` operator. // // TryMultiply is the Golang equivalent of try_multiply: (left: 'ColumnOrName', right: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TryMultiply(left column.Column, right column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_multiply", left, right)) } // TrySubtract - Returns `left`-`right` and the result is null on overflow. The acceptable input types are the // same with the `-` operator. // // TrySubtract is the Golang equivalent of try_subtract: (left: 'ColumnOrName', right: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TrySubtract(left column.Column, right column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_subtract", left, right)) } // TrySum - Returns the sum calculated from values of a group and the result is null on overflow. // // TrySum is the Golang equivalent of try_sum: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TrySum(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_sum", col)) } // Tan - Computes tangent of the input column. // // Tan is the Golang equivalent of tan: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Tan(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("tan", col)) } // Tanh - Computes hyperbolic tangent of the input column. // // Tanh is the Golang equivalent of tanh: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Tanh(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("tanh", col)) } // ToDegrees - // // ToDegrees is the Golang equivalent of toDegrees: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ToDegrees(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("toDegrees", col)) } // ToRadians - // // ToRadians is the Golang equivalent of toRadians: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ToRadians(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("toRadians", col)) } // Unhex - Inverse of hex. Interprets each pair of characters as a hexadecimal number // and converts to the byte representation of number. // // Unhex is the Golang equivalent of unhex: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Unhex(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("unhex", col)) } // ApproxCountDistinct - Aggregate function: returns a new :class:`~pyspark.sql.Column` for approximate distinct count // of column `col`. // // ApproxCountDistinct is the Golang equivalent of approx_count_distinct: (col: 'ColumnOrName', rsd: Optional[float] = None) -> pyspark.sql.connect.column.Column func ApproxCountDistinct(col column.Column, rsd float64) column.Column { lit_rsd := Float64Lit(rsd) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("approx_count_distinct", col, lit_rsd)) } // Avg - Aggregate function: returns the average of the values in a group. // // Avg is the Golang equivalent of avg: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Avg(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("avg", col)) } // CollectList - Aggregate function: returns a list of objects with duplicates. // // CollectList is the Golang equivalent of collect_list: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CollectList(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("collect_list", col)) } // ArrayAgg - Aggregate function: returns a list of objects with duplicates. // // ArrayAgg is the Golang equivalent of array_agg: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArrayAgg(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_agg", col)) } // CollectSet - Aggregate function: returns a set of objects with duplicate elements eliminated. // // CollectSet is the Golang equivalent of collect_set: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CollectSet(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("collect_set", col)) } // Corr - Returns a new :class:`~pyspark.sql.Column` for the Pearson Correlation Coefficient for // “col1“ and “col2“. // // Corr is the Golang equivalent of corr: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Corr(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("corr", col1, col2)) } // Count - Aggregate function: returns the number of items in a group. // // Count is the Golang equivalent of count: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Count(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("count", col)) } // CountDistinct - Returns a new :class:`Column` for distinct count of “col“ or “cols“. // // CountDistinct is the Golang equivalent of count_distinct: (col: 'ColumnOrName', *cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CountDistinct(col column.Column, cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, col) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("count_distinct", vals...)) } // CovarPop - Returns a new :class:`~pyspark.sql.Column` for the population covariance of “col1“ and // “col2“. // // CovarPop is the Golang equivalent of covar_pop: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CovarPop(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("covar_pop", col1, col2)) } // CovarSamp - Returns a new :class:`~pyspark.sql.Column` for the sample covariance of “col1“ and // “col2“. // // CovarSamp is the Golang equivalent of covar_samp: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CovarSamp(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("covar_samp", col1, col2)) } // TODO: first: (col: 'ColumnOrName', ignorenulls: bool = False) -> pyspark.sql.connect.column.Column // Grouping - Aggregate function: indicates whether a specified column in a GROUP BY list is aggregated // or not, returns 1 for aggregated or 0 for not aggregated in the result set. // // Grouping is the Golang equivalent of grouping: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Grouping(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("grouping", col)) } // GroupingId - Aggregate function: returns the level of grouping, equals to // // (grouping(c1) << (n-1)) + (grouping(c2) << (n-2)) + ... + grouping(cn) // // GroupingId is the Golang equivalent of grouping_id: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func GroupingId(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("grouping_id", vals...)) } // CountMinSketch - Returns a count-min sketch of a column with the given esp, confidence and seed. // The result is an array of bytes, which can be deserialized to a `CountMinSketch` before usage. // Count-min sketch is a probabilistic data structure used for cardinality estimation // using sub-linear space. // // CountMinSketch is the Golang equivalent of count_min_sketch: (col: 'ColumnOrName', eps: 'ColumnOrName', confidence: 'ColumnOrName', seed: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CountMinSketch(col column.Column, eps column.Column, confidence column.Column, seed column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("count_min_sketch", col, eps, confidence, seed)) } // Kurtosis - Aggregate function: returns the kurtosis of the values in a group. // // Kurtosis is the Golang equivalent of kurtosis: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Kurtosis(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("kurtosis", col)) } // TODO: last: (col: 'ColumnOrName', ignorenulls: bool = False) -> pyspark.sql.connect.column.Column // Max - Aggregate function: returns the maximum value of the expression in a group. // // Max is the Golang equivalent of max: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Max(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("max", col)) } // MaxBy - Returns the value associated with the maximum value of ord. // // MaxBy is the Golang equivalent of max_by: (col: 'ColumnOrName', ord: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MaxBy(col column.Column, ord column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("max_by", col, ord)) } // Mean - Aggregate function: returns the average of the values in a group. // An alias of :func:`avg`. // // Mean is the Golang equivalent of mean: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Mean(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("mean", col)) } // Median - Returns the median of the values in a group. // // Median is the Golang equivalent of median: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Median(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("median", col)) } // Min - Aggregate function: returns the minimum value of the expression in a group. // // Min is the Golang equivalent of min: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Min(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("min", col)) } // MinBy - Returns the value associated with the minimum value of ord. // // MinBy is the Golang equivalent of min_by: (col: 'ColumnOrName', ord: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MinBy(col column.Column, ord column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("min_by", col, ord)) } // Mode - Returns the most frequent value in a group. // // Mode is the Golang equivalent of mode: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Mode(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("mode", col)) } // TODO: percentile: (col: 'ColumnOrName', percentage: Union[pyspark.sql.connect.column.Column, float, List[float], Tuple[float]], frequency: Union[pyspark.sql.connect.column.Column, int] = 1) -> pyspark.sql.connect.column.Column // TODO: percentile_approx: (col: 'ColumnOrName', percentage: Union[pyspark.sql.connect.column.Column, float, List[float], Tuple[float]], accuracy: Union[pyspark.sql.connect.column.Column, float] = 10000) -> pyspark.sql.connect.column.Column // TODO: approx_percentile: (col: 'ColumnOrName', percentage: Union[pyspark.sql.connect.column.Column, float, List[float], Tuple[float]], accuracy: Union[pyspark.sql.connect.column.Column, float] = 10000) -> pyspark.sql.connect.column.Column // Product - Aggregate function: returns the product of the values in a group. // // Product is the Golang equivalent of product: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Product(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("product", col)) } // Skewness - Aggregate function: returns the skewness of the values in a group. // // Skewness is the Golang equivalent of skewness: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Skewness(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("skewness", col)) } // Stddev - Aggregate function: alias for stddev_samp. // // Stddev is the Golang equivalent of stddev: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Stddev(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("stddev", col)) } // Std - Aggregate function: alias for stddev_samp. // // Std is the Golang equivalent of std: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Std(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("std", col)) } // StddevSamp - Aggregate function: returns the unbiased sample standard deviation of // the expression in a group. // // StddevSamp is the Golang equivalent of stddev_samp: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func StddevSamp(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("stddev_samp", col)) } // StddevPop - Aggregate function: returns population standard deviation of // the expression in a group. // // StddevPop is the Golang equivalent of stddev_pop: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func StddevPop(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("stddev_pop", col)) } // Sum - Aggregate function: returns the sum of all values in the expression. // // Sum is the Golang equivalent of sum: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Sum(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sum", col)) } // SumDistinct - Aggregate function: returns the sum of distinct values in the expression. // // SumDistinct is the Golang equivalent of sum_distinct: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func SumDistinct(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sum_distinct", col)) } // VarPop - Aggregate function: returns the population variance of the values in a group. // // VarPop is the Golang equivalent of var_pop: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func VarPop(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("var_pop", col)) } // RegrAvgx - Aggregate function: returns the average of the independent variable for non-null pairs // in a group, where `y` is the dependent variable and `x` is the independent variable. // // RegrAvgx is the Golang equivalent of regr_avgx: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrAvgx(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_avgx", y, x)) } // RegrAvgy - Aggregate function: returns the average of the dependent variable for non-null pairs // in a group, where `y` is the dependent variable and `x` is the independent variable. // // RegrAvgy is the Golang equivalent of regr_avgy: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrAvgy(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_avgy", y, x)) } // RegrCount - Aggregate function: returns the number of non-null number pairs // in a group, where `y` is the dependent variable and `x` is the independent variable. // // RegrCount is the Golang equivalent of regr_count: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrCount(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_count", y, x)) } // RegrIntercept - Aggregate function: returns the intercept of the univariate linear regression line // for non-null pairs in a group, where `y` is the dependent variable and // `x` is the independent variable. // // RegrIntercept is the Golang equivalent of regr_intercept: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrIntercept(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_intercept", y, x)) } // RegrR2 - Aggregate function: returns the coefficient of determination for non-null pairs // in a group, where `y` is the dependent variable and `x` is the independent variable. // // RegrR2 is the Golang equivalent of regr_r2: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrR2(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_r2", y, x)) } // RegrSlope - Aggregate function: returns the slope of the linear regression line for non-null pairs // in a group, where `y` is the dependent variable and `x` is the independent variable. // // RegrSlope is the Golang equivalent of regr_slope: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrSlope(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_slope", y, x)) } // RegrSxx - Aggregate function: returns REGR_COUNT(y, x) * VAR_POP(x) for non-null pairs // in a group, where `y` is the dependent variable and `x` is the independent variable. // // RegrSxx is the Golang equivalent of regr_sxx: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrSxx(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_sxx", y, x)) } // RegrSxy - Aggregate function: returns REGR_COUNT(y, x) * COVAR_POP(y, x) for non-null pairs // in a group, where `y` is the dependent variable and `x` is the independent variable. // // RegrSxy is the Golang equivalent of regr_sxy: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrSxy(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_sxy", y, x)) } // RegrSyy - Aggregate function: returns REGR_COUNT(y, x) * VAR_POP(y) for non-null pairs // in a group, where `y` is the dependent variable and `x` is the independent variable. // // RegrSyy is the Golang equivalent of regr_syy: (y: 'ColumnOrName', x: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegrSyy(y column.Column, x column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regr_syy", y, x)) } // VarSamp - Aggregate function: returns the unbiased sample variance of // the values in a group. // // VarSamp is the Golang equivalent of var_samp: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func VarSamp(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("var_samp", col)) } // Variance - Aggregate function: alias for var_samp // // Variance is the Golang equivalent of variance: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Variance(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("variance", col)) } // Every - Aggregate function: returns true if all values of `col` are true. // // Every is the Golang equivalent of every: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Every(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("every", col)) } // BoolAnd - Aggregate function: returns true if all values of `col` are true. // // BoolAnd is the Golang equivalent of bool_and: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BoolAnd(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bool_and", col)) } // Some - Aggregate function: returns true if at least one value of `col` is true. // // Some is the Golang equivalent of some: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Some(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("some", col)) } // BoolOr - Aggregate function: returns true if at least one value of `col` is true. // // BoolOr is the Golang equivalent of bool_or: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BoolOr(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bool_or", col)) } // BitAnd - Aggregate function: returns the bitwise AND of all non-null input values, or null if none. // // BitAnd is the Golang equivalent of bit_and: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitAnd(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bit_and", col)) } // BitOr - Aggregate function: returns the bitwise OR of all non-null input values, or null if none. // // BitOr is the Golang equivalent of bit_or: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitOr(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bit_or", col)) } // BitXor - Aggregate function: returns the bitwise XOR of all non-null input values, or null if none. // // BitXor is the Golang equivalent of bit_xor: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitXor(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bit_xor", col)) } // CumeDist - Window function: returns the cumulative distribution of values within a window partition, // i.e. the fraction of rows that are below the current row. // // CumeDist is the Golang equivalent of cume_dist: () -> pyspark.sql.connect.column.Column func CumeDist() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("cume_dist")) } // DenseRank - Window function: returns the rank of rows within a window partition, without any gaps. // // The difference between rank and dense_rank is that dense_rank leaves no gaps in ranking // sequence when there are ties. That is, if you were ranking a competition using dense_rank // and had three people tie for second place, you would say that all three were in second // place and that the next person came in third. Rank would give me sequential numbers, making // the person that came in third place (after the ties) would register as coming in fifth. // // This is equivalent to the DENSE_RANK function in SQL. // // DenseRank is the Golang equivalent of dense_rank: () -> pyspark.sql.connect.column.Column func DenseRank() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("dense_rank")) } // TODO: lag: (col: 'ColumnOrName', offset: int = 1, default: Optional[Any] = None) -> pyspark.sql.connect.column.Column // TODO: lead: (col: 'ColumnOrName', offset: int = 1, default: Optional[Any] = None) -> pyspark.sql.connect.column.Column // TODO: nth_value: (col: 'ColumnOrName', offset: int, ignoreNulls: Optional[bool] = None) -> pyspark.sql.connect.column.Column // TODO: any_value: (col: 'ColumnOrName', ignoreNulls: Union[bool, pyspark.sql.connect.column.Column, NoneType] = None) -> pyspark.sql.connect.column.Column // TODO: first_value: (col: 'ColumnOrName', ignoreNulls: Union[bool, pyspark.sql.connect.column.Column, NoneType] = None) -> pyspark.sql.connect.column.Column // TODO: last_value: (col: 'ColumnOrName', ignoreNulls: Union[bool, pyspark.sql.connect.column.Column, NoneType] = None) -> pyspark.sql.connect.column.Column // CountIf - Returns the number of `TRUE` values for the `col`. // // CountIf is the Golang equivalent of count_if: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CountIf(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("count_if", col)) } // HistogramNumeric - Computes a histogram on numeric 'col' using nb bins. // The return value is an array of (x,y) pairs representing the centers of the // histogram's bins. As the value of 'nb' is increased, the histogram approximation // gets finer-grained, but may yield artifacts around outliers. In practice, 20-40 // histogram bins appear to work well, with more bins being required for skewed or // smaller datasets. Note that this function creates a histogram with non-uniform // bin widths. It offers no guarantees in terms of the mean-squared-error of the // histogram, but in practice is comparable to the histograms produced by the R/S-Plus // statistical computing packages. Note: the output type of the 'x' field in the return value is // propagated from the input value consumed in the aggregate function. // // HistogramNumeric is the Golang equivalent of histogram_numeric: (col: 'ColumnOrName', nBins: 'ColumnOrName') -> pyspark.sql.connect.column.Column func HistogramNumeric(col column.Column, nBins column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("histogram_numeric", col, nBins)) } // Ntile - Window function: returns the ntile group id (from 1 to `n` inclusive) // in an ordered window partition. For example, if `n` is 4, the first // quarter of the rows will get value 1, the second quarter will get 2, // the third quarter will get 3, and the last quarter will get 4. // // This is equivalent to the NTILE function in SQL. // // Ntile is the Golang equivalent of ntile: (n: int) -> pyspark.sql.connect.column.Column func Ntile(n int64) column.Column { lit_n := Int64Lit(n) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("ntile", lit_n)) } // PercentRank - Window function: returns the relative rank (i.e. percentile) of rows within a window partition. // // PercentRank is the Golang equivalent of percent_rank: () -> pyspark.sql.connect.column.Column func PercentRank() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("percent_rank")) } // Rank - Window function: returns the rank of rows within a window partition. // // The difference between rank and dense_rank is that dense_rank leaves no gaps in ranking // sequence when there are ties. That is, if you were ranking a competition using dense_rank // and had three people tie for second place, you would say that all three were in second // place and that the next person came in third. Rank would give me sequential numbers, making // the person that came in third place (after the ties) would register as coming in fifth. // // This is equivalent to the RANK function in SQL. // // Rank is the Golang equivalent of rank: () -> pyspark.sql.connect.column.Column func Rank() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("rank")) } // RowNumber - Window function: returns a sequential number starting at 1 within a window partition. // // RowNumber is the Golang equivalent of row_number: () -> pyspark.sql.connect.column.Column func RowNumber() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("row_number")) } // TODO: aggregate: (col: 'ColumnOrName', initialValue: 'ColumnOrName', merge: Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column], finish: Optional[Callable[[pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]] = None) -> pyspark.sql.connect.column.Column // TODO: reduce: (col: 'ColumnOrName', initialValue: 'ColumnOrName', merge: Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column], finish: Optional[Callable[[pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]] = None) -> pyspark.sql.connect.column.Column // Array - Creates a new array column. // // Array is the Golang equivalent of array: (*cols: Union[ForwardRef('ColumnOrName'), List[ForwardRef('ColumnOrName')], Tuple[ForwardRef('ColumnOrName'), ...]]) -> pyspark.sql.connect.column.Column func Array(cols column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array", cols)) } // TODO: array_append: (col: 'ColumnOrName', value: Any) -> pyspark.sql.connect.column.Column // TODO: array_contains: (col: 'ColumnOrName', value: Any) -> pyspark.sql.connect.column.Column // ArrayDistinct - Collection function: removes duplicate values from the array. // // ArrayDistinct is the Golang equivalent of array_distinct: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArrayDistinct(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_distinct", col)) } // ArrayExcept - Collection function: returns an array of the elements in col1 but not in col2, // without duplicates. // // ArrayExcept is the Golang equivalent of array_except: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArrayExcept(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_except", col1, col2)) } // TODO: array_insert: (arr: 'ColumnOrName', pos: Union[ForwardRef('ColumnOrName'), int], value: Any) -> pyspark.sql.connect.column.Column // ArrayIntersect - Collection function: returns an array of the elements in the intersection of col1 and col2, // without duplicates. // // ArrayIntersect is the Golang equivalent of array_intersect: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArrayIntersect(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_intersect", col1, col2)) } // ArrayCompact - Collection function: removes null values from the array. // // ArrayCompact is the Golang equivalent of array_compact: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArrayCompact(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_compact", col)) } // ArrayJoin - Concatenates the elements of `column` using the `delimiter`. Null values are replaced with // `null_replacement` if set, otherwise they are ignored. // // ArrayJoin is the Golang equivalent of array_join: (col: 'ColumnOrName', delimiter: str, null_replacement: Optional[str] = None) -> pyspark.sql.connect.column.Column func ArrayJoin(col column.Column, delimiter string, null_replacement string) column.Column { lit_delimiter := StringLit(delimiter) lit_null_replacement := StringLit(null_replacement) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_join", col, lit_delimiter, lit_null_replacement)) } // ArrayMax - Collection function: returns the maximum value of the array. // // ArrayMax is the Golang equivalent of array_max: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArrayMax(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_max", col)) } // ArrayMin - Collection function: returns the minimum value of the array. // // ArrayMin is the Golang equivalent of array_min: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArrayMin(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_min", col)) } // ArraySize - Returns the total number of elements in the array. The function returns null for null input. // // ArraySize is the Golang equivalent of array_size: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArraySize(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_size", col)) } // Cardinality - Collection function: returns the length of the array or map stored in the column. // // Cardinality is the Golang equivalent of cardinality: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Cardinality(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("cardinality", col)) } // TODO: array_position: (col: 'ColumnOrName', value: Any) -> pyspark.sql.connect.column.Column // TODO: array_prepend: (col: 'ColumnOrName', value: Any) -> pyspark.sql.connect.column.Column // TODO: array_remove: (col: 'ColumnOrName', element: Any) -> pyspark.sql.connect.column.Column // ArrayRepeat - Collection function: creates an array containing a column repeated count times. // // ArrayRepeat is the Golang equivalent of array_repeat: (col: 'ColumnOrName', count: Union[ForwardRef('ColumnOrName'), int]) -> pyspark.sql.connect.column.Column func ArrayRepeat(col column.Column, count column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_repeat", col, count)) } // TODO: array_sort: (col: 'ColumnOrName', comparator: Optional[Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]] = None) -> pyspark.sql.connect.column.Column // ArrayUnion - Collection function: returns an array of the elements in the union of col1 and col2, // without duplicates. // // ArrayUnion is the Golang equivalent of array_union: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArrayUnion(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("array_union", col1, col2)) } // ArraysOverlap - Collection function: returns true if the arrays contain any common non-null element; if not, // returns null if both the arrays are non-empty and any of them contains a null element; returns // false otherwise. // // ArraysOverlap is the Golang equivalent of arrays_overlap: (a1: 'ColumnOrName', a2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArraysOverlap(a1 column.Column, a2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("arrays_overlap", a1, a2)) } // ArraysZip - Collection function: Returns a merged array of structs in which the N-th struct contains all // N-th values of input arrays. If one of the arrays is shorter than others then // resulting struct type value will be a `null` for missing elements. // // ArraysZip is the Golang equivalent of arrays_zip: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ArraysZip(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("arrays_zip", vals...)) } // Concat - Concatenates multiple input columns together into a single column. // The function works with strings, numeric, binary and compatible array columns. // // Concat is the Golang equivalent of concat: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Concat(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("concat", vals...)) } // CreateMap - Creates a new map column. // // CreateMap is the Golang equivalent of create_map: (*cols: Union[ForwardRef('ColumnOrName'), List[ForwardRef('ColumnOrName')], Tuple[ForwardRef('ColumnOrName'), ...]]) -> pyspark.sql.connect.column.Column func CreateMap(cols column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("create_map", cols)) } // TODO: element_at: (col: 'ColumnOrName', extraction: Any) -> pyspark.sql.connect.column.Column // TryElementAt - (array, index) - Returns element of array at given (1-based) index. If Index is 0, Spark will // throw an error. If index < 0, accesses elements from the last to the first. The function // always returns NULL if the index exceeds the length of the array. // // (map, key) - Returns value for given key. The function always returns NULL if the key is not // contained in the map. // // TryElementAt is the Golang equivalent of try_element_at: (col: 'ColumnOrName', extraction: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TryElementAt(col column.Column, extraction column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_element_at", col, extraction)) } // TODO: exists: (col: 'ColumnOrName', f: Callable[[pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]) -> pyspark.sql.connect.column.Column // Explode - Returns a new row for each element in the given array or map. // Uses the default column name `col` for elements in the array and // `key` and `value` for elements in the map unless specified otherwise. // // Explode is the Golang equivalent of explode: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Explode(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("explode", col)) } // ExplodeOuter - Returns a new row for each element in the given array or map. // Unlike explode, if the array/map is null or empty then null is produced. // Uses the default column name `col` for elements in the array and // `key` and `value` for elements in the map unless specified otherwise. // // ExplodeOuter is the Golang equivalent of explode_outer: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ExplodeOuter(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("explode_outer", col)) } // TODO: filter: (col: 'ColumnOrName', f: Union[Callable[[pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column], Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]]) -> pyspark.sql.connect.column.Column // Flatten - Collection function: creates a single array from an array of arrays. // If a structure of nested arrays is deeper than two levels, // only one level of nesting is removed. // // Flatten is the Golang equivalent of flatten: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Flatten(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("flatten", col)) } // TODO: forall: (col: 'ColumnOrName', f: Callable[[pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]) -> pyspark.sql.connect.column.Column // TODO: from_csv: (col: 'ColumnOrName', schema: Union[pyspark.sql.connect.column.Column, str], options: Optional[Dict[str, str]] = None) -> pyspark.sql.connect.column.Column // TODO: from_json: (col: 'ColumnOrName', schema: Union[pyspark.sql.types.ArrayType, pyspark.sql.types.StructType, pyspark.sql.connect.column.Column, str], options: Optional[Dict[str, str]] = None) -> pyspark.sql.connect.column.Column // Get - Collection function: Returns element of array at given (0-based) index. // If the index points outside of the array boundaries, then this function // returns NULL. // // Get is the Golang equivalent of get: (col: 'ColumnOrName', index: Union[ForwardRef('ColumnOrName'), int]) -> pyspark.sql.connect.column.Column func Get(col column.Column, index column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("get", col, index)) } // GetJsonObject - Extracts json object from a json string based on json `path` specified, and returns json string // of the extracted json object. It will return null if the input json string is invalid. // // GetJsonObject is the Golang equivalent of get_json_object: (col: 'ColumnOrName', path: str) -> pyspark.sql.connect.column.Column func GetJsonObject(col column.Column, path string) column.Column { lit_path := StringLit(path) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("get_json_object", col, lit_path)) } // JsonArrayLength - Returns the number of elements in the outermost JSON array. `NULL` is returned in case of // any other valid JSON string, `NULL` or an invalid JSON. // // JsonArrayLength is the Golang equivalent of json_array_length: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func JsonArrayLength(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("json_array_length", col)) } // JsonObjectKeys - Returns all the keys of the outermost JSON object as an array. If a valid JSON object is // given, all the keys of the outermost object will be returned as an array. If it is any // other valid JSON string, an invalid JSON string or an empty string, the function returns null. // // JsonObjectKeys is the Golang equivalent of json_object_keys: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func JsonObjectKeys(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("json_object_keys", col)) } // Inline - Explodes an array of structs into a table. // // Inline is the Golang equivalent of inline: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Inline(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("inline", col)) } // InlineOuter - Explodes an array of structs into a table. // Unlike inline, if the array is null or empty then null is produced for each nested column. // // InlineOuter is the Golang equivalent of inline_outer: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func InlineOuter(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("inline_outer", col)) } // JsonTuple - Creates a new row for a json column according to the given field names. // // JsonTuple is the Golang equivalent of json_tuple: (col: 'ColumnOrName', *fields: str) -> pyspark.sql.connect.column.Column func JsonTuple(col column.Column, fields string) column.Column { lit_fields := StringLit(fields) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("json_tuple", col, lit_fields)) } // MapConcat - Returns the union of all the given maps. // // MapConcat is the Golang equivalent of map_concat: (*cols: Union[ForwardRef('ColumnOrName'), List[ForwardRef('ColumnOrName')], Tuple[ForwardRef('ColumnOrName'), ...]]) -> pyspark.sql.connect.column.Column func MapConcat(cols column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("map_concat", cols)) } // TODO: map_contains_key: (col: 'ColumnOrName', value: Any) -> pyspark.sql.connect.column.Column // MapEntries - Collection function: Returns an unordered array of all entries in the given map. // // MapEntries is the Golang equivalent of map_entries: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MapEntries(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("map_entries", col)) } // TODO: map_filter: (col: 'ColumnOrName', f: Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]) -> pyspark.sql.connect.column.Column // MapFromArrays - Creates a new map from two arrays. // // MapFromArrays is the Golang equivalent of map_from_arrays: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MapFromArrays(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("map_from_arrays", col1, col2)) } // MapFromEntries - Collection function: Converts an array of entries (key value struct types) to a map // of values. // // MapFromEntries is the Golang equivalent of map_from_entries: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MapFromEntries(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("map_from_entries", col)) } // MapKeys - Collection function: Returns an unordered array containing the keys of the map. // // MapKeys is the Golang equivalent of map_keys: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MapKeys(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("map_keys", col)) } // MapValues - Collection function: Returns an unordered array containing the values of the map. // // MapValues is the Golang equivalent of map_values: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MapValues(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("map_values", col)) } // TODO: map_zip_with: (col1: 'ColumnOrName', col2: 'ColumnOrName', f: Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]) -> pyspark.sql.connect.column.Column // StrToMap - Creates a map after splitting the text into key/value pairs using delimiters. // Both `pairDelim` and `keyValueDelim` are treated as regular expressions. // // StrToMap is the Golang equivalent of str_to_map: (text: 'ColumnOrName', pairDelim: Optional[ForwardRef('ColumnOrName')] = None, keyValueDelim: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func StrToMap(text column.Column, pairDelim column.Column, keyValueDelim column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("str_to_map", text, pairDelim, keyValueDelim)) } // Posexplode - Returns a new row for each element with position in the given array or map. // Uses the default column name `pos` for position, and `col` for elements in the // array and `key` and `value` for elements in the map unless specified otherwise. // // Posexplode is the Golang equivalent of posexplode: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Posexplode(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("posexplode", col)) } // PosexplodeOuter - Returns a new row for each element with position in the given array or map. // Unlike posexplode, if the array/map is null or empty then the row (null, null) is produced. // Uses the default column name `pos` for position, and `col` for elements in the // array and `key` and `value` for elements in the map unless specified otherwise. // // PosexplodeOuter is the Golang equivalent of posexplode_outer: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func PosexplodeOuter(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("posexplode_outer", col)) } // Reverse - Collection function: returns a reversed string or an array with reverse order of elements. // // Reverse is the Golang equivalent of reverse: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Reverse(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("reverse", col)) } // Sequence - Generate a sequence of integers from `start` to `stop`, incrementing by `step`. // If `step` is not set, incrementing by 1 if `start` is less than or equal to `stop`, // otherwise -1. // // Sequence is the Golang equivalent of sequence: (start: 'ColumnOrName', stop: 'ColumnOrName', step: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func Sequence(start column.Column, stop column.Column, step column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sequence", start, stop, step)) } // TODO: schema_of_csv: (csv: 'ColumnOrName', options: Optional[Dict[str, str]] = None) -> pyspark.sql.connect.column.Column // TODO: schema_of_json: (json: 'ColumnOrName', options: Optional[Dict[str, str]] = None) -> pyspark.sql.connect.column.Column // Shuffle - Collection function: Generates a random permutation of the given array. // // Shuffle is the Golang equivalent of shuffle: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Shuffle(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("shuffle", col)) } // Size - Collection function: returns the length of the array or map stored in the column. // // Size is the Golang equivalent of size: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Size(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("size", col)) } // Slice - Collection function: returns an array containing all the elements in `x` from index `start` // (array indices start at 1, or from the end if `start` is negative) with the specified `length`. // // Slice is the Golang equivalent of slice: (col: 'ColumnOrName', start: Union[ForwardRef('ColumnOrName'), int], length: Union[ForwardRef('ColumnOrName'), int]) -> pyspark.sql.connect.column.Column func Slice(col column.Column, start column.Column, length column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("slice", col, start, length)) } // TODO: sort_array: (col: 'ColumnOrName', asc: bool = True) -> pyspark.sql.connect.column.Column // Struct - Creates a new struct column. // // Struct is the Golang equivalent of struct: (*cols: Union[ForwardRef('ColumnOrName'), List[ForwardRef('ColumnOrName')], Tuple[ForwardRef('ColumnOrName'), ...]]) -> pyspark.sql.connect.column.Column func Struct(cols column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("struct", cols)) } // NamedStruct - Creates a struct with the given field names and values. // // NamedStruct is the Golang equivalent of named_struct: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func NamedStruct(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("named_struct", vals...)) } // TODO: to_csv: (col: 'ColumnOrName', options: Optional[Dict[str, str]] = None) -> pyspark.sql.connect.column.Column // TODO: to_json: (col: 'ColumnOrName', options: Optional[Dict[str, str]] = None) -> pyspark.sql.connect.column.Column // TODO: transform: (col: 'ColumnOrName', f: Union[Callable[[pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column], Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]]) -> pyspark.sql.connect.column.Column // TODO: transform_keys: (col: 'ColumnOrName', f: Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]) -> pyspark.sql.connect.column.Column // TODO: transform_values: (col: 'ColumnOrName', f: Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]) -> pyspark.sql.connect.column.Column // TODO: zip_with: (left: 'ColumnOrName', right: 'ColumnOrName', f: Callable[[pyspark.sql.connect.column.Column, pyspark.sql.connect.column.Column], pyspark.sql.connect.column.Column]) -> pyspark.sql.connect.column.Column // Upper - Converts a string expression to upper case. // // Upper is the Golang equivalent of upper: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Upper(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("upper", col)) } // Lower - Converts a string expression to lower case. // // Lower is the Golang equivalent of lower: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Lower(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("lower", col)) } // Ascii - Computes the numeric value of the first character of the string column. // // Ascii is the Golang equivalent of ascii: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Ascii(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("ascii", col)) } // Base64 - Computes the BASE64 encoding of a binary column and returns it as a string column. // // Base64 is the Golang equivalent of base64: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Base64(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("base64", col)) } // Unbase64 - Decodes a BASE64 encoded string column and returns it as a binary column. // // Unbase64 is the Golang equivalent of unbase64: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Unbase64(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("unbase64", col)) } // Ltrim - Trim the spaces from left end for the specified string value. // // Ltrim is the Golang equivalent of ltrim: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Ltrim(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("ltrim", col)) } // Rtrim - Trim the spaces from right end for the specified string value. // // Rtrim is the Golang equivalent of rtrim: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Rtrim(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("rtrim", col)) } // Trim - Trim the spaces from both ends for the specified string column. // // Trim is the Golang equivalent of trim: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Trim(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("trim", col)) } // ConcatWs - Concatenates multiple input string columns together into a single string column, // using the given separator. // // ConcatWs is the Golang equivalent of concat_ws: (sep: str, *cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ConcatWs(sep string, cols ...column.Column) column.Column { lit_sep := StringLit(sep) vals := make([]column.Column, 0) vals = append(vals, lit_sep) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("concat_ws", vals...)) } // Decode - Computes the first argument into a string from a binary using the provided character set // (one of 'US-ASCII', 'ISO-8859-1', 'UTF-8', 'UTF-16BE', 'UTF-16LE', 'UTF-16'). // // Decode is the Golang equivalent of decode: (col: 'ColumnOrName', charset: str) -> pyspark.sql.connect.column.Column func Decode(col column.Column, charset string) column.Column { lit_charset := StringLit(charset) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("decode", col, lit_charset)) } // Encode - Computes the first argument into a binary from a string using the provided character set // (one of 'US-ASCII', 'ISO-8859-1', 'UTF-8', 'UTF-16BE', 'UTF-16LE', 'UTF-16'). // // Encode is the Golang equivalent of encode: (col: 'ColumnOrName', charset: str) -> pyspark.sql.connect.column.Column func Encode(col column.Column, charset string) column.Column { lit_charset := StringLit(charset) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("encode", col, lit_charset)) } // FormatNumber - Formats the number X to a format like '#,--#,--#.--', rounded to d decimal places // with HALF_EVEN round mode, and returns the result as a string. // // FormatNumber is the Golang equivalent of format_number: (col: 'ColumnOrName', d: int) -> pyspark.sql.connect.column.Column func FormatNumber(col column.Column, d int64) column.Column { lit_d := Int64Lit(d) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("format_number", col, lit_d)) } // FormatString - Formats the arguments in printf-style and returns the result as a string column. // // FormatString is the Golang equivalent of format_string: (format: str, *cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func FormatString(format string, cols ...column.Column) column.Column { lit_format := StringLit(format) vals := make([]column.Column, 0) vals = append(vals, lit_format) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("format_string", vals...)) } // Instr - Locate the position of the first occurrence of substr column in the given string. // Returns null if either of the arguments are null. // // Instr is the Golang equivalent of instr: (str: 'ColumnOrName', substr: str) -> pyspark.sql.connect.column.Column func Instr(str column.Column, substr string) column.Column { lit_substr := StringLit(substr) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("instr", str, lit_substr)) } // Overlay - Overlay the specified portion of `src` with `replace`, // starting from byte position `pos` of `src` and proceeding for `len` bytes. // // Overlay is the Golang equivalent of overlay: (src: 'ColumnOrName', replace: 'ColumnOrName', pos: Union[ForwardRef('ColumnOrName'), int], len: Union[ForwardRef('ColumnOrName'), int] = -1) -> pyspark.sql.connect.column.Column func Overlay(src column.Column, replace column.Column, pos column.Column, len column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("overlay", src, replace, pos, len)) } // Sentences - Splits a string into arrays of sentences, where each sentence is an array of words. // The 'language' and 'country' arguments are optional, and if omitted, the default locale is used. // // Sentences is the Golang equivalent of sentences: (string: 'ColumnOrName', language: Optional[ForwardRef('ColumnOrName')] = None, country: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func Sentences(string column.Column, language column.Column, country column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sentences", string, language, country)) } // Substring - Substring starts at `pos` and is of length `len` when str is String type or // returns the slice of byte array that starts at `pos` in byte and is of length `len` // when str is Binary type. // // Substring is the Golang equivalent of substring: (str: 'ColumnOrName', pos: int, len: int) -> pyspark.sql.connect.column.Column func Substring(str column.Column, pos int64, len int64) column.Column { lit_pos := Int64Lit(pos) lit_len := Int64Lit(len) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("substring", str, lit_pos, lit_len)) } // SubstringIndex - Returns the substring from string str before count occurrences of the delimiter delim. // If count is positive, everything the left of the final delimiter (counting from left) is // returned. If count is negative, every to the right of the final delimiter (counting from the // right) is returned. substring_index performs a case-sensitive match when searching for delim. // // SubstringIndex is the Golang equivalent of substring_index: (str: 'ColumnOrName', delim: str, count: int) -> pyspark.sql.connect.column.Column func SubstringIndex(str column.Column, delim string, count int64) column.Column { lit_delim := StringLit(delim) lit_count := Int64Lit(count) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("substring_index", str, lit_delim, lit_count)) } // Levenshtein - Computes the Levenshtein distance of the two given strings. // // Levenshtein is the Golang equivalent of levenshtein: (left: 'ColumnOrName', right: 'ColumnOrName', threshold: Optional[int] = None) -> pyspark.sql.connect.column.Column func Levenshtein(left column.Column, right column.Column, threshold int64) column.Column { lit_threshold := Int64Lit(threshold) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("levenshtein", left, right, lit_threshold)) } // Locate - Locate the position of the first occurrence of substr in a string column, after position pos. // // Locate is the Golang equivalent of locate: (substr: str, str: 'ColumnOrName', pos: int = 1) -> pyspark.sql.connect.column.Column func Locate(substr string, str column.Column, pos int64) column.Column { lit_substr := StringLit(substr) lit_pos := Int64Lit(pos) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("locate", lit_substr, str, lit_pos)) } // Lpad - Left-pad the string column to width `len` with `pad`. // // Lpad is the Golang equivalent of lpad: (col: 'ColumnOrName', len: int, pad: str) -> pyspark.sql.connect.column.Column func Lpad(col column.Column, len int64, pad string) column.Column { lit_len := Int64Lit(len) lit_pad := StringLit(pad) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("lpad", col, lit_len, lit_pad)) } // Rpad - Right-pad the string column to width `len` with `pad`. // // Rpad is the Golang equivalent of rpad: (col: 'ColumnOrName', len: int, pad: str) -> pyspark.sql.connect.column.Column func Rpad(col column.Column, len int64, pad string) column.Column { lit_len := Int64Lit(len) lit_pad := StringLit(pad) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("rpad", col, lit_len, lit_pad)) } // Repeat - Repeats a string column n times, and returns it as a new string column. // // Repeat is the Golang equivalent of repeat: (col: 'ColumnOrName', n: int) -> pyspark.sql.connect.column.Column func Repeat(col column.Column, n int64) column.Column { lit_n := Int64Lit(n) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("repeat", col, lit_n)) } // Split - Splits str around matches of the given pattern. // // Split is the Golang equivalent of split: (str: 'ColumnOrName', pattern: str, limit: int = -1) -> pyspark.sql.connect.column.Column func Split(str column.Column, pattern string, limit int64) column.Column { lit_pattern := StringLit(pattern) lit_limit := Int64Lit(limit) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("split", str, lit_pattern, lit_limit)) } // Rlike - Returns true if `str` matches the Java regex `regexp`, or false otherwise. // // Rlike is the Golang equivalent of rlike: (str: 'ColumnOrName', regexp: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Rlike(str column.Column, regexp column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("rlike", str, regexp)) } // Regexp - Returns true if `str` matches the Java regex `regexp`, or false otherwise. // // Regexp is the Golang equivalent of regexp: (str: 'ColumnOrName', regexp: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Regexp(str column.Column, regexp column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regexp", str, regexp)) } // RegexpLike - Returns true if `str` matches the Java regex `regexp`, or false otherwise. // // RegexpLike is the Golang equivalent of regexp_like: (str: 'ColumnOrName', regexp: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegexpLike(str column.Column, regexp column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regexp_like", str, regexp)) } // RegexpCount - Returns a count of the number of times that the Java regex pattern `regexp` is matched // in the string `str`. // // RegexpCount is the Golang equivalent of regexp_count: (str: 'ColumnOrName', regexp: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegexpCount(str column.Column, regexp column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regexp_count", str, regexp)) } // RegexpExtract - Extract a specific group matched by the Java regex `regexp`, from the specified string column. // If the regex did not match, or the specified group did not match, an empty string is returned. // // RegexpExtract is the Golang equivalent of regexp_extract: (str: 'ColumnOrName', pattern: str, idx: int) -> pyspark.sql.connect.column.Column func RegexpExtract(str column.Column, pattern string, idx int64) column.Column { lit_pattern := StringLit(pattern) lit_idx := Int64Lit(idx) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regexp_extract", str, lit_pattern, lit_idx)) } // TODO: regexp_extract_all: (str: 'ColumnOrName', regexp: 'ColumnOrName', idx: Union[int, pyspark.sql.connect.column.Column, NoneType] = None) -> pyspark.sql.connect.column.Column // TODO: regexp_replace: (string: 'ColumnOrName', pattern: Union[str, pyspark.sql.connect.column.Column], replacement: Union[str, pyspark.sql.connect.column.Column]) -> pyspark.sql.connect.column.Column // RegexpSubstr - Returns the substring that matches the Java regex `regexp` within the string `str`. // If the regular expression is not found, the result is null. // // RegexpSubstr is the Golang equivalent of regexp_substr: (str: 'ColumnOrName', regexp: 'ColumnOrName') -> pyspark.sql.connect.column.Column func RegexpSubstr(str column.Column, regexp column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("regexp_substr", str, regexp)) } // TODO: regexp_instr: (str: 'ColumnOrName', regexp: 'ColumnOrName', idx: Union[int, pyspark.sql.connect.column.Column, NoneType] = None) -> pyspark.sql.connect.column.Column // Initcap - Translate the first letter of each word to upper case in the sentence. // // Initcap is the Golang equivalent of initcap: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Initcap(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("initcap", col)) } // Soundex - Returns the SoundEx encoding for a string // // Soundex is the Golang equivalent of soundex: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Soundex(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("soundex", col)) } // Length - Computes the character length of string data or number of bytes of binary data. // The length of character data includes the trailing spaces. The length of binary data // includes binary zeros. // // Length is the Golang equivalent of length: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Length(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("length", col)) } // OctetLength - Calculates the byte length for the specified string column. // // OctetLength is the Golang equivalent of octet_length: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func OctetLength(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("octet_length", col)) } // BitLength - Calculates the bit length for the specified string column. // // BitLength is the Golang equivalent of bit_length: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitLength(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bit_length", col)) } // Translate - A function translate any character in the `srcCol` by a character in `matching`. // The characters in `replace` is corresponding to the characters in `matching`. // Translation will happen whenever any character in the string is matching with the character // in the `matching`. // // Translate is the Golang equivalent of translate: (srcCol: 'ColumnOrName', matching: str, replace: str) -> pyspark.sql.connect.column.Column func Translate(srcCol column.Column, matching string, replace string) column.Column { lit_matching := StringLit(matching) lit_replace := StringLit(replace) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("translate", srcCol, lit_matching, lit_replace)) } // ToBinary - Converts the input `col` to a binary value based on the supplied `format`. // The `format` can be a case-insensitive string literal of "hex", "utf-8", "utf8", // or "base64". By default, the binary format for conversion is "hex" if // `format` is omitted. The function returns NULL if at least one of the // input parameters is NULL. // // ToBinary is the Golang equivalent of to_binary: (col: 'ColumnOrName', format: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func ToBinary(col column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_binary", col, format)) } // ToChar - Convert `col` to a string based on the `format`. // Throws an exception if the conversion fails. The format can consist of the following // characters, case insensitive: // '0' or '9': Specifies an expected digit between 0 and 9. A sequence of 0 or 9 in the // format string matches a sequence of digits in the input value, generating a result // string of the same length as the corresponding sequence in the format string. // The result string is left-padded with zeros if the 0/9 sequence comprises more digits // than the matching part of the decimal value, starts with 0, and is before the decimal // point. Otherwise, it is padded with spaces. // '.' or 'D': Specifies the position of the decimal point (optional, only allowed once). // ',' or 'G': Specifies the position of the grouping (thousands) separator (,). // There must be a 0 or 9 to the left and right of each grouping separator. // '$': Specifies the location of the $ currency sign. This character may only be specified once. // 'S' or 'MI': Specifies the position of a '-' or '+' sign (optional, only allowed once at // the beginning or end of the format string). Note that 'S' prints '+' for positive // values but 'MI' prints a space. // 'PR': Only allowed at the end of the format string; specifies that the result string // will be wrapped by angle brackets if the input value is negative. // // ToChar is the Golang equivalent of to_char: (col: 'ColumnOrName', format: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ToChar(col column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_char", col, format)) } // ToVarchar - Convert `col` to a string based on the `format`. // Throws an exception if the conversion fails. The format can consist of the following // characters, case insensitive: // '0' or '9': Specifies an expected digit between 0 and 9. A sequence of 0 or 9 in the // format string matches a sequence of digits in the input value, generating a result // string of the same length as the corresponding sequence in the format string. // The result string is left-padded with zeros if the 0/9 sequence comprises more digits // than the matching part of the decimal value, starts with 0, and is before the decimal // point. Otherwise, it is padded with spaces. // '.' or 'D': Specifies the position of the decimal point (optional, only allowed once). // ',' or 'G': Specifies the position of the grouping (thousands) separator (,). // There must be a 0 or 9 to the left and right of each grouping separator. // '$': Specifies the location of the $ currency sign. This character may only be specified once. // 'S' or 'MI': Specifies the position of a '-' or '+' sign (optional, only allowed once at // the beginning or end of the format string). Note that 'S' prints '+' for positive // values but 'MI' prints a space. // 'PR': Only allowed at the end of the format string; specifies that the result string // will be wrapped by angle brackets if the input value is negative. // // ToVarchar is the Golang equivalent of to_varchar: (col: 'ColumnOrName', format: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ToVarchar(col column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_varchar", col, format)) } // ToNumber - Convert string 'col' to a number based on the string format 'format'. // Throws an exception if the conversion fails. The format can consist of the following // characters, case insensitive: // '0' or '9': Specifies an expected digit between 0 and 9. A sequence of 0 or 9 in the // format string matches a sequence of digits in the input string. If the 0/9 // sequence starts with 0 and is before the decimal point, it can only match a digit // sequence of the same size. Otherwise, if the sequence starts with 9 or is after // the decimal point, it can match a digit sequence that has the same or smaller size. // '.' or 'D': Specifies the position of the decimal point (optional, only allowed once). // ',' or 'G': Specifies the position of the grouping (thousands) separator (,). // There must be a 0 or 9 to the left and right of each grouping separator. // 'col' must match the grouping separator relevant for the size of the number. // '$': Specifies the location of the $ currency sign. This character may only be // specified once. // 'S' or 'MI': Specifies the position of a '-' or '+' sign (optional, only allowed // once at the beginning or end of the format string). Note that 'S' allows '-' // but 'MI' does not. // 'PR': Only allowed at the end of the format string; specifies that 'col' indicates a // negative number with wrapping angled brackets. // // ToNumber is the Golang equivalent of to_number: (col: 'ColumnOrName', format: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ToNumber(col column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_number", col, format)) } // Replace - Replaces all occurrences of `search` with `replace`. // // Replace is the Golang equivalent of replace: (src: 'ColumnOrName', search: 'ColumnOrName', replace: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func Replace(src column.Column, search column.Column, replace column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("replace", src, search, replace)) } // SplitPart - Splits `str` by delimiter and return requested part of the split (1-based). // If any input is null, returns null. if `partNum` is out of range of split parts, // returns empty string. If `partNum` is 0, throws an error. If `partNum` is negative, // the parts are counted backward from the end of the string. // If the `delimiter` is an empty string, the `str` is not split. // // SplitPart is the Golang equivalent of split_part: (src: 'ColumnOrName', delimiter: 'ColumnOrName', partNum: 'ColumnOrName') -> pyspark.sql.connect.column.Column func SplitPart(src column.Column, delimiter column.Column, partNum column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("split_part", src, delimiter, partNum)) } // Substr - Returns the substring of `str` that starts at `pos` and is of length `len`, // or the slice of byte array that starts at `pos` and is of length `len`. // // Substr is the Golang equivalent of substr: (str: 'ColumnOrName', pos: 'ColumnOrName', len: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func Substr(str column.Column, pos column.Column, len column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("substr", str, pos, len)) } // ParseUrl - Extracts a part from a URL. // // ParseUrl is the Golang equivalent of parse_url: (url: 'ColumnOrName', partToExtract: 'ColumnOrName', key: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func ParseUrl(url column.Column, partToExtract column.Column, key column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("parse_url", url, partToExtract, key)) } // Printf - Formats the arguments in printf-style and returns the result as a string column. // // Printf is the Golang equivalent of printf: (format: 'ColumnOrName', *cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Printf(format column.Column, cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, format) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("printf", vals...)) } // UrlDecode - Decodes a `str` in 'application/x-www-form-urlencoded' format // using a specific encoding scheme. // // UrlDecode is the Golang equivalent of url_decode: (str: 'ColumnOrName') -> pyspark.sql.connect.column.Column func UrlDecode(str column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("url_decode", str)) } // UrlEncode - Translates a string into 'application/x-www-form-urlencoded' format // using a specific encoding scheme. // // UrlEncode is the Golang equivalent of url_encode: (str: 'ColumnOrName') -> pyspark.sql.connect.column.Column func UrlEncode(str column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("url_encode", str)) } // Position - Returns the position of the first occurrence of `substr` in `str` after position `start`. // The given `start` and return value are 1-based. // // Position is the Golang equivalent of position: (substr: 'ColumnOrName', str: 'ColumnOrName', start: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func Position(substr column.Column, str column.Column, start column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("position", substr, str, start)) } // Endswith - Returns a boolean. The value is True if str ends with suffix. // Returns NULL if either input expression is NULL. Otherwise, returns False. // Both str or suffix must be of STRING or BINARY type. // // Endswith is the Golang equivalent of endswith: (str: 'ColumnOrName', suffix: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Endswith(str column.Column, suffix column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("endswith", str, suffix)) } // Startswith - Returns a boolean. The value is True if str starts with prefix. // Returns NULL if either input expression is NULL. Otherwise, returns False. // Both str or prefix must be of STRING or BINARY type. // // Startswith is the Golang equivalent of startswith: (str: 'ColumnOrName', prefix: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Startswith(str column.Column, prefix column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("startswith", str, prefix)) } // Char - Returns the ASCII character having the binary equivalent to `col`. If col is larger than 256 the // result is equivalent to char(col % 256) // // Char is the Golang equivalent of char: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Char(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("char", col)) } // TryToBinary - This is a special version of `to_binary` that performs the same operation, but returns a NULL // value instead of raising an error if the conversion cannot be performed. // // TryToBinary is the Golang equivalent of try_to_binary: (col: 'ColumnOrName', format: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func TryToBinary(col column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_to_binary", col, format)) } // TryToNumber - Convert string 'col' to a number based on the string format `format`. Returns NULL if the // string 'col' does not match the expected format. The format follows the same semantics as the // to_number function. // // TryToNumber is the Golang equivalent of try_to_number: (col: 'ColumnOrName', format: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TryToNumber(col column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_to_number", col, format)) } // Btrim - Remove the leading and trailing `trim` characters from `str`. // // Btrim is the Golang equivalent of btrim: (str: 'ColumnOrName', trim: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func Btrim(str column.Column, trim column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("btrim", str, trim)) } // CharLength - Returns the character length of string data or number of bytes of binary data. // The length of string data includes the trailing spaces. // The length of binary data includes binary zeros. // // CharLength is the Golang equivalent of char_length: (str: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CharLength(str column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("char_length", str)) } // CharacterLength - Returns the character length of string data or number of bytes of binary data. // The length of string data includes the trailing spaces. // The length of binary data includes binary zeros. // // CharacterLength is the Golang equivalent of character_length: (str: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CharacterLength(str column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("character_length", str)) } // Contains - Returns a boolean. The value is True if right is found inside left. // Returns NULL if either input expression is NULL. Otherwise, returns False. // Both left or right must be of STRING or BINARY type. // // Contains is the Golang equivalent of contains: (left: 'ColumnOrName', right: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Contains(left column.Column, right column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("contains", left, right)) } // Elt - Returns the `n`-th input, e.g., returns `input2` when `n` is 2. // The function returns NULL if the index exceeds the length of the array // and `spark.sql.ansi.enabled` is set to false. If `spark.sql.ansi.enabled` is set to true, // it throws ArrayIndexOutOfBoundsException for invalid indices. // // Elt is the Golang equivalent of elt: (*inputs: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Elt(inputs ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, inputs...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("elt", vals...)) } // FindInSet - Returns the index (1-based) of the given string (`str`) in the comma-delimited // list (`strArray`). Returns 0, if the string was not found or if the given string (`str`) // contains a comma. // // FindInSet is the Golang equivalent of find_in_set: (str: 'ColumnOrName', str_array: 'ColumnOrName') -> pyspark.sql.connect.column.Column func FindInSet(str column.Column, str_array column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("find_in_set", str, str_array)) } // TODO: like: (str: 'ColumnOrName', pattern: 'ColumnOrName', escapeChar: Optional[ForwardRef('Column')] = None) -> pyspark.sql.connect.column.Column // TODO: ilike: (str: 'ColumnOrName', pattern: 'ColumnOrName', escapeChar: Optional[ForwardRef('Column')] = None) -> pyspark.sql.connect.column.Column // Lcase - Returns `str` with all characters changed to lowercase. // // Lcase is the Golang equivalent of lcase: (str: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Lcase(str column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("lcase", str)) } // Ucase - Returns `str` with all characters changed to uppercase. // // Ucase is the Golang equivalent of ucase: (str: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Ucase(str column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("ucase", str)) } // Left - Returns the leftmost `len`(`len` can be string type) characters from the string `str`, // if `len` is less or equal than 0 the result is an empty string. // // Left is the Golang equivalent of left: (str: 'ColumnOrName', len: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Left(str column.Column, len column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("left", str, len)) } // Right - Returns the rightmost `len`(`len` can be string type) characters from the string `str`, // if `len` is less or equal than 0 the result is an empty string. // // Right is the Golang equivalent of right: (str: 'ColumnOrName', len: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Right(str column.Column, len column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("right", str, len)) } // Mask - Masks the given string value. This can be useful for creating copies of tables with sensitive // information removed. // // Mask is the Golang equivalent of mask: (col: 'ColumnOrName', upperChar: Optional[ForwardRef('ColumnOrName')] = None, lowerChar: Optional[ForwardRef('ColumnOrName')] = None, digitChar: Optional[ForwardRef('ColumnOrName')] = None, otherChar: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func Mask(col column.Column, upperChar column.Column, lowerChar column.Column, digitChar column.Column, otherChar column.Column, ) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("mask", col, upperChar, lowerChar, digitChar, otherChar)) } // Curdate - Returns the current date at the start of query evaluation as a :class:`DateType` column. // All calls of current_date within the same query return the same value. // // Curdate is the Golang equivalent of curdate: () -> pyspark.sql.connect.column.Column func Curdate() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("curdate")) } // CurrentDate - Returns the current date at the start of query evaluation as a :class:`DateType` column. // All calls of current_date within the same query return the same value. // // CurrentDate is the Golang equivalent of current_date: () -> pyspark.sql.connect.column.Column func CurrentDate() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("current_date")) } // CurrentTimestamp - Returns the current timestamp at the start of query evaluation as a :class:`TimestampType` // column. All calls of current_timestamp within the same query return the same value. // // CurrentTimestamp is the Golang equivalent of current_timestamp: () -> pyspark.sql.connect.column.Column func CurrentTimestamp() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("current_timestamp")) } // Now - Returns the current timestamp at the start of query evaluation. // // Now is the Golang equivalent of now: () -> pyspark.sql.connect.column.Column func Now() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("now")) } // CurrentTimezone - Returns the current session local timezone. // // CurrentTimezone is the Golang equivalent of current_timezone: () -> pyspark.sql.connect.column.Column func CurrentTimezone() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("current_timezone")) } // Localtimestamp - Returns the current timestamp without time zone at the start of query evaluation // as a timestamp without time zone column. All calls of localtimestamp within the // same query return the same value. // // Localtimestamp is the Golang equivalent of localtimestamp: () -> pyspark.sql.connect.column.Column func Localtimestamp() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("localtimestamp")) } // DateFormat - Converts a date/timestamp/string to a value of string in the format specified by the date // format given by the second argument. // // A pattern could be for instance `dd.MM.yyyy` and could return a string like '18.03.1993'. All // pattern letters of `datetime pattern`_. can be used. // // DateFormat is the Golang equivalent of date_format: (date: 'ColumnOrName', format: str) -> pyspark.sql.connect.column.Column func DateFormat(date column.Column, format string) column.Column { lit_format := StringLit(format) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("date_format", date, lit_format)) } // Year - Extract the year of a given date/timestamp as integer. // // Year is the Golang equivalent of year: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Year(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("year", col)) } // Quarter - Extract the quarter of a given date/timestamp as integer. // // Quarter is the Golang equivalent of quarter: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Quarter(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("quarter", col)) } // Month - Extract the month of a given date/timestamp as integer. // // Month is the Golang equivalent of month: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Month(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("month", col)) } // Dayofweek - Extract the day of the week of a given date/timestamp as integer. // Ranges from 1 for a Sunday through to 7 for a Saturday // // Dayofweek is the Golang equivalent of dayofweek: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Dayofweek(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("dayofweek", col)) } // Dayofmonth - Extract the day of the month of a given date/timestamp as integer. // // Dayofmonth is the Golang equivalent of dayofmonth: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Dayofmonth(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("dayofmonth", col)) } // Day - Extract the day of the month of a given date/timestamp as integer. // // Day is the Golang equivalent of day: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Day(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("day", col)) } // Dayofyear - Extract the day of the year of a given date/timestamp as integer. // // Dayofyear is the Golang equivalent of dayofyear: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Dayofyear(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("dayofyear", col)) } // Hour - Extract the hours of a given timestamp as integer. // // Hour is the Golang equivalent of hour: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Hour(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("hour", col)) } // Minute - Extract the minutes of a given timestamp as integer. // // Minute is the Golang equivalent of minute: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Minute(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("minute", col)) } // Second - Extract the seconds of a given date as integer. // // Second is the Golang equivalent of second: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Second(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("second", col)) } // Weekofyear - Extract the week number of a given date as integer. // A week is considered to start on a Monday and week 1 is the first week with more than 3 days, // as defined by ISO 8601 // // Weekofyear is the Golang equivalent of weekofyear: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Weekofyear(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("weekofyear", col)) } // Weekday - Returns the day of the week for date/timestamp (0 = Monday, 1 = Tuesday, ..., 6 = Sunday). // // Weekday is the Golang equivalent of weekday: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Weekday(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("weekday", col)) } // Extract - Extracts a part of the date/timestamp or interval source. // // Extract is the Golang equivalent of extract: (field: 'ColumnOrName', source: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Extract(field column.Column, source column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("extract", field, source)) } // DatePart is the Golang equivalent of date_part: (field: 'ColumnOrName', source: 'ColumnOrName') -> pyspark.sql.connect.column.Column func DatePart(field column.Column, source column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("date_part", field, source)) } // Datepart is the Golang equivalent of datepart: (field: 'ColumnOrName', source: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Datepart(field column.Column, source column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("datepart", field, source)) } // MakeDate - Returns a column with a date built from the year, month and day columns. // // MakeDate is the Golang equivalent of make_date: (year: 'ColumnOrName', month: 'ColumnOrName', day: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MakeDate(year column.Column, month column.Column, day column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("make_date", year, month, day)) } // DateAdd - Returns the date that is `days` days after `start`. If `days` is a negative value // then these amount of days will be deducted from `start`. // // DateAdd is the Golang equivalent of date_add: (start: 'ColumnOrName', days: Union[ForwardRef('ColumnOrName'), int]) -> pyspark.sql.connect.column.Column func DateAdd(start column.Column, days column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("date_add", start, days)) } // Dateadd - Returns the date that is `days` days after `start`. If `days` is a negative value // then these amount of days will be deducted from `start`. // // Dateadd is the Golang equivalent of dateadd: (start: 'ColumnOrName', days: Union[ForwardRef('ColumnOrName'), int]) -> pyspark.sql.connect.column.Column func Dateadd(start column.Column, days column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("dateadd", start, days)) } // DateSub - Returns the date that is `days` days before `start`. If `days` is a negative value // then these amount of days will be added to `start`. // // DateSub is the Golang equivalent of date_sub: (start: 'ColumnOrName', days: Union[ForwardRef('ColumnOrName'), int]) -> pyspark.sql.connect.column.Column func DateSub(start column.Column, days column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("date_sub", start, days)) } // Datediff - Returns the number of days from `start` to `end`. // // Datediff is the Golang equivalent of datediff: (end: 'ColumnOrName', start: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Datediff(end column.Column, start column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("datediff", end, start)) } // DateDiff - Returns the number of days from `start` to `end`. // // DateDiff is the Golang equivalent of date_diff: (end: 'ColumnOrName', start: 'ColumnOrName') -> pyspark.sql.connect.column.Column func DateDiff(end column.Column, start column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("date_diff", end, start)) } // DateFromUnixDate - Create date from the number of `days` since 1970-01-01. // // DateFromUnixDate is the Golang equivalent of date_from_unix_date: (days: 'ColumnOrName') -> pyspark.sql.connect.column.Column func DateFromUnixDate(days column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("date_from_unix_date", days)) } // AddMonths - Returns the date that is `months` months after `start`. If `months` is a negative value // then these amount of months will be deducted from the `start`. // // AddMonths is the Golang equivalent of add_months: (start: 'ColumnOrName', months: Union[ForwardRef('ColumnOrName'), int]) -> pyspark.sql.connect.column.Column func AddMonths(start column.Column, months column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("add_months", start, months)) } // TODO: months_between: (date1: 'ColumnOrName', date2: 'ColumnOrName', roundOff: bool = True) -> pyspark.sql.connect.column.Column // ToDate - Converts a :class:`~pyspark.sql.Column` into :class:`pyspark.sql.types.DateType` // using the optionally specified format. Specify formats according to `datetime pattern`_. // By default, it follows casting rules to :class:`pyspark.sql.types.DateType` if the format // is omitted. Equivalent to “col.cast("date")“. // // ToDate is the Golang equivalent of to_date: (col: 'ColumnOrName', format: Optional[str] = None) -> pyspark.sql.connect.column.Column func ToDate(col column.Column, format string) column.Column { lit_format := StringLit(format) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_date", col, lit_format)) } // UnixDate - Returns the number of days since 1970-01-01. // // UnixDate is the Golang equivalent of unix_date: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func UnixDate(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("unix_date", col)) } // UnixMicros - Returns the number of microseconds since 1970-01-01 00:00:00 UTC. // // UnixMicros is the Golang equivalent of unix_micros: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func UnixMicros(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("unix_micros", col)) } // UnixMillis - Returns the number of milliseconds since 1970-01-01 00:00:00 UTC. // Truncates higher levels of precision. // // UnixMillis is the Golang equivalent of unix_millis: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func UnixMillis(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("unix_millis", col)) } // UnixSeconds - Returns the number of seconds since 1970-01-01 00:00:00 UTC. // Truncates higher levels of precision. // // UnixSeconds is the Golang equivalent of unix_seconds: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func UnixSeconds(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("unix_seconds", col)) } // ToTimestamp - Converts a :class:`~pyspark.sql.Column` into :class:`pyspark.sql.types.TimestampType` // using the optionally specified format. Specify formats according to `datetime pattern`_. // By default, it follows casting rules to :class:`pyspark.sql.types.TimestampType` if the format // is omitted. Equivalent to “col.cast("timestamp")“. // // ToTimestamp is the Golang equivalent of to_timestamp: (col: 'ColumnOrName', format: Optional[str] = None) -> pyspark.sql.connect.column.Column func ToTimestamp(col column.Column, format string) column.Column { lit_format := StringLit(format) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_timestamp", col, lit_format)) } // TryToTimestamp - Parses the `col` with the `format` to a timestamp. The function always // returns null on an invalid input with/without ANSI SQL mode enabled. The result data type is // consistent with the value of configuration `spark.sql.timestampType`. // // TryToTimestamp is the Golang equivalent of try_to_timestamp: (col: 'ColumnOrName', format: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func TryToTimestamp(col column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_to_timestamp", col, format)) } // Xpath - Returns a string array of values within the nodes of xml that match the XPath expression. // // Xpath is the Golang equivalent of xpath: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Xpath(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath", xml, path)) } // XpathBoolean - Returns true if the XPath expression evaluates to true, or if a matching node is found. // // XpathBoolean is the Golang equivalent of xpath_boolean: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func XpathBoolean(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath_boolean", xml, path)) } // XpathDouble - Returns a double value, the value zero if no match is found, // or NaN if a match is found but the value is non-numeric. // // XpathDouble is the Golang equivalent of xpath_double: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func XpathDouble(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath_double", xml, path)) } // XpathNumber - Returns a double value, the value zero if no match is found, // or NaN if a match is found but the value is non-numeric. // // XpathNumber is the Golang equivalent of xpath_number: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func XpathNumber(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath_number", xml, path)) } // XpathFloat - Returns a float value, the value zero if no match is found, // or NaN if a match is found but the value is non-numeric. // // XpathFloat is the Golang equivalent of xpath_float: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func XpathFloat(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath_float", xml, path)) } // XpathInt - Returns an integer value, or the value zero if no match is found, // or a match is found but the value is non-numeric. // // XpathInt is the Golang equivalent of xpath_int: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func XpathInt(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath_int", xml, path)) } // XpathLong - Returns a long integer value, or the value zero if no match is found, // or a match is found but the value is non-numeric. // // XpathLong is the Golang equivalent of xpath_long: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func XpathLong(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath_long", xml, path)) } // XpathShort - Returns a short integer value, or the value zero if no match is found, // or a match is found but the value is non-numeric. // // XpathShort is the Golang equivalent of xpath_short: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func XpathShort(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath_short", xml, path)) } // XpathString - Returns the text contents of the first xml node that matches the XPath expression. // // XpathString is the Golang equivalent of xpath_string: (xml: 'ColumnOrName', path: 'ColumnOrName') -> pyspark.sql.connect.column.Column func XpathString(xml column.Column, path column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xpath_string", xml, path)) } // Trunc - Returns date truncated to the unit specified by the format. // // Trunc is the Golang equivalent of trunc: (date: 'ColumnOrName', format: str) -> pyspark.sql.connect.column.Column func Trunc(date column.Column, format string) column.Column { lit_format := StringLit(format) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("trunc", date, lit_format)) } // DateTrunc - Returns timestamp truncated to the unit specified by the format. // // DateTrunc is the Golang equivalent of date_trunc: (format: str, timestamp: 'ColumnOrName') -> pyspark.sql.connect.column.Column func DateTrunc(format string, timestamp column.Column) column.Column { lit_format := StringLit(format) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("date_trunc", lit_format, timestamp)) } // NextDay - Returns the first date which is later than the value of the date column // based on second `week day` argument. // // NextDay is the Golang equivalent of next_day: (date: 'ColumnOrName', dayOfWeek: str) -> pyspark.sql.connect.column.Column func NextDay(date column.Column, dayOfWeek string) column.Column { lit_dayOfWeek := StringLit(dayOfWeek) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("next_day", date, lit_dayOfWeek)) } // LastDay - Returns the last day of the month which the given date belongs to. // // LastDay is the Golang equivalent of last_day: (date: 'ColumnOrName') -> pyspark.sql.connect.column.Column func LastDay(date column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("last_day", date)) } // FromUnixtime - Converts the number of seconds from unix epoch (1970-01-01 00:00:00 UTC) to a string // representing the timestamp of that moment in the current system time zone in the given // format. // // FromUnixtime is the Golang equivalent of from_unixtime: (timestamp: 'ColumnOrName', format: str = 'yyyy-MM-dd HH:mm:ss') -> pyspark.sql.connect.column.Column func FromUnixtime(timestamp column.Column, format string) column.Column { lit_format := StringLit(format) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("from_unixtime", timestamp, lit_format)) } // UnixTimestamp - Convert time string with given pattern ('yyyy-MM-dd HH:mm:ss', by default) // to Unix time stamp (in seconds), using the default timezone and the default // locale, returns null if failed. // // if `timestamp` is None, then it returns current timestamp. // // UnixTimestamp is the Golang equivalent of unix_timestamp: (timestamp: Optional[ForwardRef('ColumnOrName')] = None, format: str = 'yyyy-MM-dd HH:mm:ss') -> pyspark.sql.connect.column.Column func UnixTimestamp(timestamp column.Column, format string) column.Column { lit_format := StringLit(format) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("unix_timestamp", timestamp, lit_format)) } // FromUtcTimestamp - This is a common function for databases supporting TIMESTAMP WITHOUT TIMEZONE. This function // takes a timestamp which is timezone-agnostic, and interprets it as a timestamp in UTC, and // renders that timestamp as a timestamp in the given time zone. // // However, timestamp in Spark represents number of microseconds from the Unix epoch, which is not // timezone-agnostic. So in Spark this function just shift the timestamp value from UTC timezone to // the given timezone. // // This function may return confusing result if the input is a string with timezone, e.g. // '2018-03-13T06:18:23+00:00'. The reason is that, Spark firstly cast the string to timestamp // according to the timezone in the string, and finally display the result by converting the // timestamp to string according to the session local timezone. // // FromUtcTimestamp is the Golang equivalent of from_utc_timestamp: (timestamp: 'ColumnOrName', tz: 'ColumnOrName') -> pyspark.sql.connect.column.Column func FromUtcTimestamp(timestamp column.Column, tz column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("from_utc_timestamp", timestamp, tz)) } // ToUtcTimestamp - This is a common function for databases supporting TIMESTAMP WITHOUT TIMEZONE. This function // takes a timestamp which is timezone-agnostic, and interprets it as a timestamp in the given // timezone, and renders that timestamp as a timestamp in UTC. // // However, timestamp in Spark represents number of microseconds from the Unix epoch, which is not // timezone-agnostic. So in Spark this function just shift the timestamp value from the given // timezone to UTC timezone. // // This function may return confusing result if the input is a string with timezone, e.g. // '2018-03-13T06:18:23+00:00'. The reason is that, Spark firstly cast the string to timestamp // according to the timezone in the string, and finally display the result by converting the // timestamp to string according to the session local timezone. // // ToUtcTimestamp is the Golang equivalent of to_utc_timestamp: (timestamp: 'ColumnOrName', tz: 'ColumnOrName') -> pyspark.sql.connect.column.Column func ToUtcTimestamp(timestamp column.Column, tz column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_utc_timestamp", timestamp, tz)) } // TimestampSeconds - Converts the number of seconds from the Unix epoch (1970-01-01T00:00:00Z) // to a timestamp. // // TimestampSeconds is the Golang equivalent of timestamp_seconds: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TimestampSeconds(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("timestamp_seconds", col)) } // TimestampMillis - Creates timestamp from the number of milliseconds since UTC epoch. // // TimestampMillis is the Golang equivalent of timestamp_millis: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TimestampMillis(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("timestamp_millis", col)) } // TimestampMicros - Creates timestamp from the number of microseconds since UTC epoch. // // TimestampMicros is the Golang equivalent of timestamp_micros: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func TimestampMicros(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("timestamp_micros", col)) } // Window - Bucketize rows into one or more time windows given a timestamp specifying column. Window // starts are inclusive but the window ends are exclusive, e.g. 12:05 will be in the window // [12:05,12:10) but not in [12:00,12:05). Windows can support microsecond precision. Windows in // the order of months are not supported. // // The time column must be of :class:`pyspark.sql.types.TimestampType`. // // Durations are provided as strings, e.g. '1 second', '1 day 12 hours', '2 minutes'. Valid // interval strings are 'week', 'day', 'hour', 'minute', 'second', 'millisecond', 'microsecond'. // If the “slideDuration“ is not provided, the windows will be tumbling windows. // // The startTime is the offset with respect to 1970-01-01 00:00:00 UTC with which to start // window intervals. For example, in order to have hourly tumbling windows that start 15 minutes // past the hour, e.g. 12:15-13:15, 13:15-14:15... provide `startTime` as `15 minutes`. // // The output column will be a struct called 'window' by default with the nested columns 'start' // and 'end', where 'start' and 'end' will be of :class:`pyspark.sql.types.TimestampType`. // // Window is the Golang equivalent of window: (timeColumn: 'ColumnOrName', windowDuration: str, slideDuration: Optional[str] = None, startTime: Optional[str] = None) -> pyspark.sql.connect.column.Column func Window(timeColumn column.Column, windowDuration string, slideDuration string, startTime string) column.Column { lit_windowDuration := StringLit(windowDuration) lit_slideDuration := StringLit(slideDuration) lit_startTime := StringLit(startTime) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("window", timeColumn, lit_windowDuration, lit_slideDuration, lit_startTime)) } // WindowTime - Computes the event time from a window column. The column window values are produced // by window aggregating operators and are of type `STRUCT<start: TIMESTAMP, end: TIMESTAMP>` // where start is inclusive and end is exclusive. The event time of records produced by window // aggregating operators can be computed as “window_time(window)“ and are // “window.end - lit(1).alias("microsecond")“ (as microsecond is the minimal supported event // time precision). The window column must be one produced by a window aggregating operator. // // WindowTime is the Golang equivalent of window_time: (windowColumn: 'ColumnOrName') -> pyspark.sql.connect.column.Column func WindowTime(windowColumn column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("window_time", windowColumn)) } // TODO: session_window: (timeColumn: 'ColumnOrName', gapDuration: Union[pyspark.sql.connect.column.Column, str]) -> pyspark.sql.connect.column.Column // ToUnixTimestamp - Returns the UNIX timestamp of the given time. // // ToUnixTimestamp is the Golang equivalent of to_unix_timestamp: (timestamp: 'ColumnOrName', format: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func ToUnixTimestamp(timestamp column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_unix_timestamp", timestamp, format)) } // ToTimestampLtz - Parses the `timestamp` with the `format` to a timestamp without time zone. // Returns null with invalid input. // // ToTimestampLtz is the Golang equivalent of to_timestamp_ltz: (timestamp: 'ColumnOrName', format: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func ToTimestampLtz(timestamp column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_timestamp_ltz", timestamp, format)) } // ToTimestampNtz - Parses the `timestamp` with the `format` to a timestamp without time zone. // Returns null with invalid input. // // ToTimestampNtz is the Golang equivalent of to_timestamp_ntz: (timestamp: 'ColumnOrName', format: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func ToTimestampNtz(timestamp column.Column, format column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("to_timestamp_ntz", timestamp, format)) } // TODO: bucket: (numBuckets: Union[pyspark.sql.connect.column.Column, int], col: 'ColumnOrName') -> pyspark.sql.connect.column.Column // Years - Partition transform function: A transform for timestamps and dates // to partition data into years. // // Years is the Golang equivalent of years: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Years(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("years", col)) } // Months - Partition transform function: A transform for timestamps and dates // to partition data into months. // // Months is the Golang equivalent of months: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Months(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("months", col)) } // Days - Partition transform function: A transform for timestamps and dates // to partition data into days. // // Days is the Golang equivalent of days: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Days(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("days", col)) } // Hours - Partition transform function: A transform for timestamps // to partition data into hours. // // Hours is the Golang equivalent of hours: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Hours(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("hours", col)) } // TODO: convert_timezone: (sourceTz: Optional[pyspark.sql.connect.column.Column], targetTz: pyspark.sql.connect.column.Column, sourceTs: 'ColumnOrName') -> pyspark.sql.connect.column.Column // MakeDtInterval - Make DayTimeIntervalType duration from days, hours, mins and secs. // // MakeDtInterval is the Golang equivalent of make_dt_interval: (days: Optional[ForwardRef('ColumnOrName')] = None, hours: Optional[ForwardRef('ColumnOrName')] = None, mins: Optional[ForwardRef('ColumnOrName')] = None, secs: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func MakeDtInterval(days column.Column, hours column.Column, mins column.Column, secs column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("make_dt_interval", days, hours, mins, secs)) } // MakeInterval - Make interval from years, months, weeks, days, hours, mins and secs. // // MakeInterval is the Golang equivalent of make_interval: (years: Optional[ForwardRef('ColumnOrName')] = None, months: Optional[ForwardRef('ColumnOrName')] = None, weeks: Optional[ForwardRef('ColumnOrName')] = None, days: Optional[ForwardRef('ColumnOrName')] = None, hours: Optional[ForwardRef('ColumnOrName')] = None, mins: Optional[ForwardRef('ColumnOrName')] = None, secs: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func MakeInterval(years column.Column, months column.Column, weeks column.Column, days column.Column, hours column.Column, mins column.Column, secs column.Column, ) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("make_interval", years, months, weeks, days, hours, mins, secs)) } // MakeTimestamp - Create timestamp from years, months, days, hours, mins, secs and timezone fields. // The result data type is consistent with the value of configuration `spark.sql.timestampType`. // If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL // on invalid inputs. Otherwise, it will throw an error instead. // // MakeTimestamp is the Golang equivalent of make_timestamp: (years: 'ColumnOrName', months: 'ColumnOrName', days: 'ColumnOrName', hours: 'ColumnOrName', mins: 'ColumnOrName', secs: 'ColumnOrName', timezone: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func MakeTimestamp(years column.Column, months column.Column, days column.Column, hours column.Column, mins column.Column, secs column.Column, timezone column.Column, ) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("make_timestamp", years, months, days, hours, mins, secs, timezone)) } // MakeTimestampLtz - Create the current timestamp with local time zone from years, months, days, hours, mins, // secs and timezone fields. If the configuration `spark.sql.ansi.enabled` is false, // the function returns NULL on invalid inputs. Otherwise, it will throw an error instead. // // MakeTimestampLtz is the Golang equivalent of make_timestamp_ltz: (years: 'ColumnOrName', months: 'ColumnOrName', days: 'ColumnOrName', hours: 'ColumnOrName', mins: 'ColumnOrName', secs: 'ColumnOrName', timezone: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func MakeTimestampLtz(years column.Column, months column.Column, days column.Column, hours column.Column, mins column.Column, secs column.Column, timezone column.Column, ) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("make_timestamp_ltz", years, months, days, hours, mins, secs, timezone)) } // MakeTimestampNtz - Create local date-time from years, months, days, hours, mins, secs fields. // If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL // on invalid inputs. Otherwise, it will throw an error instead. // // MakeTimestampNtz is the Golang equivalent of make_timestamp_ntz: (years: 'ColumnOrName', months: 'ColumnOrName', days: 'ColumnOrName', hours: 'ColumnOrName', mins: 'ColumnOrName', secs: 'ColumnOrName') -> pyspark.sql.connect.column.Column func MakeTimestampNtz(years column.Column, months column.Column, days column.Column, hours column.Column, mins column.Column, secs column.Column, ) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("make_timestamp_ntz", years, months, days, hours, mins, secs)) } // MakeYmInterval - Make year-month interval from years, months. // // MakeYmInterval is the Golang equivalent of make_ym_interval: (years: Optional[ForwardRef('ColumnOrName')] = None, months: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func MakeYmInterval(years column.Column, months column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("make_ym_interval", years, months)) } // CurrentCatalog - Returns the current catalog. // // CurrentCatalog is the Golang equivalent of current_catalog: () -> pyspark.sql.connect.column.Column func CurrentCatalog() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("current_catalog")) } // CurrentDatabase - Returns the current database. // // CurrentDatabase is the Golang equivalent of current_database: () -> pyspark.sql.connect.column.Column func CurrentDatabase() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("current_database")) } // CurrentSchema - Returns the current database. // // CurrentSchema is the Golang equivalent of current_schema: () -> pyspark.sql.connect.column.Column func CurrentSchema() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("current_schema")) } // CurrentUser - Returns the current database. // // CurrentUser is the Golang equivalent of current_user: () -> pyspark.sql.connect.column.Column func CurrentUser() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("current_user")) } // User - Returns the current database. // // User is the Golang equivalent of user: () -> pyspark.sql.connect.column.Column func User() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("user")) } // TODO: assert_true: (col: 'ColumnOrName', errMsg: Union[pyspark.sql.connect.column.Column, str, NoneType] = None) -> pyspark.sql.connect.column.Column // TODO: raise_error: (errMsg: Union[pyspark.sql.connect.column.Column, str]) -> pyspark.sql.connect.column.Column // Crc32 - Calculates the cyclic redundancy check value (CRC32) of a binary column and // returns the value as a bigint. // // Crc32 is the Golang equivalent of crc32: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Crc32(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("crc32", col)) } // Hash - Calculates the hash code of given columns, and returns the result as an int column. // // Hash is the Golang equivalent of hash: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Hash(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("hash", vals...)) } // Xxhash64 - Calculates the hash code of given columns using the 64-bit variant of the xxHash algorithm, // and returns the result as a long column. The hash computation uses an initial seed of 42. // // Xxhash64 is the Golang equivalent of xxhash64: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Xxhash64(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("xxhash64", vals...)) } // Md5 - Calculates the MD5 digest and returns the value as a 32 character hex string. // // Md5 is the Golang equivalent of md5: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Md5(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("md5", col)) } // Sha1 - Returns the hex string result of SHA-1. // // Sha1 is the Golang equivalent of sha1: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Sha1(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sha1", col)) } // Sha2 - Returns the hex string result of SHA-2 family of hash functions (SHA-224, SHA-256, SHA-384, // and SHA-512). The numBits indicates the desired bit length of the result, which must have a // value of 224, 256, 384, 512, or 0 (which is equivalent to 256). // // Sha2 is the Golang equivalent of sha2: (col: 'ColumnOrName', numBits: int) -> pyspark.sql.connect.column.Column func Sha2(col column.Column, numBits int64) column.Column { lit_numBits := Int64Lit(numBits) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sha2", col, lit_numBits)) } // TODO: hll_sketch_agg: (col: 'ColumnOrName', lgConfigK: Union[int, pyspark.sql.connect.column.Column, NoneType] = None) -> pyspark.sql.connect.column.Column // TODO: hll_union_agg: (col: 'ColumnOrName', allowDifferentLgConfigK: Optional[bool] = None) -> pyspark.sql.connect.column.Column // HllSketchEstimate - Returns the estimated number of unique values given the binary representation // of a Datasketches HllSketch. // // HllSketchEstimate is the Golang equivalent of hll_sketch_estimate: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func HllSketchEstimate(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("hll_sketch_estimate", col)) } // TODO: hll_union: (col1: 'ColumnOrName', col2: 'ColumnOrName', allowDifferentLgConfigK: Optional[bool] = None) -> pyspark.sql.connect.column.Column // Ifnull - Returns `col2` if `col1` is null, or `col1` otherwise. // // Ifnull is the Golang equivalent of ifnull: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Ifnull(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("ifnull", col1, col2)) } // Isnotnull - Returns true if `col` is not null, or false otherwise. // // Isnotnull is the Golang equivalent of isnotnull: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Isnotnull(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("isnotnull", col)) } // EqualNull - Returns same result as the EQUAL(=) operator for non-null operands, // but returns true if both are null, false if one of the them is null. // // EqualNull is the Golang equivalent of equal_null: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func EqualNull(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("equal_null", col1, col2)) } // Nullif - Returns null if `col1` equals to `col2`, or `col1` otherwise. // // Nullif is the Golang equivalent of nullif: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Nullif(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("nullif", col1, col2)) } // Nvl - Returns `col2` if `col1` is null, or `col1` otherwise. // // Nvl is the Golang equivalent of nvl: (col1: 'ColumnOrName', col2: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Nvl(col1 column.Column, col2 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("nvl", col1, col2)) } // Nvl2 - Returns `col2` if `col1` is not null, or `col3` otherwise. // // Nvl2 is the Golang equivalent of nvl2: (col1: 'ColumnOrName', col2: 'ColumnOrName', col3: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Nvl2(col1 column.Column, col2 column.Column, col3 column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("nvl2", col1, col2, col3)) } // AesEncrypt - Returns an encrypted value of `input` using AES in given `mode` with the specified `padding`. // Key lengths of 16, 24 and 32 bits are supported. Supported combinations of (`mode`, // `padding`) are ('ECB', 'PKCS'), ('GCM', 'NONE') and ('CBC', 'PKCS'). Optional initialization // vectors (IVs) are only supported for CBC and GCM modes. These must be 16 bytes for CBC and 12 // bytes for GCM. If not provided, a random vector will be generated and prepended to the // output. Optional additional authenticated data (AAD) is only supported for GCM. If provided // for encryption, the identical AAD value must be provided for decryption. The default mode is // GCM. // // AesEncrypt is the Golang equivalent of aes_encrypt: (input: 'ColumnOrName', key: 'ColumnOrName', mode: Optional[ForwardRef('ColumnOrName')] = None, padding: Optional[ForwardRef('ColumnOrName')] = None, iv: Optional[ForwardRef('ColumnOrName')] = None, aad: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func AesEncrypt(input column.Column, key column.Column, mode column.Column, padding column.Column, iv column.Column, aad column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("aes_encrypt", input, key, mode, padding, iv, aad)) } // AesDecrypt - Returns a decrypted value of `input` using AES in `mode` with `padding`. Key lengths of 16, // 24 and 32 bits are supported. Supported combinations of (`mode`, `padding`) are ('ECB', // 'PKCS'), ('GCM', 'NONE') and ('CBC', 'PKCS'). Optional additional authenticated data (AAD) is // only supported for GCM. If provided for encryption, the identical AAD value must be provided // for decryption. The default mode is GCM. // // AesDecrypt is the Golang equivalent of aes_decrypt: (input: 'ColumnOrName', key: 'ColumnOrName', mode: Optional[ForwardRef('ColumnOrName')] = None, padding: Optional[ForwardRef('ColumnOrName')] = None, aad: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func AesDecrypt(input column.Column, key column.Column, mode column.Column, padding column.Column, aad column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("aes_decrypt", input, key, mode, padding, aad)) } // TryAesDecrypt - This is a special version of `aes_decrypt` that performs the same operation, // but returns a NULL value instead of raising an error if the decryption cannot be performed. // Returns a decrypted value of `input` using AES in `mode` with `padding`. Key lengths of 16, // 24 and 32 bits are supported. Supported combinations of (`mode`, `padding`) are ('ECB', // 'PKCS'), ('GCM', 'NONE') and ('CBC', 'PKCS'). Optional additional authenticated data (AAD) is // only supported for GCM. If provided for encryption, the identical AAD value must be provided // for decryption. The default mode is GCM. // // TryAesDecrypt is the Golang equivalent of try_aes_decrypt: (input: 'ColumnOrName', key: 'ColumnOrName', mode: Optional[ForwardRef('ColumnOrName')] = None, padding: Optional[ForwardRef('ColumnOrName')] = None, aad: Optional[ForwardRef('ColumnOrName')] = None) -> pyspark.sql.connect.column.Column func TryAesDecrypt(input column.Column, key column.Column, mode column.Column, padding column.Column, aad column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("try_aes_decrypt", input, key, mode, padding, aad)) } // Sha - Returns a sha1 hash value as a hex string of the `col`. // // Sha is the Golang equivalent of sha: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Sha(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("sha", col)) } // InputFileBlockLength - Returns the length of the block being read, or -1 if not available. // // InputFileBlockLength is the Golang equivalent of input_file_block_length: () -> pyspark.sql.connect.column.Column func InputFileBlockLength() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("input_file_block_length")) } // InputFileBlockStart - Returns the start offset of the block being read, or -1 if not available. // // InputFileBlockStart is the Golang equivalent of input_file_block_start: () -> pyspark.sql.connect.column.Column func InputFileBlockStart() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("input_file_block_start")) } // Reflect - Calls a method with reflection. // // Reflect is the Golang equivalent of reflect: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Reflect(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("reflect", vals...)) } // JavaMethod - Calls a method with reflection. // // JavaMethod is the Golang equivalent of java_method: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func JavaMethod(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("java_method", vals...)) } // Version - Returns the Spark version. The string contains 2 fields, the first being a release version // and the second being a git revision. // // Version is the Golang equivalent of version: () -> pyspark.sql.connect.column.Column func Version() column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("version")) } // Typeof - Return DDL-formatted type string for the data type of the input. // // Typeof is the Golang equivalent of typeof: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Typeof(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("typeof", col)) } // Stack - Separates `col1`, ..., `colk` into `n` rows. Uses column names col0, col1, etc. by default // unless specified otherwise. // // Stack is the Golang equivalent of stack: (*cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func Stack(cols ...column.Column) column.Column { vals := make([]column.Column, 0) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("stack", vals...)) } // BitmapBitPosition - Returns the bit position for the given input column. // // BitmapBitPosition is the Golang equivalent of bitmap_bit_position: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitmapBitPosition(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bitmap_bit_position", col)) } // BitmapBucketNumber - Returns the bucket number for the given input column. // // BitmapBucketNumber is the Golang equivalent of bitmap_bucket_number: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitmapBucketNumber(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bitmap_bucket_number", col)) } // BitmapConstructAgg - Returns a bitmap with the positions of the bits set from all the values from the input column. // The input column will most likely be bitmap_bit_position(). // // BitmapConstructAgg is the Golang equivalent of bitmap_construct_agg: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitmapConstructAgg(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bitmap_construct_agg", col)) } // BitmapCount - Returns the number of set bits in the input bitmap. // // BitmapCount is the Golang equivalent of bitmap_count: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitmapCount(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bitmap_count", col)) } // BitmapOrAgg - Returns a bitmap that is the bitwise OR of all of the bitmaps from the input column. // The input column should be bitmaps created from bitmap_construct_agg(). // // BitmapOrAgg is the Golang equivalent of bitmap_or_agg: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column func BitmapOrAgg(col column.Column) column.Column { return column.NewColumn(column.NewUnresolvedFunctionWithColumns("bitmap_or_agg", col)) } // Ignore UDF: call_udf: (udfName: str, *cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column // Ignore UDT: unwrap_udt: (col: 'ColumnOrName') -> pyspark.sql.connect.column.Column // TODO: udf: (f: Union[Callable[..., Any], ForwardRef('DataTypeOrString'), NoneType] = None, returnType: 'DataTypeOrString' = StringType(), useArrow: Optional[bool] = None) -> Union[ForwardRef('UserDefinedFunctionLike'), Callable[[Callable[..., Any]], ForwardRef('UserDefinedFunctionLike')]] // Ignore UDT: udtf: (cls: Optional[Type] = None, *, returnType: Union[pyspark.sql.types.StructType, str], useArrow: Optional[bool] = None) -> Union[ForwardRef('UserDefinedTableFunction'), Callable[[Type], ForwardRef('UserDefinedTableFunction')]] // CallFunction - Call a SQL function. // // CallFunction is the Golang equivalent of call_function: (funcName: str, *cols: 'ColumnOrName') -> pyspark.sql.connect.column.Column func CallFunction(funcName string, cols ...column.Column) column.Column { lit_funcName := StringLit(funcName) vals := make([]column.Column, 0) vals = append(vals, lit_funcName) vals = append(vals, cols...) return column.NewColumn(column.NewUnresolvedFunctionWithColumns("call_function", vals...)) }