Schema of Built-in Functions

Class nameFunction name or aliasQuery exampleOutput schema
org.apache.spark.sql.catalyst.expressions.AbsabsSELECT abs(-1)struct<abs(-1):int>
org.apache.spark.sql.catalyst.expressions.AcosacosSELECT acos(1)struct<ACOS(1):double>
org.apache.spark.sql.catalyst.expressions.AcoshacoshSELECT acosh(1)struct<ACOSH(1):double>
org.apache.spark.sql.catalyst.expressions.Add+SELECT 1 + 2struct<(1 + 2):int>
org.apache.spark.sql.catalyst.expressions.AddMonthsadd_monthsSELECT add_months(‘2016-08-31’, 1)struct<add_months(2016-08-31, 1):date>
org.apache.spark.sql.catalyst.expressions.AesDecryptaes_decryptSELECT aes_decrypt(unhex(‘83F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94’), ‘0000111122223333’)struct<aes_decrypt(unhex(83F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94), 0000111122223333, GCM, DEFAULT, ):binary>
org.apache.spark.sql.catalyst.expressions.AesEncryptaes_encryptSELECT hex(aes_encrypt(‘Spark’, ‘0000111122223333’))struct<hex(aes_encrypt(Spark, 0000111122223333, GCM, DEFAULT, , )):string>
org.apache.spark.sql.catalyst.expressions.AndandSELECT true and truestruct<(true AND true):boolean>
org.apache.spark.sql.catalyst.expressions.ApproxTopKEstimateapprox_top_k_estimateSELECT approx_top_k_estimate(approx_top_k_accumulate(expr)) FROM VALUES (0), (0), (1), (1), (2), (3), (4), (4) AS tab(expr)struct<approx_top_k_estimate(approx_top_k_accumulate(expr, 10000), 5):array<structitem:int,count:bigint>>
org.apache.spark.sql.catalyst.expressions.ArrayAggregateaggregateSELECT aggregate(array(1, 2, 3), 0, (acc, x) -> acc + x)struct<aggregate(array(1, 2, 3), 0, lambdafunction((namedlambdavariable() + namedlambdavariable()), namedlambdavariable(), namedlambdavariable()), lambdafunction(namedlambdavariable(), namedlambdavariable())):int>
org.apache.spark.sql.catalyst.expressions.ArrayAggregatereduceSELECT reduce(array(1, 2, 3), 0, (acc, x) -> acc + x)struct<reduce(array(1, 2, 3), 0, lambdafunction((namedlambdavariable() + namedlambdavariable()), namedlambdavariable(), namedlambdavariable()), lambdafunction(namedlambdavariable(), namedlambdavariable())):int>
org.apache.spark.sql.catalyst.expressions.ArrayAppendarray_appendSELECT array_append(array(‘b’, ‘d’, ‘c’, ‘a’), ‘d’)struct<array_append(array(b, d, c, a), d):array>
org.apache.spark.sql.catalyst.expressions.ArrayCompactarray_compactSELECT array_compact(array(1, 2, 3, null))struct<array_compact(array(1, 2, 3, NULL)):array>
org.apache.spark.sql.catalyst.expressions.ArrayContainsarray_containsSELECT array_contains(array(1, 2, 3), 2)struct<array_contains(array(1, 2, 3), 2):boolean>
org.apache.spark.sql.catalyst.expressions.ArrayDistinctarray_distinctSELECT array_distinct(array(1, 2, 3, null, 3))struct<array_distinct(array(1, 2, 3, NULL, 3)):array>
org.apache.spark.sql.catalyst.expressions.ArrayExceptarray_exceptSELECT array_except(array(1, 2, 3), array(1, 3, 5))struct<array_except(array(1, 2, 3), array(1, 3, 5)):array>
org.apache.spark.sql.catalyst.expressions.ArrayExistsexistsSELECT exists(array(1, 2, 3), x -> x % 2 == 0)struct<exists(array(1, 2, 3), lambdafunction(((namedlambdavariable() % 2) = 0), namedlambdavariable())):boolean>
org.apache.spark.sql.catalyst.expressions.ArrayFilterfilterSELECT filter(array(1, 2, 3), x -> x % 2 == 1)struct<filter(array(1, 2, 3), lambdafunction(((namedlambdavariable() % 2) = 1), namedlambdavariable())):array>
org.apache.spark.sql.catalyst.expressions.ArrayForAllforallSELECT forall(array(1, 2, 3), x -> x % 2 == 0)struct<forall(array(1, 2, 3), lambdafunction(((namedlambdavariable() % 2) = 0), namedlambdavariable())):boolean>
org.apache.spark.sql.catalyst.expressions.ArrayInsertarray_insertSELECT array_insert(array(1, 2, 3, 4), 5, 5)struct<array_insert(array(1, 2, 3, 4), 5, 5):array>
org.apache.spark.sql.catalyst.expressions.ArrayIntersectarray_intersectSELECT array_intersect(array(1, 2, 3), array(1, 3, 5))struct<array_intersect(array(1, 2, 3), array(1, 3, 5)):array>
org.apache.spark.sql.catalyst.expressions.ArrayJoinarray_joinSELECT array_join(array(‘hello’, ‘world’), ' ')struct<array_join(array(hello, world), ):string>
org.apache.spark.sql.catalyst.expressions.ArrayMaxarray_maxSELECT array_max(array(1, 20, null, 3))struct<array_max(array(1, 20, NULL, 3)):int>
org.apache.spark.sql.catalyst.expressions.ArrayMinarray_minSELECT array_min(array(1, 20, null, 3))struct<array_min(array(1, 20, NULL, 3)):int>
org.apache.spark.sql.catalyst.expressions.ArrayPositionarray_positionSELECT array_position(array(312, 773, 708, 708), 708)struct<array_position(array(312, 773, 708, 708), 708):bigint>
org.apache.spark.sql.catalyst.expressions.ArrayPrependarray_prependSELECT array_prepend(array(‘b’, ‘d’, ‘c’, ‘a’), ‘d’)struct<array_prepend(array(b, d, c, a), d):array>
org.apache.spark.sql.catalyst.expressions.ArrayRemovearray_removeSELECT array_remove(array(1, 2, 3, null, 3), 3)struct<array_remove(array(1, 2, 3, NULL, 3), 3):array>
org.apache.spark.sql.catalyst.expressions.ArrayRepeatarray_repeatSELECT array_repeat(‘123’, 2)struct<array_repeat(123, 2):array>
org.apache.spark.sql.catalyst.expressions.ArraySizearray_sizeSELECT array_size(array(‘b’, ‘d’, ‘c’, ‘a’))struct<array_size(array(b, d, c, a)):int>
org.apache.spark.sql.catalyst.expressions.ArraySortarray_sortSELECT array_sort(array(5, 6, 1), (left, right) -> case when left < right then -1 when left > right then 1 else 0 end)struct<array_sort(array(5, 6, 1), lambdafunction(CASE WHEN (namedlambdavariable() < namedlambdavariable()) THEN -1 WHEN (namedlambdavariable() > namedlambdavariable()) THEN 1 ELSE 0 END, namedlambdavariable(), namedlambdavariable())):array>
org.apache.spark.sql.catalyst.expressions.ArrayTransformtransformSELECT transform(array(1, 2, 3), x -> x + 1)struct<transform(array(1, 2, 3), lambdafunction((namedlambdavariable() + 1), namedlambdavariable())):array>
org.apache.spark.sql.catalyst.expressions.ArrayUnionarray_unionSELECT array_union(array(1, 2, 3), array(1, 3, 5))struct<array_union(array(1, 2, 3), array(1, 3, 5)):array>
org.apache.spark.sql.catalyst.expressions.ArraysOverlaparrays_overlapSELECT arrays_overlap(array(1, 2, 3), array(3, 4, 5))struct<arrays_overlap(array(1, 2, 3), array(3, 4, 5)):boolean>
org.apache.spark.sql.catalyst.expressions.ArraysZiparrays_zipSELECT arrays_zip(array(1, 2, 3), array(2, 3, 4))struct<arrays_zip(array(1, 2, 3), array(2, 3, 4)):array<struct<0:int,1:int>>>
org.apache.spark.sql.catalyst.expressions.AsciiasciiSELECT ascii(‘222’)struct<ascii(222):int>
org.apache.spark.sql.catalyst.expressions.AsinasinSELECT asin(0)struct<ASIN(0):double>
org.apache.spark.sql.catalyst.expressions.AsinhasinhSELECT asinh(0)struct<ASINH(0):double>
org.apache.spark.sql.catalyst.expressions.AssertTrueassert_trueSELECT assert_true(0 < 1)struct<assert_true((0 < 1), ‘(0 < 1)’ is not true!):void>
org.apache.spark.sql.catalyst.expressions.AtanatanSELECT atan(0)struct<ATAN(0):double>
org.apache.spark.sql.catalyst.expressions.Atan2atan2SELECT atan2(0, 0)struct<ATAN2(0, 0):double>
org.apache.spark.sql.catalyst.expressions.AtanhatanhSELECT atanh(0)struct<ATANH(0):double>
org.apache.spark.sql.catalyst.expressions.BRoundbroundSELECT bround(2.5, 0)struct<bround(2.5, 0):decimal(2,0)>
org.apache.spark.sql.catalyst.expressions.Base64base64SELECT base64(‘Spark SQL’)struct<base64(Spark SQL):string>
org.apache.spark.sql.catalyst.expressions.BetweenbetweenSELECT 0.5 between 0.1 AND 1.0struct<between(0.5, 0.1, 1.0):boolean>
org.apache.spark.sql.catalyst.expressions.BinbinSELECT bin(13)struct<bin(13):string>
org.apache.spark.sql.catalyst.expressions.BitLengthbit_lengthSELECT bit_length(‘Spark SQL’)struct<bit_length(Spark SQL):int>
org.apache.spark.sql.catalyst.expressions.BitmapAndAggbitmap_and_aggSELECT substring(hex(bitmap_and_agg(col)), 0, 6) FROM VALUES (X ‘F0’), (X ‘70’), (X ‘30’) AS tab(col)struct<substring(hex(bitmap_and_agg(col)), 0, 6):string>
org.apache.spark.sql.catalyst.expressions.BitmapBitPositionbitmap_bit_positionSELECT bitmap_bit_position(1)struct<bitmap_bit_position(1):bigint>
org.apache.spark.sql.catalyst.expressions.BitmapBucketNumberbitmap_bucket_numberSELECT bitmap_bucket_number(123)struct<bitmap_bucket_number(123):bigint>
org.apache.spark.sql.catalyst.expressions.BitmapConstructAggbitmap_construct_aggSELECT substring(hex(bitmap_construct_agg(bitmap_bit_position(col))), 0, 6) FROM VALUES (1), (2), (3) AS tab(col)struct<substring(hex(bitmap_construct_agg(bitmap_bit_position(col))), 0, 6):string>
org.apache.spark.sql.catalyst.expressions.BitmapCountbitmap_countSELECT bitmap_count(X ‘1010’)struct<bitmap_count(X‘1010’):bigint>
org.apache.spark.sql.catalyst.expressions.BitmapOrAggbitmap_or_aggSELECT substring(hex(bitmap_or_agg(col)), 0, 6) FROM VALUES (X ‘10’), (X ‘20’), (X ‘40’) AS tab(col)struct<substring(hex(bitmap_or_agg(col)), 0, 6):string>
org.apache.spark.sql.catalyst.expressions.BitwiseAnd&SELECT 3 & 5struct<(3 & 5):int>
org.apache.spark.sql.catalyst.expressions.BitwiseCountbit_countSELECT bit_count(0)struct<bit_count(0):int>
org.apache.spark.sql.catalyst.expressions.BitwiseGetbit_getSELECT bit_get(11, 0)struct<bit_get(11, 0):tinyint>
org.apache.spark.sql.catalyst.expressions.BitwiseGetgetbitSELECT getbit(11, 0)struct<getbit(11, 0):tinyint>
org.apache.spark.sql.catalyst.expressions.BitwiseNot~SELECT ~ 0struct<~0:int>
org.apache.spark.sql.catalyst.expressions.BitwiseOr|SELECT 3 | 5struct<(3 | 5):int>
org.apache.spark.sql.catalyst.expressions.BitwiseXor^SELECT 3 ^ 5struct<(3 ^ 5):int>
org.apache.spark.sql.catalyst.expressions.CallMethodViaReflectionjava_methodSELECT java_method(‘java.util.UUID’, ‘randomUUID’)struct<java_method(java.util.UUID, randomUUID):string>
org.apache.spark.sql.catalyst.expressions.CallMethodViaReflectionreflectSELECT reflect(‘java.util.UUID’, ‘randomUUID’)struct<reflect(java.util.UUID, randomUUID):string>
org.apache.spark.sql.catalyst.expressions.CaseWhenwhenSELECT CASE WHEN 1 > 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 ENDstruct<CASE WHEN (1 > 0) THEN 1 WHEN (2 > 0) THEN 2.0 ELSE 1.2 END:decimal(11,1)>
org.apache.spark.sql.catalyst.expressions.CastbigintN/AN/A
org.apache.spark.sql.catalyst.expressions.CastbinaryN/AN/A
org.apache.spark.sql.catalyst.expressions.CastbooleanN/AN/A
org.apache.spark.sql.catalyst.expressions.CastcastSELECT cast(‘10’ as int)struct<CAST(10 AS INT):int>
org.apache.spark.sql.catalyst.expressions.CastdateN/AN/A
org.apache.spark.sql.catalyst.expressions.CastdecimalN/AN/A
org.apache.spark.sql.catalyst.expressions.CastdoubleN/AN/A
org.apache.spark.sql.catalyst.expressions.CastfloatN/AN/A
org.apache.spark.sql.catalyst.expressions.CastintN/AN/A
org.apache.spark.sql.catalyst.expressions.CastsmallintN/AN/A
org.apache.spark.sql.catalyst.expressions.CaststringN/AN/A
org.apache.spark.sql.catalyst.expressions.CasttimeN/AN/A
org.apache.spark.sql.catalyst.expressions.CasttimestampN/AN/A
org.apache.spark.sql.catalyst.expressions.CasttinyintN/AN/A
org.apache.spark.sql.catalyst.expressions.CbrtcbrtSELECT cbrt(27.0)struct<CBRT(27.0):double>
org.apache.spark.sql.catalyst.expressions.CeilExpressionBuilderceilSELECT ceil(-0.1)struct<CEIL(-0.1):decimal(1,0)>
org.apache.spark.sql.catalyst.expressions.CeilExpressionBuilderceilingSELECT ceiling(-0.1)struct<ceiling(-0.1):decimal(1,0)>
org.apache.spark.sql.catalyst.expressions.ChrcharSELECT char(65)struct<char(65):string>
org.apache.spark.sql.catalyst.expressions.ChrchrSELECT chr(65)struct<chr(65):string>
org.apache.spark.sql.catalyst.expressions.CoalescecoalesceSELECT coalesce(NULL, 1, NULL)struct<coalesce(NULL, 1, NULL):int>
org.apache.spark.sql.catalyst.expressions.CollateExpressionBuildercollateSELECT COLLATION(‘Spark SQL’ collate UTF8_LCASE)struct<collation(collate(Spark SQL, UTF8_LCASE)):string>
org.apache.spark.sql.catalyst.expressions.CollationcollationSELECT collation(‘Spark SQL’)struct<collation(Spark SQL):string>
org.apache.spark.sql.catalyst.expressions.ConcatconcatSELECT concat(‘Spark’, ‘SQL’)struct<concat(Spark, SQL):string>
org.apache.spark.sql.catalyst.expressions.ConcatWsconcat_wsSELECT concat_ws(' ', ‘Spark’, ‘SQL’)struct<concat_ws( , Spark, SQL):string>
org.apache.spark.sql.catalyst.expressions.ContainsExpressionBuildercontainsSELECT contains(‘Spark SQL’, ‘Spark’)struct<contains(Spark SQL, Spark):boolean>
org.apache.spark.sql.catalyst.expressions.ConvconvSELECT conv(‘100’, 2, 10)struct<conv(100, 2, 10):string>
org.apache.spark.sql.catalyst.expressions.ConvertTimezoneconvert_timezoneSELECT convert_timezone(‘Europe/Brussels’, ‘America/Los_Angeles’, timestamp_ntz‘2021-12-06 00:00:00’)struct<convert_timezone(Europe/Brussels, America/Los_Angeles, TIMESTAMP_NTZ ‘2021-12-06 00:00:00’):timestamp_ntz>
org.apache.spark.sql.catalyst.expressions.CoscosSELECT cos(0)struct<COS(0):double>
org.apache.spark.sql.catalyst.expressions.CoshcoshSELECT cosh(0)struct<COSH(0):double>
org.apache.spark.sql.catalyst.expressions.CotcotSELECT cot(1)struct<COT(1):double>
org.apache.spark.sql.catalyst.expressions.Crc32crc32SELECT crc32(‘Spark’)struct<crc32(Spark):bigint>
org.apache.spark.sql.catalyst.expressions.CreateArrayarraySELECT array(1, 2, 3)struct<array(1, 2, 3):array>
org.apache.spark.sql.catalyst.expressions.CreateMapmapSELECT map(1.0, ‘2’, 3.0, ‘4’)struct<map(1.0, 2, 3.0, 4):map<decimal(2,1),string>>
org.apache.spark.sql.catalyst.expressions.CreateNamedStructnamed_structSELECT named_struct(“a”, 1, “b”, 2, “c”, 3)struct<named_struct(a, 1, b, 2, c, 3):struct<a:int,b:int,c:int>>
org.apache.spark.sql.catalyst.expressions.CreateNamedStructstructSELECT struct(1, 2, 3)struct<struct(1, 2, 3):structcol1:int,col2:int,col3:int>
org.apache.spark.sql.catalyst.expressions.CsccscSELECT csc(1)struct<CSC(1):double>
org.apache.spark.sql.catalyst.expressions.CsvToStructsfrom_csvSELECT from_csv(‘1, 0.8’, ‘a INT, b DOUBLE’)struct<from_csv(1, 0.8):struct<a:int,b:double>>
org.apache.spark.sql.catalyst.expressions.CumeDistcume_distSELECT a, b, cume_dist() OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,cume_dist() OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW):double>
org.apache.spark.sql.catalyst.expressions.CurDateExpressionBuildercurdateSELECT curdate()struct<current_date():date>
org.apache.spark.sql.catalyst.expressions.CurrentCatalogcurrent_catalogSELECT current_catalog()struct<current_catalog():string>
org.apache.spark.sql.catalyst.expressions.CurrentDatabasecurrent_databaseSELECT current_database()struct<current_schema():string>
org.apache.spark.sql.catalyst.expressions.CurrentDatabasecurrent_schemaSELECT current_schema()struct<current_schema():string>
org.apache.spark.sql.catalyst.expressions.CurrentDatecurrent_dateSELECT current_date()struct<current_date():date>
org.apache.spark.sql.catalyst.expressions.CurrentTimecurrent_timeSELECT current_time()struct<current_time(6):time(6)>
org.apache.spark.sql.catalyst.expressions.CurrentTimeZonecurrent_timezoneSELECT current_timezone()struct<current_timezone():string>
org.apache.spark.sql.catalyst.expressions.CurrentTimestampcurrent_timestampSELECT current_timestamp()struct<current_timestamp():timestamp>
org.apache.spark.sql.catalyst.expressions.CurrentUsercurrent_userSELECT current_user()struct<current_user():string>
org.apache.spark.sql.catalyst.expressions.CurrentUsersession_userSELECT session_user()struct<session_user():string>
org.apache.spark.sql.catalyst.expressions.CurrentUseruserSELECT user()struct<user():string>
org.apache.spark.sql.catalyst.expressions.DateAdddate_addSELECT date_add(‘2016-07-30’, 1)struct<date_add(2016-07-30, 1):date>
org.apache.spark.sql.catalyst.expressions.DateAdddateaddSELECT dateadd(‘2016-07-30’, 1)struct<date_add(2016-07-30, 1):date>
org.apache.spark.sql.catalyst.expressions.DateDiffdate_diffSELECT date_diff(‘2009-07-31’, ‘2009-07-30’)struct<date_diff(2009-07-31, 2009-07-30):int>
org.apache.spark.sql.catalyst.expressions.DateDiffdatediffSELECT datediff(‘2009-07-31’, ‘2009-07-30’)struct<datediff(2009-07-31, 2009-07-30):int>
org.apache.spark.sql.catalyst.expressions.DateFormatClassdate_formatSELECT date_format(‘2016-04-08’, ‘y’)struct<date_format(2016-04-08, y):string>
org.apache.spark.sql.catalyst.expressions.DateFromUnixDatedate_from_unix_dateSELECT date_from_unix_date(1)struct<date_from_unix_date(1):date>
org.apache.spark.sql.catalyst.expressions.DatePartExpressionBuilderdate_partSELECT date_part(‘YEAR’, TIMESTAMP ‘2019-08-12 01:00:00.123456’)struct<date_part(YEAR, TIMESTAMP ‘2019-08-12 01:00:00.123456’):int>
org.apache.spark.sql.catalyst.expressions.DatePartExpressionBuilderdatepartSELECT datepart(‘YEAR’, TIMESTAMP ‘2019-08-12 01:00:00.123456’)struct<datepart(YEAR FROM TIMESTAMP ‘2019-08-12 01:00:00.123456’):int>
org.apache.spark.sql.catalyst.expressions.DateSubdate_subSELECT date_sub(‘2016-07-30’, 1)struct<date_sub(2016-07-30, 1):date>
org.apache.spark.sql.catalyst.expressions.DayNamedaynameSELECT dayname(DATE(‘2008-02-20’))struct<dayname(2008-02-20):string>
org.apache.spark.sql.catalyst.expressions.DayOfMonthdaySELECT day(‘2009-07-30’)struct<day(2009-07-30):int>
org.apache.spark.sql.catalyst.expressions.DayOfMonthdayofmonthSELECT dayofmonth(‘2009-07-30’)struct<dayofmonth(2009-07-30):int>
org.apache.spark.sql.catalyst.expressions.DayOfWeekdayofweekSELECT dayofweek(‘2009-07-30’)struct<dayofweek(2009-07-30):int>
org.apache.spark.sql.catalyst.expressions.DayOfYeardayofyearSELECT dayofyear(‘2016-04-09’)struct<dayofyear(2016-04-09):int>
org.apache.spark.sql.catalyst.expressions.DecodedecodeSELECT decode(encode(‘abc’, ‘utf-8’), ‘utf-8’)struct<decode(encode(abc, utf-8), utf-8):string>
org.apache.spark.sql.catalyst.expressions.DenseRankdense_rankSELECT a, b, dense_rank(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,DENSE_RANK() OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW):int>
org.apache.spark.sql.catalyst.expressions.Divide/SELECT 3 / 2struct<(3 / 2):double>
org.apache.spark.sql.catalyst.expressions.ElementAtelement_atSELECT element_at(array(1, 2, 3), 2)struct<element_at(array(1, 2, 3), 2):int>
org.apache.spark.sql.catalyst.expressions.ElteltSELECT elt(1, ‘scala’, ‘java’)struct<elt(1, scala, java):string>
org.apache.spark.sql.catalyst.expressions.EncodeencodeSELECT encode(‘abc’, ‘utf-8’)struct<encode(abc, utf-8):binary>
org.apache.spark.sql.catalyst.expressions.EndsWithExpressionBuilderendswithSELECT endswith(‘Spark SQL’, ‘SQL’)struct<endswith(Spark SQL, SQL):boolean>
org.apache.spark.sql.catalyst.expressions.EqualNullequal_nullSELECT equal_null(3, 3)struct<equal_null(3, 3):boolean>
org.apache.spark.sql.catalyst.expressions.EqualNullSafe<=>SELECT 2 <=> 2struct<(2 <=> 2):boolean>
org.apache.spark.sql.catalyst.expressions.EqualTo=SELECT 2 = 2struct<(2 = 2):boolean>
org.apache.spark.sql.catalyst.expressions.EqualTo==SELECT 2 == 2struct<(2 = 2):boolean>
org.apache.spark.sql.catalyst.expressions.EulerNumbereSELECT e()struct<E():double>
org.apache.spark.sql.catalyst.expressions.ExpexpSELECT exp(0)struct<EXP(0):double>
org.apache.spark.sql.catalyst.expressions.ExplodeExpressionBuilderexplodeSELECT explode(array(10, 20))structcol:int
org.apache.spark.sql.catalyst.expressions.ExplodeExpressionBuilderexplode_outerSELECT explode_outer(array(10, 20))structcol:int
org.apache.spark.sql.catalyst.expressions.Expm1expm1SELECT expm1(0)struct<EXPM1(0):double>
org.apache.spark.sql.catalyst.expressions.ExtractextractSELECT extract(YEAR FROM TIMESTAMP ‘2019-08-12 01:00:00.123456’)struct<extract(YEAR FROM TIMESTAMP ‘2019-08-12 01:00:00.123456’):int>
org.apache.spark.sql.catalyst.expressions.FactorialfactorialSELECT factorial(5)struct<factorial(5):bigint>
org.apache.spark.sql.catalyst.expressions.FindInSetfind_in_setSELECT find_in_set(‘ab’,‘abc,b,ab,c,def’)struct<find_in_set(ab, abc,b,ab,c,def):int>
org.apache.spark.sql.catalyst.expressions.FlattenflattenSELECT flatten(array(array(1, 2), array(3, 4)))struct<flatten(array(array(1, 2), array(3, 4))):array>
org.apache.spark.sql.catalyst.expressions.FloorExpressionBuilderfloorSELECT floor(-0.1)struct<FLOOR(-0.1):decimal(1,0)>
org.apache.spark.sql.catalyst.expressions.FormatNumberformat_numberSELECT format_number(12332.123456, 4)struct<format_number(12332.123456, 4):string>
org.apache.spark.sql.catalyst.expressions.FormatStringformat_stringSELECT format_string(“Hello World %d %s”, 100, “days”)struct<format_string(Hello World %d %s, 100, days):string>
org.apache.spark.sql.catalyst.expressions.FormatStringprintfSELECT printf(“Hello World %d %s”, 100, “days”)struct<printf(Hello World %d %s, 100, days):string>
org.apache.spark.sql.catalyst.expressions.FromUTCTimestampfrom_utc_timestampSELECT from_utc_timestamp(‘2016-08-31’, ‘Asia/Seoul’)struct<from_utc_timestamp(2016-08-31, Asia/Seoul):timestamp>
org.apache.spark.sql.catalyst.expressions.FromUnixTimefrom_unixtimeSELECT from_unixtime(0, ‘yyyy-MM-dd HH:mm:ss’)struct<from_unixtime(0, yyyy-MM-dd HH:mm:ss):string>
org.apache.spark.sql.catalyst.expressions.GetgetSELECT get(array(1, 2, 3), 0)struct<get(array(1, 2, 3), 0):int>
org.apache.spark.sql.catalyst.expressions.GetJsonObjectget_json_objectSELECT get_json_object(‘{“a”:“b”}’, ‘$.a’)struct<get_json_object({“a”:“b”}, $.a):string>
org.apache.spark.sql.catalyst.expressions.GreaterThan>SELECT 2 > 1struct<(2 > 1):boolean>
org.apache.spark.sql.catalyst.expressions.GreaterThanOrEqual>=SELECT 2 >= 1struct<(2 >= 1):boolean>
org.apache.spark.sql.catalyst.expressions.GreatestgreatestSELECT greatest(10, 9, 2, 4, 3)struct<greatest(10, 9, 2, 4, 3):int>
org.apache.spark.sql.catalyst.expressions.GroupinggroupingSELECT name, grouping(name), sum(age) FROM VALUES (2, ‘Alice’), (5, ‘Bob’) people(age, name) GROUP BY cube(name)structname:string,grouping(name):tinyint,sum(age):bigint
org.apache.spark.sql.catalyst.expressions.GroupingIDgrouping_idSELECT name, grouping_id(), sum(age), avg(height) FROM VALUES (2, ‘Alice’, 165), (5, ‘Bob’, 180) people(age, name, height) GROUP BY cube(name, height)structname:string,grouping_id():bigint,sum(age):bigint,avg(height):double
org.apache.spark.sql.catalyst.expressions.HexhexSELECT hex(17)struct<hex(17):string>
org.apache.spark.sql.catalyst.expressions.HllSketchEstimatehll_sketch_estimateSELECT hll_sketch_estimate(hll_sketch_agg(col)) FROM VALUES (1), (1), (2), (2), (3) tab(col)struct<hll_sketch_estimate(hll_sketch_agg(col, 12)):bigint>
org.apache.spark.sql.catalyst.expressions.HllUnionhll_unionSELECT hll_sketch_estimate(hll_union(hll_sketch_agg(col1), hll_sketch_agg(col2))) FROM VALUES (1, 4), (1, 4), (2, 5), (2, 5), (3, 6) tab(col1, col2)struct<hll_sketch_estimate(hll_union(hll_sketch_agg(col1, 12), hll_sketch_agg(col2, 12), false)):bigint>
org.apache.spark.sql.catalyst.expressions.HourExpressionBuilderhourSELECT hour(‘2018-02-14 12:58:59’)struct<hour(2018-02-14 12:58:59):int>
org.apache.spark.sql.catalyst.expressions.HypothypotSELECT hypot(3, 4)struct<HYPOT(3, 4):double>
org.apache.spark.sql.catalyst.expressions.ILikeilikeSELECT ilike(‘Spark’, ‘_Park’)struct<ilike(Spark, _Park):boolean>
org.apache.spark.sql.catalyst.expressions.IfifSELECT if(1 < 2, ‘a’, ‘b’)struct<(IF((1 < 2), a, b)):string>
org.apache.spark.sql.catalyst.expressions.IninSELECT 1 in(1, 2, 3)struct<(1 IN (1, 2, 3)):boolean>
org.apache.spark.sql.catalyst.expressions.InitCapinitcapSELECT initcap(‘sPark sql’)struct<initcap(sPark sql):string>
org.apache.spark.sql.catalyst.expressions.InlineExpressionBuilderinlineSELECT inline(array(struct(1, ‘a’), struct(2, ‘b’)))structcol1:int,col2:string
org.apache.spark.sql.catalyst.expressions.InlineExpressionBuilderinline_outerSELECT inline_outer(array(struct(1, ‘a’), struct(2, ‘b’)))structcol1:int,col2:string
org.apache.spark.sql.catalyst.expressions.InputFileBlockLengthinput_file_block_lengthSELECT input_file_block_length()struct<input_file_block_length():bigint>
org.apache.spark.sql.catalyst.expressions.InputFileBlockStartinput_file_block_startSELECT input_file_block_start()struct<input_file_block_start():bigint>
org.apache.spark.sql.catalyst.expressions.InputFileNameinput_file_nameSELECT input_file_name()struct<input_file_name():string>
org.apache.spark.sql.catalyst.expressions.IntegralDividedivSELECT 3 div 2struct<(3 div 2):bigint>
org.apache.spark.sql.catalyst.expressions.IsNaNisnanSELECT isnan(cast(‘NaN’ as double))struct<isnan(CAST(NaN AS DOUBLE)):boolean>
org.apache.spark.sql.catalyst.expressions.IsNotNullisnotnullSELECT isnotnull(1)struct<(1 IS NOT NULL):boolean>
org.apache.spark.sql.catalyst.expressions.IsNullisnullSELECT isnull(1)struct<(1 IS NULL):boolean>
org.apache.spark.sql.catalyst.expressions.IsValidUTF8is_valid_utf8SELECT is_valid_utf8(‘Spark’)struct<is_valid_utf8(Spark):boolean>
org.apache.spark.sql.catalyst.expressions.JsonObjectKeysjson_object_keysSELECT json_object_keys(‘{}’)struct<json_object_keys({}):array>
org.apache.spark.sql.catalyst.expressions.JsonToStructsfrom_jsonSELECT from_json(‘{“a”:1, “b”:0.8}’, ‘a INT, b DOUBLE’)struct<from_json({“a”:1, “b”:0.8}):struct<a:int,b:double>>
org.apache.spark.sql.catalyst.expressions.JsonTuplejson_tupleSELECT json_tuple(‘{“a”:1, “b”:2}’, ‘a’, ‘b’)structc0:string,c1:string
org.apache.spark.sql.catalyst.expressions.KllSketchGetNBigintkll_sketch_get_n_bigintSELECT kll_sketch_get_n_bigint(kll_sketch_agg_bigint(col)) FROM VALUES (1), (2), (3), (4), (5) tab(col)struct<kll_sketch_get_n_bigint(kll_sketch_agg_bigint(col)):bigint>
org.apache.spark.sql.catalyst.expressions.KllSketchGetNDoublekll_sketch_get_n_doubleSELECT kll_sketch_get_n_double(kll_sketch_agg_double(col)) FROM VALUES (CAST(1.0 AS DOUBLE)), (CAST(2.0 AS DOUBLE)), (CAST(3.0 AS DOUBLE)), (CAST(4.0 AS DOUBLE)), (CAST(5.0 AS DOUBLE)) tab(col)struct<kll_sketch_get_n_double(kll_sketch_agg_double(col)):bigint>
org.apache.spark.sql.catalyst.expressions.KllSketchGetNFloatkll_sketch_get_n_floatSELECT kll_sketch_get_n_float(kll_sketch_agg_float(col)) FROM VALUES (CAST(1.0 AS FLOAT)), (CAST(2.0 AS FLOAT)), (CAST(3.0 AS FLOAT)), (CAST(4.0 AS FLOAT)), (CAST(5.0 AS FLOAT)) tab(col)struct<kll_sketch_get_n_float(kll_sketch_agg_float(col)):bigint>
org.apache.spark.sql.catalyst.expressions.KllSketchGetQuantileBigintkll_sketch_get_quantile_bigintSELECT kll_sketch_get_quantile_bigint(kll_sketch_agg_bigint(col), 0.5) > 1 FROM VALUES (1), (2), (3), (4), (5) tab(col)struct<(kll_sketch_get_quantile_bigint(kll_sketch_agg_bigint(col), 0.5) > 1):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchGetQuantileDoublekll_sketch_get_quantile_doubleSELECT kll_sketch_get_quantile_double(kll_sketch_agg_double(col), 0.5) > 1 FROM VALUES (CAST(1.0 AS DOUBLE)), (CAST(2.0 AS DOUBLE)), (CAST(3.0 AS DOUBLE)), (CAST(4.0 AS DOUBLE)), (CAST(5.0 AS DOUBLE)) tab(col)struct<(kll_sketch_get_quantile_double(kll_sketch_agg_double(col), 0.5) > 1):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchGetQuantileFloatkll_sketch_get_quantile_floatSELECT kll_sketch_get_quantile_float(kll_sketch_agg_float(col), 0.5) > 1 FROM VALUES (CAST(1.0 AS FLOAT)), (CAST(2.0 AS FLOAT)), (CAST(3.0 AS FLOAT)), (CAST(4.0 AS FLOAT)), (CAST(5.0 AS FLOAT)) tab(col)struct<(kll_sketch_get_quantile_float(kll_sketch_agg_float(col), 0.5) > 1):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchGetRankBigintkll_sketch_get_rank_bigintSELECT kll_sketch_get_rank_bigint(kll_sketch_agg_bigint(col), 3) > 0.3 FROM VALUES (1), (2), (3), (4), (5) tab(col)struct<(kll_sketch_get_rank_bigint(kll_sketch_agg_bigint(col), 3) > 0.3):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchGetRankDoublekll_sketch_get_rank_doubleSELECT kll_sketch_get_rank_double(kll_sketch_agg_double(col), 3.0) > 0.3 FROM VALUES (CAST(1.0 AS DOUBLE)), (CAST(2.0 AS DOUBLE)), (CAST(3.0 AS DOUBLE)), (CAST(4.0 AS DOUBLE)), (CAST(5.0 AS DOUBLE)) tab(col)struct<(kll_sketch_get_rank_double(kll_sketch_agg_double(col), 3.0) > 0.3):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchGetRankFloatkll_sketch_get_rank_floatSELECT kll_sketch_get_rank_float(kll_sketch_agg_float(col), 3.0) > 0.3 FROM VALUES (CAST(1.0 AS FLOAT)), (CAST(2.0 AS FLOAT)), (CAST(3.0 AS FLOAT)), (CAST(4.0 AS FLOAT)), (CAST(5.0 AS FLOAT)) tab(col)struct<(kll_sketch_get_rank_float(kll_sketch_agg_float(col), 3.0) > 0.3):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchMergeBigintkll_sketch_merge_bigintSELECT LENGTH(kll_sketch_to_string_bigint(kll_sketch_merge_bigint(kll_sketch_agg_bigint(col), kll_sketch_agg_bigint(col)))) > 0 FROM VALUES (1), (2), (3), (4), (5) tab(col)struct<(length(kll_sketch_to_string_bigint(kll_sketch_merge_bigint(kll_sketch_agg_bigint(col), kll_sketch_agg_bigint(col)))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchMergeDoublekll_sketch_merge_doubleSELECT LENGTH(kll_sketch_to_string_double(kll_sketch_merge_double(kll_sketch_agg_double(col), kll_sketch_agg_double(col)))) > 0 FROM VALUES (CAST(1.0 AS DOUBLE)), (CAST(2.0 AS DOUBLE)), (CAST(3.0 AS DOUBLE)), (CAST(4.0 AS DOUBLE)), (CAST(5.0 AS DOUBLE)) tab(col)struct<(length(kll_sketch_to_string_double(kll_sketch_merge_double(kll_sketch_agg_double(col), kll_sketch_agg_double(col)))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchMergeFloatkll_sketch_merge_floatSELECT LENGTH(kll_sketch_to_string_float(kll_sketch_merge_float(kll_sketch_agg_float(col), kll_sketch_agg_float(col)))) > 0 FROM VALUES (CAST(1.0 AS FLOAT)), (CAST(2.0 AS FLOAT)), (CAST(3.0 AS FLOAT)), (CAST(4.0 AS FLOAT)), (CAST(5.0 AS FLOAT)) tab(col)struct<(length(kll_sketch_to_string_float(kll_sketch_merge_float(kll_sketch_agg_float(col), kll_sketch_agg_float(col)))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchToStringBigintkll_sketch_to_string_bigintSELECT LENGTH(kll_sketch_to_string_bigint(kll_sketch_agg_bigint(col))) > 0 FROM VALUES (1), (2), (3), (4), (5) tab(col)struct<(length(kll_sketch_to_string_bigint(kll_sketch_agg_bigint(col))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchToStringDoublekll_sketch_to_string_doubleSELECT LENGTH(kll_sketch_to_string_double(kll_sketch_agg_double(col))) > 0 FROM VALUES (CAST(1.0 AS DOUBLE)), (CAST(2.0 AS DOUBLE)), (CAST(3.0 AS DOUBLE)), (CAST(4.0 AS DOUBLE)), (CAST(5.0 AS DOUBLE)) tab(col)struct<(length(kll_sketch_to_string_double(kll_sketch_agg_double(col))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.KllSketchToStringFloatkll_sketch_to_string_floatSELECT LENGTH(kll_sketch_to_string_float(kll_sketch_agg_float(col))) > 0 FROM VALUES (CAST(1.0 AS FLOAT)), (CAST(2.0 AS FLOAT)), (CAST(3.0 AS FLOAT)), (CAST(4.0 AS FLOAT)), (CAST(5.0 AS FLOAT)) tab(col)struct<(length(kll_sketch_to_string_float(kll_sketch_agg_float(col))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.LPadExpressionBuilderlpadSELECT lpad(‘hi’, 5, ‘??’)struct<lpad(hi, 5, ??):string>
org.apache.spark.sql.catalyst.expressions.LaglagSELECT a, b, lag(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,lag(b, 1, NULL) OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST ROWS BETWEEN -1 FOLLOWING AND -1 FOLLOWING):int>
org.apache.spark.sql.catalyst.expressions.LastDaylast_daySELECT last_day(‘2009-01-12’)struct<last_day(2009-01-12):date>
org.apache.spark.sql.catalyst.expressions.LeadleadSELECT a, b, lead(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,lead(b, 1, NULL) OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING):int>
org.apache.spark.sql.catalyst.expressions.LeastleastSELECT least(10, 9, 2, 4, 3)struct<least(10, 9, 2, 4, 3):int>
org.apache.spark.sql.catalyst.expressions.LeftleftSELECT left(‘Spark SQL’, 3)struct<left(Spark SQL, 3):string>
org.apache.spark.sql.catalyst.expressions.Lengthchar_lengthSELECT char_length('Spark SQL ')struct<char_length(Spark SQL ):int>
org.apache.spark.sql.catalyst.expressions.Lengthcharacter_lengthSELECT character_length('Spark SQL ')struct<character_length(Spark SQL ):int>
org.apache.spark.sql.catalyst.expressions.LengthlenSELECT len('Spark SQL ')struct<len(Spark SQL ):int>
org.apache.spark.sql.catalyst.expressions.LengthlengthSELECT length('Spark SQL ')struct<length(Spark SQL ):int>
org.apache.spark.sql.catalyst.expressions.LengthOfJsonArrayjson_array_lengthSELECT json_array_length(‘[1,2,3,4]’)struct<json_array_length([1,2,3,4]):int>
org.apache.spark.sql.catalyst.expressions.LessThan<SELECT 1 < 2struct<(1 < 2):boolean>
org.apache.spark.sql.catalyst.expressions.LessThanOrEqual<=SELECT 2 <= 2struct<(2 <= 2):boolean>
org.apache.spark.sql.catalyst.expressions.LevenshteinlevenshteinSELECT levenshtein(‘kitten’, ‘sitting’)struct<levenshtein(kitten, sitting):int>
org.apache.spark.sql.catalyst.expressions.LikelikeSELECT like(‘Spark’, ‘_park’)struct
org.apache.spark.sql.catalyst.expressions.LocalTimestamplocaltimestampSELECT localtimestamp()struct<localtimestamp():timestamp_ntz>
org.apache.spark.sql.catalyst.expressions.LoglnSELECT ln(1)struct<ln(1):double>
org.apache.spark.sql.catalyst.expressions.Log10log10SELECT log10(10)struct<LOG10(10):double>
org.apache.spark.sql.catalyst.expressions.Log1plog1pSELECT log1p(0)struct<LOG1P(0):double>
org.apache.spark.sql.catalyst.expressions.Log2log2SELECT log2(2)struct<LOG2(2):double>
org.apache.spark.sql.catalyst.expressions.LogarithmlogSELECT log(10, 100)struct<LOG(10, 100):double>
org.apache.spark.sql.catalyst.expressions.LowerlcaseSELECT lcase(‘SparkSql’)struct<lcase(SparkSql):string>
org.apache.spark.sql.catalyst.expressions.LowerlowerSELECT lower(‘SparkSql’)struct<lower(SparkSql):string>
org.apache.spark.sql.catalyst.expressions.Luhncheckluhn_checkSELECT luhn_check(‘8112189876’)struct<luhn_check(8112189876):boolean>
org.apache.spark.sql.catalyst.expressions.MakeDTIntervalmake_dt_intervalSELECT make_dt_interval(1, 12, 30, 01.001001)struct<make_dt_interval(1, 12, 30, 1.001001):interval day to second>
org.apache.spark.sql.catalyst.expressions.MakeDatemake_dateSELECT make_date(2013, 7, 15)struct<make_date(2013, 7, 15):date>
org.apache.spark.sql.catalyst.expressions.MakeIntervalmake_intervalSELECT make_interval(100, 11, 1, 1, 12, 30, 01.001001)struct<make_interval(100, 11, 1, 1, 12, 30, 1.001001):interval>
org.apache.spark.sql.catalyst.expressions.MakeTimemake_timeSELECT make_time(6, 30, 45.887)struct<make_time(6, 30, 45.887):time(6)>
org.apache.spark.sql.catalyst.expressions.MakeTimestampExpressionBuildermake_timestampSELECT make_timestamp(2014, 12, 28, 6, 30, 45.887)struct<make_timestamp(2014, 12, 28, 6, 30, 45.887):timestamp>
org.apache.spark.sql.catalyst.expressions.MakeTimestampLTZExpressionBuildermake_timestamp_ltzSELECT make_timestamp_ltz(2014, 12, 28, 6, 30, 45.887)struct<make_timestamp_ltz(2014, 12, 28, 6, 30, 45.887):timestamp>
org.apache.spark.sql.catalyst.expressions.MakeTimestampNTZExpressionBuildermake_timestamp_ntzSELECT make_timestamp_ntz(2014, 12, 28, 6, 30, 45.887)struct<make_timestamp_ntz(2014, 12, 28, 6, 30, 45.887):timestamp_ntz>
org.apache.spark.sql.catalyst.expressions.MakeValidUTF8make_valid_utf8SELECT make_valid_utf8(‘Spark’)struct<make_valid_utf8(Spark):string>
org.apache.spark.sql.catalyst.expressions.MakeYMIntervalmake_ym_intervalSELECT make_ym_interval(1, 2)struct<make_ym_interval(1, 2):interval year to month>
org.apache.spark.sql.catalyst.expressions.MapConcatmap_concatSELECT map_concat(map(1, ‘a’, 2, ‘b’), map(3, ‘c’))struct<map_concat(map(1, a, 2, b), map(3, c)):map<int,string>>
org.apache.spark.sql.catalyst.expressions.MapContainsKeymap_contains_keySELECT map_contains_key(map(1, ‘a’, 2, ‘b’), 1)struct<map_contains_key(map(1, a, 2, b), 1):boolean>
org.apache.spark.sql.catalyst.expressions.MapEntriesmap_entriesSELECT map_entries(map(1, ‘a’, 2, ‘b’))struct<map_entries(map(1, a, 2, b)):array<structkey:int,value:string>>
org.apache.spark.sql.catalyst.expressions.MapFiltermap_filterSELECT map_filter(map(1, 0, 2, 2, 3, -1), (k, v) -> k > v)struct<map_filter(map(1, 0, 2, 2, 3, -1), lambdafunction((namedlambdavariable() > namedlambdavariable()), namedlambdavariable(), namedlambdavariable())):map<int,int>>
org.apache.spark.sql.catalyst.expressions.MapFromArraysmap_from_arraysSELECT map_from_arrays(array(1.0, 3.0), array(‘2’, ‘4’))struct<map_from_arrays(array(1.0, 3.0), array(2, 4)):map<decimal(2,1),string>>
org.apache.spark.sql.catalyst.expressions.MapFromEntriesmap_from_entriesSELECT map_from_entries(array(struct(1, ‘a’), struct(2, ‘b’)))struct<map_from_entries(array(struct(1, a), struct(2, b))):map<int,string>>
org.apache.spark.sql.catalyst.expressions.MapKeysmap_keysSELECT map_keys(map(1, ‘a’, 2, ‘b’))struct<map_keys(map(1, a, 2, b)):array>
org.apache.spark.sql.catalyst.expressions.MapValuesmap_valuesSELECT map_values(map(1, ‘a’, 2, ‘b’))struct<map_values(map(1, a, 2, b)):array>
org.apache.spark.sql.catalyst.expressions.MapZipWithmap_zip_withSELECT map_zip_with(map(1, ‘a’, 2, ‘b’), map(1, ‘x’, 2, ‘y’), (k, v1, v2) -> concat(v1, v2))struct<map_zip_with(map(1, a, 2, b), map(1, x, 2, y), lambdafunction(concat(namedlambdavariable(), namedlambdavariable()), namedlambdavariable(), namedlambdavariable(), namedlambdavariable())):map<int,string>>
org.apache.spark.sql.catalyst.expressions.MaskExpressionBuildermaskSELECT mask(‘abcd-EFGH-8765-4321’)struct<mask(abcd-EFGH-8765-4321, X, x, n, NULL):string>
org.apache.spark.sql.catalyst.expressions.Md5md5SELECT md5(‘Spark’)struct<md5(Spark):string>
org.apache.spark.sql.catalyst.expressions.MicrosToTimestamptimestamp_microsSELECT timestamp_micros(1230219000123123)struct<timestamp_micros(1230219000123123):timestamp>
org.apache.spark.sql.catalyst.expressions.MillisToTimestamptimestamp_millisSELECT timestamp_millis(1230219000123)struct<timestamp_millis(1230219000123):timestamp>
org.apache.spark.sql.catalyst.expressions.MinuteExpressionBuilderminuteSELECT minute(‘2009-07-30 12:58:59’)struct<minute(2009-07-30 12:58:59):int>
org.apache.spark.sql.catalyst.expressions.MonotonicallyIncreasingIDmonotonically_increasing_idSELECT monotonically_increasing_id()struct<monotonically_increasing_id():bigint>
org.apache.spark.sql.catalyst.expressions.MonthmonthSELECT month(‘2016-07-30’)struct<month(2016-07-30):int>
org.apache.spark.sql.catalyst.expressions.MonthNamemonthnameSELECT monthname(‘2008-02-20’)struct<monthname(2008-02-20):string>
org.apache.spark.sql.catalyst.expressions.MonthsBetweenmonths_betweenSELECT months_between(‘1997-02-28 10:30:00’, ‘1996-10-30’)struct<months_between(1997-02-28 10:30:00, 1996-10-30, true):double>
org.apache.spark.sql.catalyst.expressions.Multiply*SELECT 2 * 3struct<(2 * 3):int>
org.apache.spark.sql.catalyst.expressions.Murmur3HashhashSELECT hash(‘Spark’, array(123), 2)struct<hash(Spark, array(123), 2):int>
org.apache.spark.sql.catalyst.expressions.NTilentileSELECT a, b, ntile(2) OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,ntile(2) OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW):int>
org.apache.spark.sql.catalyst.expressions.NaNvlnanvlSELECT nanvl(cast(‘NaN’ as double), 123)struct<nanvl(CAST(NaN AS DOUBLE), 123):double>
org.apache.spark.sql.catalyst.expressions.NextDaynext_daySELECT next_day(‘2015-01-14’, ‘TU’)struct<next_day(2015-01-14, TU):date>
org.apache.spark.sql.catalyst.expressions.Not!SELECT ! truestruct<(NOT true):boolean>
org.apache.spark.sql.catalyst.expressions.NotnotSELECT not truestruct<(NOT true):boolean>
org.apache.spark.sql.catalyst.expressions.NownowSELECT now()struct<now():timestamp>
org.apache.spark.sql.catalyst.expressions.NthValuenth_valueSELECT a, b, nth_value(b, 2) OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,nth_value(b, 2) OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW):int>
org.apache.spark.sql.catalyst.expressions.NullIfnullifSELECT nullif(2, 2)struct<nullif(2, 2):int>
org.apache.spark.sql.catalyst.expressions.NullIfZeronullifzeroSELECT nullifzero(0)struct<nullifzero(0):int>
org.apache.spark.sql.catalyst.expressions.NvlifnullSELECT ifnull(NULL, array(‘2’))struct<ifnull(NULL, array(2)):array>
org.apache.spark.sql.catalyst.expressions.NvlnvlSELECT nvl(NULL, array(‘2’))struct<nvl(NULL, array(2)):array>
org.apache.spark.sql.catalyst.expressions.Nvl2nvl2SELECT nvl2(NULL, 2, 1)struct<nvl2(NULL, 2, 1):int>
org.apache.spark.sql.catalyst.expressions.OctetLengthoctet_lengthSELECT octet_length(‘Spark SQL’)struct<octet_length(Spark SQL):int>
org.apache.spark.sql.catalyst.expressions.OrorSELECT true or falsestruct<(true OR false):boolean>
org.apache.spark.sql.catalyst.expressions.OverlayoverlaySELECT overlay(‘Spark SQL’ PLACING ‘_’ FROM 6)struct<overlay(Spark SQL, _, 6, -1):string>
org.apache.spark.sql.catalyst.expressions.ParseToDateto_dateSELECT to_date(‘2009-07-30 04:17:52’)struct<to_date(2009-07-30 04:17:52):date>
org.apache.spark.sql.catalyst.expressions.ParseToTimestampto_timestampSELECT to_timestamp(‘2016-12-31 00:12:00’)struct<to_timestamp(2016-12-31 00:12:00):timestamp>
org.apache.spark.sql.catalyst.expressions.ParseToTimestampLTZExpressionBuilderto_timestamp_ltzSELECT to_timestamp_ltz(‘2016-12-31 00:12:00’)struct<to_timestamp_ltz(2016-12-31 00:12:00):timestamp>
org.apache.spark.sql.catalyst.expressions.ParseToTimestampNTZExpressionBuilderto_timestamp_ntzSELECT to_timestamp_ntz(‘2016-12-31 00:12:00’)struct<to_timestamp_ntz(2016-12-31 00:12:00):timestamp_ntz>
org.apache.spark.sql.catalyst.expressions.ParseUrlparse_urlSELECT parse_url(‘http://spark.apache.org/path?query=1’, ‘HOST’)struct<parse_url(http://spark.apache.org/path?query=1, HOST):string>
org.apache.spark.sql.catalyst.expressions.PercentRankpercent_rankSELECT a, b, percent_rank(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,PERCENT_RANK() OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW):double>
org.apache.spark.sql.catalyst.expressions.PipiSELECT pi()struct<PI():double>
org.apache.spark.sql.catalyst.expressions.PmodpmodSELECT pmod(10, 3)struct<pmod(10, 3):int>
org.apache.spark.sql.catalyst.expressions.PosExplodeExpressionBuilderposexplodeSELECT posexplode(array(10,20))structpos:int,col:int
org.apache.spark.sql.catalyst.expressions.PosExplodeExpressionBuilderposexplode_outerSELECT posexplode_outer(array(10,20))structpos:int,col:int
org.apache.spark.sql.catalyst.expressions.PowpowSELECT pow(2, 3)struct<pow(2, 3):double>
org.apache.spark.sql.catalyst.expressions.PowpowerSELECT power(2, 3)struct<POWER(2, 3):double>
org.apache.spark.sql.catalyst.expressions.QuarterquarterSELECT quarter(‘2016-08-31’)struct<quarter(2016-08-31):int>
org.apache.spark.sql.catalyst.expressions.QuotequoteSELECT quote(‘Don't’)struct<quote(Don't):string>
org.apache.spark.sql.catalyst.expressions.RLikeregexpSELECT regexp(‘%SystemDrive%\Users\John’, ‘%SystemDrive%\Users.*’)struct<REGEXP(%SystemDrive%UsersJohn, %SystemDrive%\Users.*):boolean>
org.apache.spark.sql.catalyst.expressions.RLikeregexp_likeSELECT regexp_like(‘%SystemDrive%\Users\John’, ‘%SystemDrive%\Users.*’)struct<REGEXP_LIKE(%SystemDrive%UsersJohn, %SystemDrive%\Users.*):boolean>
org.apache.spark.sql.catalyst.expressions.RLikerlikeSELECT rlike(‘%SystemDrive%\Users\John’, ‘%SystemDrive%\Users.*’)struct<RLIKE(%SystemDrive%UsersJohn, %SystemDrive%\Users.*):boolean>
org.apache.spark.sql.catalyst.expressions.RPadExpressionBuilderrpadSELECT rpad(‘hi’, 5, ‘??’)struct<rpad(hi, 5, ??):string>
org.apache.spark.sql.catalyst.expressions.RaiseErrorExpressionBuilderraise_errorSELECT raise_error(‘custom error message’)struct<raise_error(USER_RAISED_EXCEPTION, map(errorMessage, custom error message)):void>
org.apache.spark.sql.catalyst.expressions.RandrandSELECT rand()struct<rand():double>
org.apache.spark.sql.catalyst.expressions.RandrandomSELECT random()struct<rand():double>
org.apache.spark.sql.catalyst.expressions.RandStrrandstrSELECT randstr(3, 0) AS resultstructresult:string
org.apache.spark.sql.catalyst.expressions.RandnrandnSELECT randn()struct<randn():double>
org.apache.spark.sql.catalyst.expressions.RankrankSELECT a, b, rank(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,RANK() OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW):int>
org.apache.spark.sql.catalyst.expressions.RegExpCountregexp_countSELECT regexp_count(‘Steven Jones and Stephen Smith are the best players’, ‘Ste(v|ph)en’)struct<regexp_count(Steven Jones and Stephen Smith are the best players, Ste(v|ph)en):int>
org.apache.spark.sql.catalyst.expressions.RegExpExtractregexp_extractSELECT regexp_extract(‘100-200’, ‘(\d+)-(\d+)’, 1)struct<regexp_extract(100-200, (\d+)-(\d+), 1):string>
org.apache.spark.sql.catalyst.expressions.RegExpExtractAllregexp_extract_allSELECT regexp_extract_all(‘100-200, 300-400’, ‘(\d+)-(\d+)’, 1)struct<regexp_extract_all(100-200, 300-400, (\d+)-(\d+), 1):array>
org.apache.spark.sql.catalyst.expressions.RegExpInStrregexp_instrSELECT regexp_instr(r"\abc", r"^\abc$")struct<regexp_instr(\abc, ^\abc$, 0):int>
org.apache.spark.sql.catalyst.expressions.RegExpReplaceregexp_replaceSELECT regexp_replace(‘100-200’, ‘(\d+)’, ‘num’)struct<regexp_replace(100-200, (\d+), num, 1):string>
org.apache.spark.sql.catalyst.expressions.RegExpSubStrregexp_substrSELECT regexp_substr(‘Steven Jones and Stephen Smith are the best players’, ‘Ste(v|ph)en’)struct<regexp_substr(Steven Jones and Stephen Smith are the best players, Ste(v|ph)en):string>
org.apache.spark.sql.catalyst.expressions.Remainder%SELECT 2 % 1.8struct<(2 % 1.8):decimal(2,1)>
org.apache.spark.sql.catalyst.expressions.RemaindermodSELECT 2 % 1.8struct<(2 % 1.8):decimal(2,1)>
org.apache.spark.sql.catalyst.expressions.ReversereverseSELECT reverse(‘Spark SQL’)struct<reverse(Spark SQL):string>
org.apache.spark.sql.catalyst.expressions.RightrightSELECT right(‘Spark SQL’, 3)struct<right(Spark SQL, 3):string>
org.apache.spark.sql.catalyst.expressions.RintrintSELECT rint(12.3456)struct<rint(12.3456):double>
org.apache.spark.sql.catalyst.expressions.RoundroundSELECT round(2.5, 0)struct<round(2.5, 0):decimal(2,0)>
org.apache.spark.sql.catalyst.expressions.RowNumberrow_numberSELECT a, b, row_number() OVER (PARTITION BY a ORDER BY b) FROM VALUES (‘A1’, 2), (‘A1’, 1), (‘A2’, 3), (‘A1’, 1) tab(a, b)struct<a:string,b:int,row_number() OVER (PARTITION BY a ORDER BY b ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW):int>
org.apache.spark.sql.catalyst.expressions.SchemaOfCsvschema_of_csvSELECT schema_of_csv(‘1,abc’)struct<schema_of_csv(1,abc):string>
org.apache.spark.sql.catalyst.expressions.SchemaOfJsonschema_of_jsonSELECT schema_of_json(‘[{“col”:0}]’)struct<schema_of_json([{“col”:0}]):string>
org.apache.spark.sql.catalyst.expressions.SchemaOfXmlschema_of_xmlSELECT schema_of_xml(‘1’)struct<schema_of_xml(1):string>
org.apache.spark.sql.catalyst.expressions.SecsecSELECT sec(0)struct<SEC(0):double>
org.apache.spark.sql.catalyst.expressions.SecondExpressionBuildersecondSELECT second(‘2018-02-14 12:58:59’)struct<second(2018-02-14 12:58:59):int>
org.apache.spark.sql.catalyst.expressions.SecondsToTimestamptimestamp_secondsSELECT timestamp_seconds(1230219000)struct<timestamp_seconds(1230219000):timestamp>
org.apache.spark.sql.catalyst.expressions.SentencessentencesSELECT sentences(‘Hi there! Good morning.’)struct<sentences(Hi there! Good morning., , ):array<array>>
org.apache.spark.sql.catalyst.expressions.SequencesequenceSELECT sequence(1, 5)struct<sequence(1, 5):array>
org.apache.spark.sql.catalyst.expressions.SessionWindowsession_windowSELECT a, session_window.start, session_window.end, count(*) as cnt FROM VALUES (‘A1’, ‘2021-01-01 00:00:00’), (‘A1’, ‘2021-01-01 00:04:30’), (‘A1’, ‘2021-01-01 00:10:00’), (‘A2’, ‘2021-01-01 00:01:00’) AS tab(a, b) GROUP by a, session_window(b, ‘5 minutes’) ORDER BY a, startstruct<a:string,start:timestamp,end:timestamp,cnt:bigint>
org.apache.spark.sql.catalyst.expressions.Sha1shaSELECT sha(‘Spark’)struct<sha(Spark):string>
org.apache.spark.sql.catalyst.expressions.Sha1sha1SELECT sha1(‘Spark’)struct<sha1(Spark):string>
org.apache.spark.sql.catalyst.expressions.Sha2sha2SELECT sha2(‘Spark’, 256)struct<sha2(Spark, 256):string>
org.apache.spark.sql.catalyst.expressions.ShiftLeft<<SELECT shiftleft(2, 1)struct<shiftleft(2, 1):int>
org.apache.spark.sql.catalyst.expressions.ShiftLeftshiftleftSELECT shiftleft(2, 1)struct<shiftleft(2, 1):int>
org.apache.spark.sql.catalyst.expressions.ShiftRight>>SELECT shiftright(4, 1)struct<shiftright(4, 1):int>
org.apache.spark.sql.catalyst.expressions.ShiftRightshiftrightSELECT shiftright(4, 1)struct<shiftright(4, 1):int>
org.apache.spark.sql.catalyst.expressions.ShiftRightUnsigned>>>SELECT shiftrightunsigned(4, 1)struct<shiftrightunsigned(4, 1):int>
org.apache.spark.sql.catalyst.expressions.ShiftRightUnsignedshiftrightunsignedSELECT shiftrightunsigned(4, 1)struct<shiftrightunsigned(4, 1):int>
org.apache.spark.sql.catalyst.expressions.ShuffleshuffleSELECT shuffle(array(1, 20, 3, 5))struct<shuffle(array(1, 20, 3, 5)):array>
org.apache.spark.sql.catalyst.expressions.SignumsignSELECT sign(40)struct<sign(40):double>
org.apache.spark.sql.catalyst.expressions.SignumsignumSELECT signum(40)struct<SIGNUM(40):double>
org.apache.spark.sql.catalyst.expressions.SinsinSELECT sin(0)struct<SIN(0):double>
org.apache.spark.sql.catalyst.expressions.SinhsinhSELECT sinh(0)struct<SINH(0):double>
org.apache.spark.sql.catalyst.expressions.SizecardinalitySELECT cardinality(array(‘b’, ‘d’, ‘c’, ‘a’))struct<cardinality(array(b, d, c, a)):int>
org.apache.spark.sql.catalyst.expressions.SizesizeSELECT size(array(‘b’, ‘d’, ‘c’, ‘a’))struct<size(array(b, d, c, a)):int>
org.apache.spark.sql.catalyst.expressions.SlicesliceSELECT slice(array(1, 2, 3, 4), 2, 2)struct<slice(array(1, 2, 3, 4), 2, 2):array>
org.apache.spark.sql.catalyst.expressions.SortArraysort_arraySELECT sort_array(array(‘b’, ‘d’, null, ‘c’, ‘a’), true)struct<sort_array(array(b, d, NULL, c, a), true):array>
org.apache.spark.sql.catalyst.expressions.SoundExsoundexSELECT soundex(‘Miller’)struct<soundex(Miller):string>
org.apache.spark.sql.catalyst.expressions.SparkPartitionIDspark_partition_idSELECT spark_partition_id()struct<SPARK_PARTITION_ID():int>
org.apache.spark.sql.catalyst.expressions.SparkVersionversionSELECT version()struct<version():string>
org.apache.spark.sql.catalyst.expressions.SplitPartsplit_partSELECT split_part(‘11.12.13’, ‘.’, 3)struct<split_part(11.12.13, ., 3):string>
org.apache.spark.sql.catalyst.expressions.SqrtsqrtSELECT sqrt(4)struct<SQRT(4):double>
org.apache.spark.sql.catalyst.expressions.StackstackSELECT stack(2, 1, 2, 3)structcol0:int,col1:int
org.apache.spark.sql.catalyst.expressions.StartsWithExpressionBuilderstartswithSELECT startswith(‘Spark SQL’, ‘Spark’)struct<startswith(Spark SQL, Spark):boolean>
org.apache.spark.sql.catalyst.expressions.StringInstrinstrSELECT instr(‘SparkSQL’, ‘SQL’)struct<instr(SparkSQL, SQL):int>
org.apache.spark.sql.catalyst.expressions.StringLocatelocateSELECT locate(‘bar’, ‘foobarbar’)struct<locate(bar, foobarbar, 1):int>
org.apache.spark.sql.catalyst.expressions.StringLocatepositionSELECT position(‘bar’, ‘foobarbar’)struct<position(bar, foobarbar, 1):int>
org.apache.spark.sql.catalyst.expressions.StringRepeatrepeatSELECT repeat(‘123’, 2)struct<repeat(123, 2):string>
org.apache.spark.sql.catalyst.expressions.StringReplacereplaceSELECT replace(‘ABCabc’, ‘abc’, ‘DEF’)struct<replace(ABCabc, abc, DEF):string>
org.apache.spark.sql.catalyst.expressions.StringSpacespaceSELECT concat(space(2), ‘1’)struct<concat(space(2), 1):string>
org.apache.spark.sql.catalyst.expressions.StringSplitsplitSELECT split(‘oneAtwoBthreeC’, ‘[ABC]’)struct<split(oneAtwoBthreeC, [ABC], -1):array>
org.apache.spark.sql.catalyst.expressions.StringToMapstr_to_mapSELECT str_to_map(‘a:1,b:2,c:3’, ‘,’, ‘:’)struct<str_to_map(a:1,b:2,c:3, ,, :):map<string,string>>
org.apache.spark.sql.catalyst.expressions.StringTranslatetranslateSELECT translate(‘AaBbCc’, ‘abc’, ‘123’)struct<translate(AaBbCc, abc, 123):string>
org.apache.spark.sql.catalyst.expressions.StringTrimtrimSELECT trim(' SparkSQL ')struct<trim( SparkSQL ):string>
org.apache.spark.sql.catalyst.expressions.StringTrimBothbtrimSELECT btrim(' SparkSQL ')struct<btrim( SparkSQL ):string>
org.apache.spark.sql.catalyst.expressions.StringTrimLeftltrimSELECT ltrim(' SparkSQL ')struct<ltrim( SparkSQL ):string>
org.apache.spark.sql.catalyst.expressions.StringTrimRightrtrimSELECT rtrim(' SparkSQL ')struct<rtrim( SparkSQL ):string>
org.apache.spark.sql.catalyst.expressions.StructsToCsvto_csvSELECT to_csv(named_struct(‘a’, 1, ‘b’, 2))struct<to_csv(named_struct(a, 1, b, 2)):string>
org.apache.spark.sql.catalyst.expressions.StructsToJsonto_jsonSELECT to_json(named_struct(‘a’, 1, ‘b’, 2))struct<to_json(named_struct(a, 1, b, 2)):string>
org.apache.spark.sql.catalyst.expressions.StructsToXmlto_xmlSELECT to_xml(named_struct(‘a’, 1, ‘b’, 2))struct<to_xml(named_struct(a, 1, b, 2)):string>
org.apache.spark.sql.catalyst.expressions.SubstringsubstrSELECT substr(‘Spark SQL’, 5)struct<substr(Spark SQL, 5, 2147483647):string>
org.apache.spark.sql.catalyst.expressions.SubstringsubstringSELECT substring(‘Spark SQL’, 5)struct<substring(Spark SQL, 5, 2147483647):string>
org.apache.spark.sql.catalyst.expressions.SubstringIndexsubstring_indexSELECT substring_index(‘www.apache.org’, ‘.’, 2)struct<substring_index(www.apache.org, ., 2):string>
org.apache.spark.sql.catalyst.expressions.Subtract-SELECT 2 - 1struct<(2 - 1):int>
org.apache.spark.sql.catalyst.expressions.TantanSELECT tan(0)struct<TAN(0):double>
org.apache.spark.sql.catalyst.expressions.TanhtanhSELECT tanh(0)struct<TANH(0):double>
org.apache.spark.sql.catalyst.expressions.ThetaDifferencetheta_differenceSELECT theta_sketch_estimate(theta_difference(theta_sketch_agg(col1), theta_sketch_agg(col2))) FROM VALUES (5, 4), (1, 4), (2, 5), (2, 5), (3, 1) tab(col1, col2)struct<theta_sketch_estimate(theta_difference(theta_sketch_agg(col1, 12), theta_sketch_agg(col2, 12))):bigint>
org.apache.spark.sql.catalyst.expressions.ThetaIntersectiontheta_intersectionSELECT theta_sketch_estimate(theta_intersection(theta_sketch_agg(col1), theta_sketch_agg(col2))) FROM VALUES (5, 4), (1, 4), (2, 5), (2, 5), (3, 1) tab(col1, col2)struct<theta_sketch_estimate(theta_intersection(theta_sketch_agg(col1, 12), theta_sketch_agg(col2, 12))):bigint>
org.apache.spark.sql.catalyst.expressions.ThetaSketchEstimatetheta_sketch_estimateSELECT theta_sketch_estimate(theta_sketch_agg(col)) FROM VALUES (1), (1), (2), (2), (3) tab(col)struct<theta_sketch_estimate(theta_sketch_agg(col, 12)):bigint>
org.apache.spark.sql.catalyst.expressions.ThetaUniontheta_unionSELECT theta_sketch_estimate(theta_union(theta_sketch_agg(col1), theta_sketch_agg(col2))) FROM VALUES (1, 4), (1, 4), (2, 5), (2, 5), (3, 6) tab(col1, col2)struct<theta_sketch_estimate(theta_union(theta_sketch_agg(col1, 12), theta_sketch_agg(col2, 12), 12)):bigint>
org.apache.spark.sql.catalyst.expressions.TimeDifftime_diffSELECT time_diff(‘HOUR’, TIME‘20:30:29’, TIME‘21:30:28’)struct<time_diff(HOUR, TIME ‘20:30:29’, TIME ‘21:30:28’):bigint>
org.apache.spark.sql.catalyst.expressions.TimeTrunctime_truncSELECT time_trunc(‘HOUR’, TIME‘09:32:05.359’)struct<time_trunc(HOUR, TIME ‘09:32:05.359’):time(6)>
org.apache.spark.sql.catalyst.expressions.TimeWindowwindowSELECT a, window.start, window.end, count(*) as cnt FROM VALUES (‘A1’, ‘2021-01-01 00:00:00’), (‘A1’, ‘2021-01-01 00:04:30’), (‘A1’, ‘2021-01-01 00:06:00’), (‘A2’, ‘2021-01-01 00:01:00’) AS tab(a, b) GROUP by a, window(b, ‘5 minutes’) ORDER BY a, startstruct<a:string,start:timestamp,end:timestamp,cnt:bigint>
org.apache.spark.sql.catalyst.expressions.ToBinaryto_binarySELECT to_binary(‘abc’, ‘utf-8’)struct<to_binary(abc, utf-8):binary>
org.apache.spark.sql.catalyst.expressions.ToCharacterBuilderto_charSELECT to_char(454, ‘999’)struct<to_char(454, 999):string>
org.apache.spark.sql.catalyst.expressions.ToCharacterBuilderto_varcharSELECT to_varchar(454, ‘999’)struct<to_char(454, 999):string>
org.apache.spark.sql.catalyst.expressions.ToDegreesdegreesSELECT degrees(3.141592653589793)struct<DEGREES(3.141592653589793):double>
org.apache.spark.sql.catalyst.expressions.ToNumberto_numberSELECT to_number(‘454’, ‘999’)struct<to_number(454, 999):decimal(3,0)>
org.apache.spark.sql.catalyst.expressions.ToRadiansradiansSELECT radians(180)struct<RADIANS(180):double>
org.apache.spark.sql.catalyst.expressions.ToTimeto_timeSELECT to_time(‘00:12:00’)struct<to_time(00:12:00):time(6)>
org.apache.spark.sql.catalyst.expressions.ToUTCTimestampto_utc_timestampSELECT to_utc_timestamp(‘2016-08-31’, ‘Asia/Seoul’)struct<to_utc_timestamp(2016-08-31, Asia/Seoul):timestamp>
org.apache.spark.sql.catalyst.expressions.ToUnixTimestampto_unix_timestampSELECT to_unix_timestamp(‘2016-04-08’, ‘yyyy-MM-dd’)struct<to_unix_timestamp(2016-04-08, yyyy-MM-dd):bigint>
org.apache.spark.sql.catalyst.expressions.TransformKeystransform_keysSELECT transform_keys(map_from_arrays(array(1, 2, 3), array(1, 2, 3)), (k, v) -> k + 1)struct<transform_keys(map_from_arrays(array(1, 2, 3), array(1, 2, 3)), lambdafunction((namedlambdavariable() + 1), namedlambdavariable(), namedlambdavariable())):map<int,int>>
org.apache.spark.sql.catalyst.expressions.TransformValuestransform_valuesSELECT transform_values(map_from_arrays(array(1, 2, 3), array(1, 2, 3)), (k, v) -> v + 1)struct<transform_values(map_from_arrays(array(1, 2, 3), array(1, 2, 3)), lambdafunction((namedlambdavariable() + 1), namedlambdavariable(), namedlambdavariable())):map<int,int>>
org.apache.spark.sql.catalyst.expressions.TruncDatetruncSELECT trunc(‘2019-08-04’, ‘week’)struct<trunc(2019-08-04, week):date>
org.apache.spark.sql.catalyst.expressions.TruncTimestampdate_truncSELECT date_trunc(‘YEAR’, ‘2015-03-05T09:32:05.359’)struct<date_trunc(YEAR, 2015-03-05T09:32:05.359):timestamp>
org.apache.spark.sql.catalyst.expressions.TryAddtry_addSELECT try_add(1, 2)struct<try_add(1, 2):int>
org.apache.spark.sql.catalyst.expressions.TryAesDecrypttry_aes_decryptSELECT try_aes_decrypt(unhex(‘6E7CA17BBB468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210’), ‘0000111122223333’, ‘GCM’)struct<try_aes_decrypt(unhex(6E7CA17BBB468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210), 0000111122223333, GCM, DEFAULT, ):binary>
org.apache.spark.sql.catalyst.expressions.TryDividetry_divideSELECT try_divide(3, 2)struct<try_divide(3, 2):double>
org.apache.spark.sql.catalyst.expressions.TryElementAttry_element_atSELECT try_element_at(array(1, 2, 3), 2)struct<try_element_at(array(1, 2, 3), 2):int>
org.apache.spark.sql.catalyst.expressions.TryMakeIntervaltry_make_intervalSELECT try_make_interval(100, 11, 1, 1, 12, 30, 01.001001)struct<try_make_interval(100, 11, 1, 1, 12, 30, 1.001001):interval>
org.apache.spark.sql.catalyst.expressions.TryMakeTimestampExpressionBuildertry_make_timestampSELECT try_make_timestamp(2014, 12, 28, 6, 30, 45.887)struct<try_make_timestamp(2014, 12, 28, 6, 30, 45.887):timestamp>
org.apache.spark.sql.catalyst.expressions.TryMakeTimestampLTZExpressionBuildertry_make_timestamp_ltzSELECT try_make_timestamp_ltz(2014, 12, 28, 6, 30, 45.887)struct<try_make_timestamp_ltz(2014, 12, 28, 6, 30, 45.887):timestamp>
org.apache.spark.sql.catalyst.expressions.TryMakeTimestampNTZExpressionBuildertry_make_timestamp_ntzSELECT try_make_timestamp_ntz(2014, 12, 28, 6, 30, 45.887)struct<try_make_timestamp_ntz(2014, 12, 28, 6, 30, 45.887):timestamp_ntz>
org.apache.spark.sql.catalyst.expressions.TryModtry_modSELECT try_mod(3, 2)struct<try_mod(3, 2):int>
org.apache.spark.sql.catalyst.expressions.TryMultiplytry_multiplySELECT try_multiply(2, 3)struct<try_multiply(2, 3):int>
org.apache.spark.sql.catalyst.expressions.TryParseUrltry_parse_urlSELECT try_parse_url(‘http://spark.apache.org/path?query=1’, ‘HOST’)struct<try_parse_url(http://spark.apache.org/path?query=1, HOST):string>
org.apache.spark.sql.catalyst.expressions.TryReflecttry_reflectSELECT try_reflect(‘java.util.UUID’, ‘randomUUID’)struct<try_reflect(java.util.UUID, randomUUID):string>
org.apache.spark.sql.catalyst.expressions.TrySubtracttry_subtractSELECT try_subtract(2, 1)struct<try_subtract(2, 1):int>
org.apache.spark.sql.catalyst.expressions.TryToBinarytry_to_binarySELECT try_to_binary(‘abc’, ‘utf-8’)struct<try_to_binary(abc, utf-8):binary>
org.apache.spark.sql.catalyst.expressions.TryToDateExpressionBuildertry_to_dateSELECT try_to_date(‘2016-12-31’)struct<try_to_date(2016-12-31):date>
org.apache.spark.sql.catalyst.expressions.TryToNumbertry_to_numberSELECT try_to_number(‘454’, ‘999’)struct<try_to_number(454, 999):decimal(3,0)>
org.apache.spark.sql.catalyst.expressions.TryToTimeExpressionBuildertry_to_timeSELECT try_to_time(‘00:12:00.001’)struct<try_to_time(to_time(00:12:00.001)):time(6)>
org.apache.spark.sql.catalyst.expressions.TryToTimestampExpressionBuildertry_to_timestampSELECT try_to_timestamp(‘2016-12-31 00:12:00’)struct<try_to_timestamp(2016-12-31 00:12:00):timestamp>
org.apache.spark.sql.catalyst.expressions.TryUrlDecodetry_url_decodeSELECT try_url_decode(‘https%3A%2F%2Fspark.apache.org’)struct<try_url_decode(https%3A%2F%2Fspark.apache.org):string>
org.apache.spark.sql.catalyst.expressions.TryValidateUTF8try_validate_utf8SELECT try_validate_utf8(‘Spark’)struct<try_validate_utf8(Spark):string>
org.apache.spark.sql.catalyst.expressions.TypeOftypeofSELECT typeof(1)struct<typeof(1):string>
org.apache.spark.sql.catalyst.expressions.UnBase64unbase64SELECT unbase64(‘U3BhcmsgU1FM’)struct<unbase64(U3BhcmsgU1FM):binary>
org.apache.spark.sql.catalyst.expressions.UnaryMinusnegativeSELECT negative(1)struct<negative(1):int>
org.apache.spark.sql.catalyst.expressions.UnaryPositivepositiveSELECT positive(1)struct<(+ 1):int>
org.apache.spark.sql.catalyst.expressions.UnhexunhexSELECT decode(unhex(‘537061726B2053514C’), ‘UTF-8’)struct<decode(unhex(537061726B2053514C), UTF-8):string>
org.apache.spark.sql.catalyst.expressions.UniformuniformSELECT uniform(10, 20, 0) > 0 AS resultstructresult:boolean
org.apache.spark.sql.catalyst.expressions.UnixDateunix_dateSELECT unix_date(DATE(“1970-01-02”))struct<unix_date(1970-01-02):int>
org.apache.spark.sql.catalyst.expressions.UnixMicrosunix_microsSELECT unix_micros(TIMESTAMP(‘1970-01-01 00:00:01Z’))struct<unix_micros(1970-01-01 00:00:01Z):bigint>
org.apache.spark.sql.catalyst.expressions.UnixMillisunix_millisSELECT unix_millis(TIMESTAMP(‘1970-01-01 00:00:01Z’))struct<unix_millis(1970-01-01 00:00:01Z):bigint>
org.apache.spark.sql.catalyst.expressions.UnixSecondsunix_secondsSELECT unix_seconds(TIMESTAMP(‘1970-01-01 00:00:01Z’))struct<unix_seconds(1970-01-01 00:00:01Z):bigint>
org.apache.spark.sql.catalyst.expressions.UnixTimestampunix_timestampSELECT unix_timestamp()struct<unix_timestamp(current_timestamp(), yyyy-MM-dd HH:mm:ss):bigint>
org.apache.spark.sql.catalyst.expressions.UpperucaseSELECT ucase(‘SparkSql’)struct<ucase(SparkSql):string>
org.apache.spark.sql.catalyst.expressions.UpperupperSELECT upper(‘SparkSql’)struct<upper(SparkSql):string>
org.apache.spark.sql.catalyst.expressions.UrlDecodeurl_decodeSELECT url_decode(‘https%3A%2F%2Fspark.apache.org’)struct<url_decode(https%3A%2F%2Fspark.apache.org):string>
org.apache.spark.sql.catalyst.expressions.UrlEncodeurl_encodeSELECT url_encode(‘https://spark.apache.org’)struct<url_encode(https://spark.apache.org):string>
org.apache.spark.sql.catalyst.expressions.UuiduuidSELECT uuid()struct<uuid():string>
org.apache.spark.sql.catalyst.expressions.ValidateUTF8validate_utf8SELECT validate_utf8(‘Spark’)struct<validate_utf8(Spark):string>
org.apache.spark.sql.catalyst.expressions.WeekDayweekdaySELECT weekday(‘2009-07-30’)struct<weekday(2009-07-30):int>
org.apache.spark.sql.catalyst.expressions.WeekOfYearweekofyearSELECT weekofyear(‘2008-02-20’)struct<weekofyear(2008-02-20):int>
org.apache.spark.sql.catalyst.expressions.WidthBucketwidth_bucketSELECT width_bucket(5.3, 0.2, 10.6, 5)struct<width_bucket(5.3, 0.2, 10.6, 5):bigint>
org.apache.spark.sql.catalyst.expressions.WindowTimewindow_timeSELECT a, window.start as start, window.end as end, window_time(window), cnt FROM (SELECT a, window, count(*) as cnt FROM VALUES (‘A1’, ‘2021-01-01 00:00:00’), (‘A1’, ‘2021-01-01 00:04:30’), (‘A1’, ‘2021-01-01 00:06:00’), (‘A2’, ‘2021-01-01 00:01:00’) AS tab(a, b) GROUP by a, window(b, ‘5 minutes’) ORDER BY a, window.start)struct<a:string,start:timestamp,end:timestamp,window_time(window):timestamp,cnt:bigint>
org.apache.spark.sql.catalyst.expressions.XmlToStructsfrom_xmlSELECT from_xml(‘10.8’, ‘a INT, b DOUBLE’)struct<from_xml(10.8):struct<a:int,b:double>>
org.apache.spark.sql.catalyst.expressions.XxHash64xxhash64SELECT xxhash64(‘Spark’, array(123), 2)struct<xxhash64(Spark, array(123), 2):bigint>
org.apache.spark.sql.catalyst.expressions.YearyearSELECT year(‘2016-07-30’)struct<year(2016-07-30):int>
org.apache.spark.sql.catalyst.expressions.ZeroIfNullzeroifnullSELECT zeroifnull(NULL)struct<zeroifnull(NULL):int>
org.apache.spark.sql.catalyst.expressions.ZipWithzip_withSELECT zip_with(array(1, 2, 3), array(‘a’, ‘b’, ‘c’), (x, y) -> (y, x))struct<zip_with(array(1, 2, 3), array(a, b, c), lambdafunction(named_struct(y, namedlambdavariable(), x, namedlambdavariable()), namedlambdavariable(), namedlambdavariable())):array<struct<y:string,x:int>>>
org.apache.spark.sql.catalyst.expressions.aggregate.AnyValueany_valueSELECT any_value(col) FROM VALUES (10), (5), (20) AS tab(col)struct<any_value(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.ApproxTopKapprox_top_kSELECT approx_top_k(expr) FROM VALUES (0), (0), (1), (1), (2), (3), (4), (4) AS tab(expr)struct<approx_top_k(expr, 5, 10000):array<structitem:int,count:bigint>>
org.apache.spark.sql.catalyst.expressions.aggregate.ApproxTopKAccumulateapprox_top_k_accumulateSELECT approx_top_k_estimate(approx_top_k_accumulate(expr)) FROM VALUES (0), (0), (1), (1), (2), (3), (4), (4) AS tab(expr)struct<approx_top_k_estimate(approx_top_k_accumulate(expr, 10000), 5):array<structitem:int,count:bigint>>
org.apache.spark.sql.catalyst.expressions.aggregate.ApproxTopKCombineapprox_top_k_combineSELECT approx_top_k_estimate(approx_top_k_combine(sketch, 10000), 5) FROM (SELECT approx_top_k_accumulate(expr) AS sketch FROM VALUES (0), (0), (1), (1) AS tab(expr) UNION ALL SELECT approx_top_k_accumulate(expr) AS sketch FROM VALUES (2), (3), (4), (4) AS tab(expr))struct<approx_top_k_estimate(approx_top_k_combine(sketch, 10000), 5):array<structitem:int,count:bigint>>
org.apache.spark.sql.catalyst.expressions.aggregate.ApproximatePercentileapprox_percentileSELECT approx_percentile(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col)struct<approx_percentile(col, array(0.5, 0.4, 0.1), 100):array>
org.apache.spark.sql.catalyst.expressions.aggregate.ApproximatePercentilepercentile_approxSELECT percentile_approx(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col)struct<percentile_approx(col, array(0.5, 0.4, 0.1), 100):array>
org.apache.spark.sql.catalyst.expressions.aggregate.AverageavgSELECT avg(col) FROM VALUES (1), (2), (3) AS tab(col)struct<avg(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.AveragemeanSELECT mean(col) FROM VALUES (1), (2), (3) AS tab(col)struct<mean(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.BitAndAggbit_andSELECT bit_and(col) FROM VALUES (3), (5) AS tab(col)struct<bit_and(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.BitOrAggbit_orSELECT bit_or(col) FROM VALUES (3), (5) AS tab(col)struct<bit_or(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.BitXorAggbit_xorSELECT bit_xor(col) FROM VALUES (3), (5) AS tab(col)struct<bit_xor(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.BoolAndbool_andSELECT bool_and(col) FROM VALUES (true), (true), (true) AS tab(col)struct<bool_and(col):boolean>
org.apache.spark.sql.catalyst.expressions.aggregate.BoolAndeverySELECT every(col) FROM VALUES (true), (true), (true) AS tab(col)struct<every(col):boolean>
org.apache.spark.sql.catalyst.expressions.aggregate.BoolOranySELECT any(col) FROM VALUES (true), (false), (false) AS tab(col)struct<any(col):boolean>
org.apache.spark.sql.catalyst.expressions.aggregate.BoolOrbool_orSELECT bool_or(col) FROM VALUES (true), (false), (false) AS tab(col)struct<bool_or(col):boolean>
org.apache.spark.sql.catalyst.expressions.aggregate.BoolOrsomeSELECT some(col) FROM VALUES (true), (false), (false) AS tab(col)struct<some(col):boolean>
org.apache.spark.sql.catalyst.expressions.aggregate.CollectListarray_aggSELECT array_agg(col) FROM VALUES (1), (2), (1) AS tab(col)struct<collect_list(col):array>
org.apache.spark.sql.catalyst.expressions.aggregate.CollectListcollect_listSELECT collect_list(col) FROM VALUES (1), (2), (1) AS tab(col)struct<collect_list(col):array>
org.apache.spark.sql.catalyst.expressions.aggregate.CollectSetcollect_setSELECT collect_set(col) FROM VALUES (1), (2), (1) AS tab(col)struct<collect_set(col):array>
org.apache.spark.sql.catalyst.expressions.aggregate.CorrcorrSELECT corr(c1, c2) FROM VALUES (3, 2), (3, 3), (6, 4) as tab(c1, c2)struct<corr(c1, c2):double>
org.apache.spark.sql.catalyst.expressions.aggregate.CountcountSELECT count(*) FROM VALUES (NULL), (5), (5), (20) AS tab(col)struct<count(1):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.CountIfcount_ifSELECT count_if(col % 2 = 0) FROM VALUES (NULL), (0), (1), (2), (3) AS tab(col)struct<count_if(((col % 2) = 0)):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.CountMinSketchAggExpressionBuildercount_min_sketchSELECT hex(count_min_sketch(col, 0.5d, 0.5d, 1)) FROM VALUES (1), (2), (1) AS tab(col)struct<hex(count_min_sketch(col, 0.5, 0.5, 1)):string>
org.apache.spark.sql.catalyst.expressions.aggregate.CovPopulationcovar_popSELECT covar_pop(c1, c2) FROM VALUES (1,1), (2,2), (3,3) AS tab(c1, c2)struct<covar_pop(c1, c2):double>
org.apache.spark.sql.catalyst.expressions.aggregate.CovSamplecovar_sampSELECT covar_samp(c1, c2) FROM VALUES (1,1), (2,2), (3,3) AS tab(c1, c2)struct<covar_samp(c1, c2):double>
org.apache.spark.sql.catalyst.expressions.aggregate.FirstfirstSELECT first(col) FROM VALUES (10), (5), (20) AS tab(col)struct<first(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.Firstfirst_valueSELECT first_value(col) FROM VALUES (10), (5), (20) AS tab(col)struct<first_value(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.HistogramNumerichistogram_numericSELECT histogram_numeric(col, 5) FROM VALUES (0), (1), (2), (10) AS tab(col)struct<histogram_numeric(col, 5):array<struct<x:int,y:double>>>
org.apache.spark.sql.catalyst.expressions.aggregate.HllSketchAgghll_sketch_aggSELECT hll_sketch_estimate(hll_sketch_agg(col, 12)) FROM VALUES (1), (1), (2), (2), (3) tab(col)struct<hll_sketch_estimate(hll_sketch_agg(col, 12)):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.HllUnionAgghll_union_aggSELECT hll_sketch_estimate(hll_union_agg(sketch, true)) FROM (SELECT hll_sketch_agg(col) as sketch FROM VALUES (1) tab(col) UNION ALL SELECT hll_sketch_agg(col, 20) as sketch FROM VALUES (1) tab(col))struct<hll_sketch_estimate(hll_union_agg(sketch, true)):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.HyperLogLogPlusPlusapprox_count_distinctSELECT approx_count_distinct(col1) FROM VALUES (1), (1), (2), (2), (3) tab(col1)struct<approx_count_distinct(col1):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.KllSketchAggBigintkll_sketch_agg_bigintSELECT LENGTH(kll_sketch_to_string_bigint(kll_sketch_agg_bigint(col))) > 0 FROM VALUES (1), (2), (3), (4), (5) tab(col)struct<(length(kll_sketch_to_string_bigint(kll_sketch_agg_bigint(col))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.aggregate.KllSketchAggDoublekll_sketch_agg_doubleSELECT LENGTH(kll_sketch_to_string_double(kll_sketch_agg_double(col))) > 0 FROM VALUES (CAST(1.0 AS DOUBLE)), (CAST(2.0 AS DOUBLE)), (CAST(3.0 AS DOUBLE)), (CAST(4.0 AS DOUBLE)), (CAST(5.0 AS DOUBLE)) tab(col)struct<(length(kll_sketch_to_string_double(kll_sketch_agg_double(col))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.aggregate.KllSketchAggFloatkll_sketch_agg_floatSELECT LENGTH(kll_sketch_to_string_float(kll_sketch_agg_float(col))) > 0 FROM VALUES (CAST(1.0 AS FLOAT)), (CAST(2.0 AS FLOAT)), (CAST(3.0 AS FLOAT)), (CAST(4.0 AS FLOAT)), (CAST(5.0 AS FLOAT)) tab(col)struct<(length(kll_sketch_to_string_float(kll_sketch_agg_float(col))) > 0):boolean>
org.apache.spark.sql.catalyst.expressions.aggregate.KurtosiskurtosisSELECT kurtosis(col) FROM VALUES (-10), (-20), (100), (1000) AS tab(col)struct<kurtosis(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.LastlastSELECT last(col) FROM VALUES (10), (5), (20) AS tab(col)struct<last(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.Lastlast_valueSELECT last_value(col) FROM VALUES (10), (5), (20) AS tab(col)struct<last_value(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.ListAgglistaggSELECT listagg(col) FROM VALUES (‘a’), (‘b’), (‘c’) AS tab(col)struct<listagg(col, NULL):string>
org.apache.spark.sql.catalyst.expressions.aggregate.ListAggstring_aggSELECT string_agg(col) FROM VALUES (‘a’), (‘b’), (‘c’) AS tab(col)struct<string_agg(col, NULL):string>
org.apache.spark.sql.catalyst.expressions.aggregate.MaxmaxSELECT max(col) FROM VALUES (10), (50), (20) AS tab(col)struct<max(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.MaxBymax_bySELECT max_by(x, y) FROM VALUES (‘a’, 10), (‘b’, 50), (‘c’, 20) AS tab(x, y)struct<max_by(x, y):string>
org.apache.spark.sql.catalyst.expressions.aggregate.MedianmedianSELECT median(col) FROM VALUES (0), (10) AS tab(col)struct<median(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.MinminSELECT min(col) FROM VALUES (10), (-1), (20) AS tab(col)struct<min(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.MinBymin_bySELECT min_by(x, y) FROM VALUES (‘a’, 10), (‘b’, 50), (‘c’, 20) AS tab(x, y)struct<min_by(x, y):string>
org.apache.spark.sql.catalyst.expressions.aggregate.ModeBuildermodeSELECT mode(col) FROM VALUES (0), (10), (10) AS tab(col)struct<mode(col):int>
org.apache.spark.sql.catalyst.expressions.aggregate.PercentilepercentileSELECT percentile(col, 0.3) FROM VALUES (0), (10) AS tab(col)struct<percentile(col, 0.3, 1):double>
org.apache.spark.sql.catalyst.expressions.aggregate.PercentileContBuilderpercentile_contSELECT percentile_cont(0.25) WITHIN GROUP (ORDER BY col) FROM VALUES (0), (10) AS tab(col)struct<percentile_cont(0.25) WITHIN GROUP (ORDER BY col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.PercentileDiscBuilderpercentile_discSELECT percentile_disc(0.25) WITHIN GROUP (ORDER BY col) FROM VALUES (0), (10) AS tab(col)struct<percentile_disc(0.25) WITHIN GROUP (ORDER BY col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrAvgXregr_avgxSELECT regr_avgx(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x)struct<regr_avgx(y, x):double>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrAvgYregr_avgySELECT regr_avgy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x)struct<regr_avgy(y, x):double>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrCountregr_countSELECT regr_count(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x)struct<regr_count(y, x):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrInterceptregr_interceptSELECT regr_intercept(y, x) FROM VALUES (1, 1), (2, 2), (3, 3), (4, 4) AS tab(y, x)struct<regr_intercept(y, x):double>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrR2regr_r2SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x)struct<regr_r2(y, x):double>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrSXXregr_sxxSELECT regr_sxx(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x)struct<regr_sxx(y, x):double>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrSXYregr_sxySELECT regr_sxy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x)struct<regr_sxy(y, x):double>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrSYYregr_syySELECT regr_syy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x)struct<regr_syy(y, x):double>
org.apache.spark.sql.catalyst.expressions.aggregate.RegrSloperegr_slopeSELECT regr_slope(y, x) FROM VALUES (1, 1), (2, 2), (3, 3), (4, 4) AS tab(y, x)struct<regr_slope(y, x):double>
org.apache.spark.sql.catalyst.expressions.aggregate.SkewnessskewnessSELECT skewness(col) FROM VALUES (-10), (-20), (100), (1000) AS tab(col)struct<skewness(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.StddevPopstddev_popSELECT stddev_pop(col) FROM VALUES (1), (2), (3) AS tab(col)struct<stddev_pop(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.StddevSampstdSELECT std(col) FROM VALUES (1), (2), (3) AS tab(col)struct<std(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.StddevSampstddevSELECT stddev(col) FROM VALUES (1), (2), (3) AS tab(col)struct<stddev(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.StddevSampstddev_sampSELECT stddev_samp(col) FROM VALUES (1), (2), (3) AS tab(col)struct<stddev_samp(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.SumsumSELECT sum(col) FROM VALUES (5), (10), (15) AS tab(col)struct<sum(col):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.ThetaIntersectionAggtheta_intersection_aggSELECT theta_sketch_estimate(theta_intersection_agg(sketch)) FROM (SELECT theta_sketch_agg(col) as sketch FROM VALUES (1) tab(col) UNION ALL SELECT theta_sketch_agg(col, 20) as sketch FROM VALUES (1) tab(col))struct<theta_sketch_estimate(theta_intersection_agg(sketch)):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.ThetaSketchAggtheta_sketch_aggSELECT theta_sketch_estimate(theta_sketch_agg(col, 12)) FROM VALUES (1), (1), (2), (2), (3) tab(col)struct<theta_sketch_estimate(theta_sketch_agg(col, 12)):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.ThetaUnionAggtheta_union_aggSELECT theta_sketch_estimate(theta_union_agg(sketch)) FROM (SELECT theta_sketch_agg(col) as sketch FROM VALUES (1) tab(col) UNION ALL SELECT theta_sketch_agg(col, 20) as sketch FROM VALUES (1) tab(col))struct<theta_sketch_estimate(theta_union_agg(sketch, 12)):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.TryAverageExpressionBuildertry_avgSELECT try_avg(col) FROM VALUES (1), (2), (3) AS tab(col)struct<try_avg(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.TrySumExpressionBuildertry_sumSELECT try_sum(col) FROM VALUES (5), (10), (15) AS tab(col)struct<try_sum(col):bigint>
org.apache.spark.sql.catalyst.expressions.aggregate.VariancePopvar_popSELECT var_pop(col) FROM VALUES (1), (2), (3) AS tab(col)struct<var_pop(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.VarianceSampvar_sampSELECT var_samp(col) FROM VALUES (1), (2), (3) AS tab(col)struct<var_samp(col):double>
org.apache.spark.sql.catalyst.expressions.aggregate.VarianceSampvarianceSELECT variance(col) FROM VALUES (1), (2), (3) AS tab(col)struct<variance(col):double>
org.apache.spark.sql.catalyst.expressions.st.ST_AsBinaryst_asbinarySELECT hex(st_asbinary(st_geogfromwkb(X‘0101000000000000000000F03F0000000000000040’)))struct<hex(st_asbinary(st_geogfromwkb(X‘0101000000000000000000F03F0000000000000040’))):string>
org.apache.spark.sql.catalyst.expressions.st.ST_GeogFromWKBst_geogfromwkbSELECT hex(st_asbinary(st_geogfromwkb(X‘0101000000000000000000F03F0000000000000040’)))struct<hex(st_asbinary(st_geogfromwkb(X‘0101000000000000000000F03F0000000000000040’))):string>
org.apache.spark.sql.catalyst.expressions.st.ST_GeomFromWKBst_geomfromwkbSELECT hex(st_asbinary(st_geomfromwkb(X‘0101000000000000000000F03F0000000000000040’)))struct<hex(st_asbinary(st_geomfromwkb(X‘0101000000000000000000F03F0000000000000040’))):string>
org.apache.spark.sql.catalyst.expressions.st.ST_SetSridst_setsridSELECT st_srid(st_setsrid(ST_GeogFromWKB(X‘0101000000000000000000F03F0000000000000040’), 4326))struct<st_srid(st_setsrid(st_geogfromwkb(X‘0101000000000000000000F03F0000000000000040’), 4326)):int>
org.apache.spark.sql.catalyst.expressions.st.ST_Sridst_sridSELECT st_srid(st_geogfromwkb(X‘0101000000000000000000F03F0000000000000040’))struct<st_srid(st_geogfromwkb(X‘0101000000000000000000F03F0000000000000040’)):int>
org.apache.spark.sql.catalyst.expressions.variant.IsVariantNullis_variant_nullSELECT is_variant_null(parse_json(‘null’))struct<is_variant_null(parse_json(null)):boolean>
org.apache.spark.sql.catalyst.expressions.variant.ParseJsonExpressionBuilderparse_jsonSELECT parse_json(‘{“a”:1,“b”:0.8}’)struct<parse_json({“a”:1,“b”:0.8}):variant>
org.apache.spark.sql.catalyst.expressions.variant.SchemaOfVariantschema_of_variantSELECT schema_of_variant(parse_json(‘null’))struct<schema_of_variant(parse_json(null)):string>
org.apache.spark.sql.catalyst.expressions.variant.SchemaOfVariantAggschema_of_variant_aggSELECT schema_of_variant_agg(parse_json(j)) FROM VALUES (‘1’), (‘2’), (‘3’) AS tab(j)struct<schema_of_variant_agg(parse_json(j)):string>
org.apache.spark.sql.catalyst.expressions.variant.ToVariantObjectto_variant_objectSELECT to_variant_object(named_struct(‘a’, 1, ‘b’, 2))struct<to_variant_object(named_struct(a, 1, b, 2)):variant>
org.apache.spark.sql.catalyst.expressions.variant.TryParseJsonExpressionBuildertry_parse_jsonSELECT try_parse_json(‘{“a”:1,“b”:0.8}’)struct<try_parse_json({“a”:1,“b”:0.8}):variant>
org.apache.spark.sql.catalyst.expressions.variant.TryVariantGetExpressionBuildertry_variant_getSELECT try_variant_get(parse_json(‘{“a”: 1}’), ‘$.a’, ‘int’)struct<try_variant_get(parse_json({“a”: 1}), $.a):int>
org.apache.spark.sql.catalyst.expressions.variant.VariantGetExpressionBuildervariant_getSELECT variant_get(parse_json(‘{“a”: 1}’), ‘$.a’, ‘int’)struct<variant_get(parse_json({“a”: 1}), $.a):int>
org.apache.spark.sql.catalyst.expressions.xml.XPathBooleanxpath_booleanSELECT xpath_boolean(‘1’,‘a/b’)struct<xpath_boolean(1, a/b):boolean>
org.apache.spark.sql.catalyst.expressions.xml.XPathDoublexpath_doubleSELECT xpath_double(‘12’, ‘sum(a/b)’)struct<xpath_double(12, sum(a/b)):double>
org.apache.spark.sql.catalyst.expressions.xml.XPathDoublexpath_numberSELECT xpath_number(‘12’, ‘sum(a/b)’)struct<xpath_number(12, sum(a/b)):double>
org.apache.spark.sql.catalyst.expressions.xml.XPathFloatxpath_floatSELECT xpath_float(‘12’, ‘sum(a/b)’)struct<xpath_float(12, sum(a/b)):float>
org.apache.spark.sql.catalyst.expressions.xml.XPathIntxpath_intSELECT xpath_int(‘12’, ‘sum(a/b)’)struct<xpath_int(12, sum(a/b)):int>
org.apache.spark.sql.catalyst.expressions.xml.XPathListxpathSELECT xpath(‘b1b2b3c1c2’,‘a/b/text()’)struct<xpath(b1b2b3c1c2, a/b/text()):array>
org.apache.spark.sql.catalyst.expressions.xml.XPathLongxpath_longSELECT xpath_long(‘12’, ‘sum(a/b)’)struct<xpath_long(12, sum(a/b)):bigint>
org.apache.spark.sql.catalyst.expressions.xml.XPathShortxpath_shortSELECT xpath_short(‘12’, ‘sum(a/b)’)struct<xpath_short(12, sum(a/b)):smallint>
org.apache.spark.sql.catalyst.expressions.xml.XPathStringxpath_stringSELECT xpath_string(‘bcc’,‘a/c’)struct<xpath_string(bcc, a/c):string>