ABCDEFGHIJKLMNOPQRSTUVWXYZAAABAC
1
twUDF nameUDF classmerge to hivemall?Rename as..ReasonImplementationcomment
2
3
collect/arrayappend_arraybrickhouse.udf.collect.AppendArrayUDFYarray_appenduse "array_" for the prefix of array functions to avoid conflictshttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/AppendArrayUDF.java
4
collect/arrayarray_indexbrickhouse.udf.collect.ArrayIndexUDFYelement_atnot returning index but it returns an elementhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/ArrayIndexUDF.java
5
collect/arrayarray_unionbrickhouse.udf.collect.ArrayUnionUDFY-https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/ArrayUnionUDF.java
6
collect/arrayfirst_indexbrickhouse.udf.collect.FirstIndexUDFYfirst_elementnot returning index but returns the first elementhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/FirstIndexUDF.java
7
collect/arraylast_indexbrickhouse.udf.collect.LastIndexUDFYlast_elementnot returning index but returns the last elementhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/LastIndexUDF.java
8
collect/arrayintersect_arraybrickhouse.udf.collect.ArrayIntersectUDFNhivemall already have array_intersecthttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/ArrayIntersectUDF.java
9
collect/arrayarray_flattenbrickhouse.udf.collect.ArrayFlattenUDFY-https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/ArrayFlattenUDF.java
10
collectcollectbrickhouse.udf.collect.CollectUDAFY-can be expressed in collect_list in Hive and to_map<k,v> in Hivemallhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/CollectUDAF.java
11
collectcollect_distinctbrickhouse.udf.collect.CollectDistinctUDAFNduplicate to collect_set of Hivehttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/CollectDistinctUDAF.java
12
collectcollect_maxbrickhouse.udf.collect.CollectMaxUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/CollectMaxUDAF.java
13
collectcollect_merge_maxbrickhouse.udf.collect.CollectMergeMaxUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/CollectMergeMaxUDAF.java
14
collectcast_arraybrickhouse.udf.collect.CastArrayUDFNtry_cast in Hivemall is a better alternativehttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/CastArrayUDF.java
15
collectcast_mapbrickhouse.udf.collect.CastMapUDFNtry_cast in Hivemall is a better alternativehttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/CastMapUDF.java
16
collectcombinebrickhouse.udf.collect.CombineUDFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/CombineUDF.java
17
collectcombine_uniquebrickhouse.udf.collect.CombineUniqueUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/CombineUniqueUDAF.java
18
collectconditional_emitbrickhouse.udf.collect.ConditionalEmitYhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/ConditionalEmit
19
collect/arrayjoin_arraybrickhouse.udf.collect.JoinArrayUDFYarray_to_strhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/JoinArrayUDF.java
20
collect/mapmap_filter_keysbrickhouse.udf.collect.MapFilterKeysUDFYmap_include_keyshttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/MapFilterKeysUDF.java
21
collect/mapmap_indexbrickhouse.udf.collect.MapIndexUDFYResolved in Hive 0.14https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/MapIndexUDF.java
22
collect/mapmap_key_valuesbrickhouse.udf.collect.MapKeyValuesUDFYexplode(map('A',10,'B',20,'C',30)) is enough?https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/MapKeyValuesUDF.java
23
collectmhash3brickhouse.udf.collect.MurmurHash3UDFNHivemall already have murmurhash functions with the same functionalityhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/MurmurHash3UDF.java
24
collectmhash3arraybrickhouse.udf.collect.MurmurHash3ArrayUDFNHivemall already have murmurhash functions with the same functionalityhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/MurmurHash3ArrayUDF.java
25
collectmultiday_countbrickhouse.udf.collect.MultiDayCounterUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/MultiDayCounterUDAF.java
26
collectnumeric_rangebrickhouse.udf.collect.NumericRangeNHivemall already has generate_series https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/NumericRange.java
27
collectset_differencebrickhouse.udf.collect.SetDifferenceUDF-Not for nowhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/SetDifferenceUDF.java
28
collecttruncate_arraybrickhouse.udf.collect.TruncateArrayUDFNarray_slice is a better alternativehttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/TruncateArrayUDF.java
29
collectunion_maxbrickhouse.udf.collect.UnionMaxUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/UnionMaxUDAF.java
30
collectunion_mapbrickhouse.udf.collect.UnionUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/UnionUDAF.java
31
collectsessionizebrickhouse.udf.collect.SessionizeUDFYadd with some modificationshttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/SessionizeUDF.java
32
collectgroup_countbrickhouse.udf.collect.GroupCountUDFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/GroupCountUDF.java
33
collectgroup_firstbrickhouse.udf.collect.FirstOfGroupUDAFto_ordered_list with top/tail1 is enoughhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/collect/FirstOfGroupUDAF.java
34
35
jsonjson_mapbrickhouse.udf.json.JsonMapUDFNhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/json/JsonMapUDF.java
36
jsonjson_splitbrickhouse.udf.json.JsonSplitUDFNhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/json/JsonSplitUDF.java
37
jsonto_jsonbrickhouse.udf.json.ToJsonUDFY-introduced Hive-based one instead of the original brickhouse impl. https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/json/ToJsonUDF.java
38
jsonfrom_jsonbrickhouse.udf.json.FromJsonUDFY-introduced Hive-based one instead of the original brickhouse impl. https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/json/FromJsonUDF.java
39
jsonto_camel_casebrickhouse.udf.json.ConvertToCamelCaseUDFNhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/json/ConvertToCamelCaseUDF.java
40
jsonfrom_camel_casebrickhouse.udf.json.ConvertFromCamelCaseUDFN
https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/json/ConvertFromCamelCaseUDF.java
41
42
dcachedistributed_mapbrickhouse.udf.dcache.DistributedMapUDFNduplicate to `distcache_gets` of Hivemallhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/dcache/DistributedMapUDF.java
43
44
sanityassertbrickhouse.udf.sanity.AssertUDFY-https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sanity/AssertUDF.java
45
sanityassert_equalsbrickhouse.udf.sanity.AssertEqualsUDFNassert is enoughhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sanity/AssertEqualsUDF.java
46
sanityassert_less_thanbrickhouse.udf.sanity.AssertLessThanUDFNassert is enoughhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sanity/AssertLessThanUDF.java
47
sanitythrow_errorbrickhouse.udf.sanity.ThrowErrorUDFYraise_errorhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sanity/ThrowErrorUDF.java
48
sanitywrite_to_graphitebrickhouse.udf.sanity.WriteToGraphiteUDFNoverspec for hivemallhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sanity/WriteToGraphiteUDF.java
49
sanitywrite_to_tsdbbrickhouse.udf.sanity.WriteToTSDBUDFNoverspec for hivemallhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sanity/WriteToTSDBUDF.java
50
51
sketchcombine_previous_sketch
brickhouse.udf.sketch.CombinePreviousSketchUDF
https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/CombinePreviousSketchUDF.java
52
sketchcombine_sketchbrickhouse.udf.sketch.CombineSketchUDFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/CombineSketchUDF.java
53
sketchconvert_to_sketchbrickhouse.udf.sketch.ConvertToSketchUDFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/ConvertToSketchUDF.java
54
sketchestimated_reachbrickhouse.udf.sketch.EstimatedReachUDFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/EstimatedReachUDF.java
55
sketchmd5brickhouse.udf.sketch.Md5NNot need since md5 is supported from Hive 1.3.0https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/Md5.java
56
sketchhash_md5brickhouse.udf.sketch.HashMD5UDF?https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/HashMD5UDF.javareturns first 64 bits of 128 bits md5 hash in long
57
sketchset_similaritybrickhouse.udf.sketch.SetSimilarityUDFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/SetSimilarityUDF.java
58
sketchsketch_setbrickhouse.udf.sketch.SketchSetUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/SketchSetUDAF.java
59
sketchsketch_hashesbrickhouse.udf.sketch.SketchHashesUDFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/SketchHashesUDF.java
60
sketchunion_sketchbrickhouse.udf.sketch.UnionSketchSetUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/UnionSketchSetUDAF.java
61
sketchmultiday_countbrickhouse.udf.sketch.MultiDaySketcherUDAFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/sketch/MultiDaySketcherUDAF.java
62
63
timeseriesmoving_avgbrickhouse.udf.timeseries.MovingAvgUDFYUDF is not scalable. Revise to UDTF? select moving_avg(price) as avg from ticker order by timehttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/timeseries/MovingAvgUDF.java
64
arraysum_arraybrickhouse.udf.timeseries.SumArrayUDFtoo niche functionhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/timeseries/SumArrayUDF.java
65
vectorvector_addbrickhouse.udf.timeseries.VectorAddUDFYonly suppors Vector operation. Map operations are ignored.https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/timeseries/VectorAddUDF.java
66
vectorvector_scalar_multbrickhouse.udf.timeseries.VectorMultUDFYmerged into VectorDotUDF. only suppors Vector operation. Map operations are ignored.https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/timeseries/VectorMultUDF.java
67
vectorvector_cross_productbrickhouse.udf.timeseries.VectorCrossProductUDF
https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/timeseries/VectorCrossProductUDF.java
68
vectorvector_dot_productbrickhouse.udf.timeseries.VectorDotProductUDFYmerged into VectorDotUDF. only suppors Vector operation. Map operations are ignored.
https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/timeseries/VectorDotProductUDF.java
69
vectorvector_magnitudebrickhouse.udf.timeseries.VectorMagnitudeUDF
https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/timeseries/VectorMagnitudeUDF.java
70
vectorunion_vector_sumbrickhouse.udf.timeseries.VectorUnionSumUDAF
https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/timeseries/VectorUnionSumUDAF.java
71
72
bloombloombrickhouse.udf.bloom.BloomUDAFYhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/bloom/BloomUDAF.java
73
bloomdistributed_bloombrickhouse.udf.bloom.DistributedBloomUDFNdepending on distributed cachehttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/bloom/DistributedBloomUDF.java
74
bloombloom_containsbrickhouse.udf.bloom.BloomContainsUDFYhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/bloom/BloomContainsUDF.java
75
bloombloom_andbrickhouse.udf.bloom.BloomAndUDFYhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/bloom/BloomAndUDF.java
76
bloombloom_orbrickhouse.udf.bloom.BloomOrUDFYhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/bloom/BloomOrUDF.java
77
bloombloom_notbrickhouse.udf.bloom.BloomNotUDFYhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/bloom/BloomNotUDF.java
78
79
dateadd_daysbrickhouse.udf.date.AddDaysUDFNdate_add is supported since Hive 2.1.0https://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/date/AddDaysUDF.java
80
datedate_rangebrickhouse.udf.date.DateRangeUDTFNtoo niche function. Not easy to usehttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/date/DateRangeUDTF
81
dateadd_iso_periodbrickhouse.udf.date.AddISOPeriodUDFhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/date/AddISOPeriodUDF.java
82
83
hbasehbase_balanced_keybrickhouse.hbase.GenerateBalancedKeyUDFNHaving dependencies to HBase is too heavyhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/hbase/GenerateBalancedKeyUDF.java
84
hbasehbase_batch_putbrickhouse.hbase.BatchPutUDAFNHaving dependencies to HBase is too heavyhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/hbase/BatchPutUDAF.java
85
hbasehbase_batch_getbrickhouse.hbase.BatchGetUDFNHaving dependencies to HBase is too heavyhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/hbase/BatchGetUDF.java
86
hbasehbase_cached_getbrickhouse.hbase.CachedGetUDFNHaving dependencies to HBase is too heavyhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/hbase/CachedGetUDF.java
87
hbasehbase_getbrickhouse.hbase.GetUDFNHaving dependencies to HBase is too heavyhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/hbase/GetUDF.java
88
hbasehbase_putbrickhouse.hbase.PutUDFNHaving dependencies to HBase is too heavyhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/hbase/PutUDF.java
89
hbasesalted_bigint_keybrickhouse.hbase.SaltedBigIntUDFNHaving dependencies to HBase is too heavyhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/hbase/SaltedBigIntUDF.java
90
hbasesalted_bigintbrickhouse.hbase.SaltedBigIntUDFNHaving dependencies to HBase is too heavyhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/hbase/SaltedBigIntUDF.java
91
92
hllhyperloglogbrickhouse.udf.hll.HyperLogLogUDAFNHivemall already support HLLhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/hll/HyperLogLogUDAF.java
93
hllunion_hyperloglogbrickhouse.udf.hll.UnionHyperLogLogUDAFNHivemall already support HLLhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/hll/UnionHyperLogLogUDAF.java
94
hllcombine_hyperloglogbrickhouse.udf.hll.CombineHyperLogLogUDFNHivemall already support HLLhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/hll/CombineHyperLogLogUDF.java
95
hllhll_est_cardinalitybrickhouse.udf.hll.EstimateCardinalityUDFNHivemall already support HLLhttps://github.com/klout/brickhouse/blob/master/src/main/java/brickhouse/udf/hll/EstimateCardinalityUDF.java
96
97
98
99
100