Index: ql/src/test/results/clientpositive/udaf_percentile_approx.q.out =================================================================== --- ql/src/test/results/clientpositive/udaf_percentile_approx.q.out (revision 1444271) +++ ql/src/test/results/clientpositive/udaf_percentile_approx.q.out (working copy) @@ -1,220 +1,293 @@ +PREHOOK: query: create table src_sort like src +PREHOOK: type: CREATETABLE +POSTHOOK: query: create table src_sort like src +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@src_sort +PREHOOK: query: insert overwrite table src_sort select * from src order by key desc +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: default@src_sort +POSTHOOK: query: insert overwrite table src_sort select * from src order by key desc +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: default@src_sort +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: -- disable map-side aggregation -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5) FROM src +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### POSTHOOK: query: -- disable map-side aggregation -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5) FROM src +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 255.5 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 100) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 100) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 100) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 100) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -252.77777777777777 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 1000) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +254.08333333333331 +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 1000) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 1000) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 1000) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 255.5 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 255.5 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 100) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 100) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 100) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 100) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -252.77777777777777 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 1000) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +254.08333333333331 +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 1000) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 1000) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 1000) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 255.5 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] [26.0,255.5,479.0,491.0] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -[24.07,252.77777777777777,476.9444444444444,487.82] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[23.355555555555554,254.08333333333331,476.56122448979596,489.1428571428571] +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] [26.0,255.5,479.0,491.0] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] [26.0,255.5,479.0,491.0] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -[24.07,252.77777777777777,476.9444444444444,487.82] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[23.355555555555554,254.08333333333331,476.56122448979596,489.1428571428571] +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] [26.0,255.5,479.0,491.0] PREHOOK: query: -- enable map-side aggregation -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5) FROM src +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### POSTHOOK: query: -- enable map-side aggregation -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5) FROM src +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 255.5 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 100) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 100) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 100) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 100) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -252.77777777777777 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 1000) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +254.08333333333331 +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 1000) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 1000) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 1000) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 255.5 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 255.5 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 100) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 100) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 100) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 100) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -252.77777777777777 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 1000) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +254.08333333333331 +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 1000) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 1000) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 1000) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 255.5 -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] [26.0,255.5,479.0,491.0] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -[24.07,252.77777777777777,476.9444444444444,487.82] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[23.355555555555554,254.08333333333331,476.56122448979596,489.1428571428571] +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] [26.0,255.5,479.0,491.0] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] [26.0,255.5,479.0,491.0] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -[24.07,252.77777777777777,476.9444444444444,487.82] -PREHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[23.355555555555554,254.08333333333331,476.56122448979596,489.1428571428571] +PREHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src +POSTHOOK: query: SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] [26.0,255.5,479.0,491.0] +PREHOOK: query: drop table src_sort +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@src_sort +PREHOOK: Output: default@src_sort +POSTHOOK: query: drop table src_sort +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@src_sort +POSTHOOK: Output: default@src_sort +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] Index: ql/src/test/results/clientpositive/udaf_histogram_numeric.q.out =================================================================== --- ql/src/test/results/clientpositive/udaf_histogram_numeric.q.out (revision 1444271) +++ ql/src/test/results/clientpositive/udaf_histogram_numeric.q.out (working copy) @@ -1,36 +1,113 @@ -PREHOOK: query: SELECT histogram_numeric(cast(substr(src.value,5) AS double), 2) FROM src +PREHOOK: query: create table src_sort like src +PREHOOK: type: CREATETABLE +POSTHOOK: query: create table src_sort like src +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@src_sort +PREHOOK: query: insert overwrite table src_sort select * from src order by key desc PREHOOK: type: QUERY PREHOOK: Input: default@src -#### A masked pattern was here #### -POSTHOOK: query: SELECT histogram_numeric(cast(substr(src.value,5) AS double), 2) FROM src +PREHOOK: Output: default@src_sort +POSTHOOK: query: insert overwrite table src_sort select * from src order by key desc POSTHOOK: type: QUERY POSTHOOK: Input: default@src +POSTHOOK: Output: default@src_sort +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +PREHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 2) FROM src_sort +PREHOOK: type: QUERY +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -[{"x":135.0284552845532,"y":246.0},{"x":381.39370078740143,"y":254.0}] -PREHOOK: query: SELECT histogram_numeric(cast(substr(src.value,5) AS double), 3) FROM src +POSTHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 2) FROM src_sort +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[{"x":115.41176470588243,"y":204.0},{"x":359.95608108108115,"y":296.0}] +PREHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 3) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT histogram_numeric(cast(substr(src.value,5) AS double), 3) FROM src +POSTHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 3) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -[{"x":96.7349397590361,"y":166.0},{"x":257.14970059880255,"y":167.0},{"x":425.6826347305388,"y":167.0}] -PREHOOK: query: SELECT histogram_numeric(cast(substr(src.value,5) AS double), 20) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[{"x":78.74436090225564,"y":133.0},{"x":255.20888888888902,"y":225.0},{"x":438.0000000000003,"y":142.0}] +PREHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 20) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT histogram_numeric(cast(substr(src.value,5) AS double), 20) FROM src +POSTHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 20) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -[{"x":9.761904761904763,"y":21.0},{"x":33.84210526315789,"y":19.0},{"x":62.75000000000001,"y":20.0},{"x":90.90322580645162,"y":31.0},{"x":122.91666666666667,"y":24.0},{"x":146.33333333333334,"y":21.0},{"x":170.70967741935485,"y":31.0},{"x":194.3571428571428,"y":28.0},{"x":214.84615384615384,"y":26.0},{"x":235.08695652173907,"y":23.0},{"x":257.80000000000007,"y":15.0},{"x":281.0333333333333,"y":30.0},{"x":298.0,"y":1.0},{"x":313.0000000000001,"y":29.0},{"x":339.5925925925926,"y":27.0},{"x":372.49999999999983,"y":24.0},{"x":402.23684210526324,"y":38.0},{"x":430.6896551724138,"y":29.0},{"x":462.32352941176464,"y":34.0},{"x":487.72413793103453,"y":29.0}] -PREHOOK: query: SELECT histogram_numeric(cast(substr(src.value,5) AS double), 200) FROM src +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[{"x":9.761904761904761,"y":21.0},{"x":34.500000000000014,"y":20.0},{"x":63.578947368421055,"y":19.0},{"x":88.42307692307692,"y":26.0},{"x":112.88235294117649,"y":17.0},{"x":138.9677419354839,"y":31.0},{"x":170.29411764705884,"y":34.0},{"x":197.91666666666666,"y":36.0},{"x":223.1428571428572,"y":28.0},{"x":245.95238095238102,"y":21.0},{"x":270.64705882352933,"y":17.0},{"x":287.2608695652173,"y":23.0},{"x":320.33333333333326,"y":39.0},{"x":347.4000000000001,"y":15.0},{"x":369.5294117647059,"y":17.0},{"x":386.2222222222222,"y":9.0},{"x":403.1714285714286,"y":35.0},{"x":429.1153846153845,"y":26.0},{"x":460.4722222222223,"y":36.0},{"x":487.2999999999999,"y":30.0}] +PREHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 200) FROM src_sort PREHOOK: type: QUERY -PREHOOK: Input: default@src +PREHOOK: Input: default@src_sort #### A masked pattern was here #### -POSTHOOK: query: SELECT histogram_numeric(cast(substr(src.value,5) AS double), 200) FROM src +POSTHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 200) FROM src_sort POSTHOOK: type: QUERY -POSTHOOK: Input: default@src +POSTHOOK: Input: default@src_sort #### A masked pattern was here #### -[{"x":0.0,"y":3.0},{"x":2.0,"y":1.0},{"x":4.75,"y":4.0},{"x":8.0,"y":1.0},{"x":9.5,"y":2.0},{"x":11.666666666666666,"y":3.0},{"x":15.0,"y":2.0},{"x":17.666666666666664,"y":3.0},{"x":19.5,"y":2.0},{"x":24.0,"y":2.0},{"x":26.333333333333336,"y":3.0},{"x":28.0,"y":1.0},{"x":30.0,"y":1.0},{"x":33.0,"y":1.0},{"x":34.75,"y":4.0},{"x":37.0,"y":2.0},{"x":41.666666666666664,"y":3.0},{"x":43.5,"y":2.0},{"x":47.0,"y":1.0},{"x":51.0,"y":2.0},{"x":53.5,"y":2.0},{"x":57.666666666666664,"y":3.0},{"x":64.5,"y":2.0},{"x":66.66666666666666,"y":3.0},{"x":69.75,"y":4.0},{"x":72.0,"y":2.0},{"x":74.0,"y":1.0},{"x":76.33333333333333,"y":3.0},{"x":78.0,"y":1.0},{"x":80.0,"y":1.0},{"x":82.0,"y":1.0},{"x":83.5,"y":4.0},{"x":85.5,"y":2.0},{"x":87.0,"y":1.0},{"x":90.0,"y":3.0},{"x":92.0,"y":1.0},{"x":95.33333333333333,"y":3.0},{"x":97.5,"y":4.0},{"x":100.0,"y":2.0},{"x":103.5,"y":4.0},{"x":105.0,"y":1.0},{"x":111.0,"y":1.0},{"x":113.33333333333333,"y":3.0},{"x":116.0,"y":1.0},{"x":118.0,"y":2.0},{"x":119.4,"y":5.0},{"x":125.33333333333333,"y":3.0},{"x":128.4,"y":5.0},{"x":131.0,"y":1.0},{"x":133.66666666666666,"y":3.0},{"x":136.66666666666666,"y":3.0},{"x":138.0,"y":4.0},{"x":143.0,"y":1.0},{"x":145.66666666666666,"y":3.0},{"x":149.33333333333331,"y":3.0},{"x":152.33333333333334,"y":3.0},{"x":155.5,"y":2.0},{"x":157.5,"y":2.0},{"x":160.0,"y":1.0},{"x":162.5,"y":2.0},{"x":164.5,"y":4.0},{"x":166.75,"y":4.0},{"x":168.8,"y":5.0},{"x":170.0,"y":1.0},{"x":172.0,"y":2.0},{"x":174.5,"y":4.0},{"x":176.33333333333331,"y":3.0},{"x":178.0,"y":1.0},{"x":179.33333333333331,"y":3.0},{"x":181.0,"y":1.0},{"x":183.0,"y":1.0},{"x":186.75,"y":4.0},{"x":189.0,"y":1.0},{"x":190.66666666666666,"y":3.0},{"x":192.75,"y":4.0},{"x":194.0,"y":1.0},{"x":195.33333333333331,"y":3.0},{"x":197.0,"y":2.0},{"x":199.4,"y":5.0},{"x":201.0,"y":1.0},{"x":202.66666666666669,"y":3.0},{"x":205.0,"y":2.0},{"x":207.0,"y":2.0},{"x":208.40000000000003,"y":5.0},{"x":213.33333333333331,"y":3.0},{"x":216.0,"y":2.0},{"x":217.33333333333331,"y":3.0},{"x":219.0,"y":2.0},{"x":221.33333333333331,"y":3.0},{"x":223.5,"y":4.0},{"x":226.0,"y":1.0},{"x":228.66666666666663,"y":3.0},{"x":230.0,"y":5.0},{"x":233.0,"y":2.0},{"x":235.0,"y":1.0},{"x":237.5,"y":4.0},{"x":239.0,"y":2.0},{"x":241.66666666666669,"y":3.0},{"x":244.0,"y":1.0},{"x":247.5,"y":2.0},{"x":249.0,"y":1.0},{"x":252.0,"y":1.0},{"x":255.5,"y":4.0},{"x":257.5,"y":2.0},{"x":260.0,"y":1.0},{"x":262.5,"y":2.0},{"x":265.3333333333333,"y":3.0},{"x":272.6,"y":5.0},{"x":274.5,"y":2.0},{"x":277.3333333333333,"y":6.0},{"x":280.0,"y":2.0},{"x":281.5,"y":4.0},{"x":283.5,"y":2.0},{"x":285.0,"y":1.0},{"x":286.5,"y":2.0},{"x":288.3333333333333,"y":3.0},{"x":291.5,"y":2.0},{"x":296.0,"y":1.0},{"x":298.0,"y":3.0},{"x":302.0,"y":1.0},{"x":305.5,"y":2.0},{"x":307.3333333333333,"y":3.0},{"x":309.0,"y":2.0},{"x":310.75,"y":4.0},{"x":315.75,"y":4.0},{"x":317.6,"y":5.0},{"x":321.5,"y":4.0},{"x":323.0,"y":1.0},{"x":325.0,"y":2.0},{"x":327.0,"y":3.0},{"x":331.3333333333333,"y":3.0},{"x":333.0,"y":2.0},{"x":335.5,"y":2.0},{"x":338.5,"y":2.0},{"x":341.66666666666663,"y":3.0},{"x":344.3333333333333,"y":3.0},{"x":348.0,"y":5.0},{"x":351.0,"y":1.0},{"x":353.0,"y":2.0},{"x":356.0,"y":1.0},{"x":360.0,"y":1.0},{"x":362.0,"y":1.0},{"x":364.5,"y":2.0},{"x":366.66666666666663,"y":3.0},{"x":368.75,"y":4.0},{"x":373.5,"y":2.0},{"x":375.0,"y":1.0},{"x":377.5,"y":2.0},{"x":379.0,"y":1.0},{"x":382.0,"y":2.0},{"x":384.0,"y":3.0},{"x":386.0,"y":1.0},{"x":389.0,"y":1.0},{"x":392.0,"y":1.0},{"x":393.5,"y":2.0},{"x":395.6,"y":5.0},{"x":397.0,"y":2.0},{"x":399.0,"y":2.0},{"x":400.0,"y":1.0},{"x":401.16666666666663,"y":6.0},{"x":403.40000000000003,"y":5.0},{"x":406.20000000000005,"y":5.0},{"x":409.0,"y":3.0},{"x":411.0,"y":1.0},{"x":413.5,"y":4.0},{"x":417.0,"y":3.0},{"x":418.5,"y":2.0},{"x":421.0,"y":1.0},{"x":424.0,"y":2.0},{"x":427.0,"y":1.0},{"x":429.6,"y":5.0},{"x":431.25,"y":4.0},{"x":435.5,"y":2.0},{"x":437.75,"y":4.0},{"x":439.0,"y":2.0},{"x":443.5,"y":2.0},{"x":446.0,"y":1.0},{"x":448.5,"y":2.0},{"x":452.5,"y":2.0},{"x":454.24999999999994,"y":4.0},{"x":457.66666666666663,"y":3.0},{"x":459.33333333333337,"y":3.0},{"x":462.5,"y":4.0},{"x":466.0,"y":3.0},{"x":467.80000000000007,"y":5.0},{"x":469.16666666666663,"y":6.0},{"x":472.0,"y":1.0},{"x":475.0,"y":1.0},{"x":477.0,"y":1.0},{"x":478.33333333333326,"y":3.0},{"x":480.25,"y":4.0},{"x":482.5,"y":2.0},{"x":484.5,"y":2.0},{"x":487.0,"y":1.0},{"x":489.2,"y":5.0},{"x":491.66666666666663,"y":3.0},{"x":493.0,"y":1.0},{"x":494.5,"y":2.0},{"x":496.0,"y":1.0},{"x":497.75,"y":4.0}] +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[{"x":0.0,"y":3.0},{"x":2.0,"y":1.0},{"x":4.75,"y":4.0},{"x":8.5,"y":2.0},{"x":10.0,"y":1.0},{"x":11.666666666666666,"y":3.0},{"x":15.0,"y":2.0},{"x":17.666666666666664,"y":3.0},{"x":19.5,"y":2.0},{"x":24.0,"y":2.0},{"x":26.333333333333332,"y":3.0},{"x":28.0,"y":1.0},{"x":30.0,"y":1.0},{"x":33.0,"y":1.0},{"x":34.75,"y":4.0},{"x":37.0,"y":2.0},{"x":41.0,"y":1.0},{"x":42.333333333333336,"y":3.0},{"x":44.0,"y":1.0},{"x":47.0,"y":1.0},{"x":51.0,"y":2.0},{"x":53.5,"y":2.0},{"x":57.666666666666664,"y":3.0},{"x":64.0,"y":1.0},{"x":65.5,"y":2.0},{"x":67.0,"y":2.0},{"x":69.75,"y":4.0},{"x":72.0,"y":2.0},{"x":74.0,"y":1.0},{"x":76.33333333333333,"y":3.0},{"x":78.0,"y":1.0},{"x":80.0,"y":1.0},{"x":82.66666666666667,"y":3.0},{"x":84.33333333333333,"y":3.0},{"x":86.5,"y":2.0},{"x":90.0,"y":3.0},{"x":92.0,"y":1.0},{"x":95.33333333333333,"y":3.0},{"x":97.5,"y":4.0},{"x":100.0,"y":2.0},{"x":103.5,"y":4.0},{"x":105.0,"y":1.0},{"x":111.0,"y":1.0},{"x":113.33333333333333,"y":3.0},{"x":116.0,"y":1.0},{"x":118.0,"y":2.0},{"x":119.39999999999999,"y":5.0},{"x":125.33333333333333,"y":3.0},{"x":128.4,"y":5.0},{"x":131.0,"y":1.0},{"x":133.66666666666666,"y":3.0},{"x":136.66666666666666,"y":3.0},{"x":138.0,"y":4.0},{"x":143.0,"y":1.0},{"x":145.66666666666666,"y":3.0},{"x":149.33333333333331,"y":3.0},{"x":152.33333333333331,"y":3.0},{"x":155.5,"y":2.0},{"x":157.5,"y":2.0},{"x":160.0,"y":1.0},{"x":162.5,"y":2.0},{"x":164.0,"y":2.0},{"x":165.33333333333334,"y":3.0},{"x":167.25,"y":4.0},{"x":169.20000000000002,"y":5.0},{"x":172.0,"y":2.0},{"x":174.0,"y":2.0},{"x":175.5,"y":4.0},{"x":177.0,"y":1.0},{"x":178.66666666666666,"y":3.0},{"x":180.5,"y":2.0},{"x":183.0,"y":1.0},{"x":186.75,"y":4.0},{"x":189.5,"y":2.0},{"x":191.33333333333331,"y":3.0},{"x":193.25,"y":4.0},{"x":195.0,"y":2.0},{"x":196.66666666666669,"y":3.0},{"x":199.0,"y":3.0},{"x":200.33333333333331,"y":3.0},{"x":202.66666666666669,"y":3.0},{"x":205.0,"y":2.0},{"x":207.0,"y":2.0},{"x":208.39999999999998,"y":5.0},{"x":213.33333333333331,"y":3.0},{"x":216.5,"y":4.0},{"x":218.66666666666666,"y":3.0},{"x":221.0,"y":2.0},{"x":222.66666666666666,"y":3.0},{"x":224.0,"y":2.0},{"x":226.0,"y":1.0},{"x":228.0,"y":1.0},{"x":229.71428571428572,"y":7.0},{"x":233.0,"y":2.0},{"x":235.0,"y":1.0},{"x":237.5,"y":4.0},{"x":239.0,"y":2.0},{"x":241.66666666666669,"y":3.0},{"x":244.0,"y":1.0},{"x":247.5,"y":2.0},{"x":249.0,"y":1.0},{"x":252.0,"y":1.0},{"x":255.0,"y":2.0},{"x":256.3333333333333,"y":3.0},{"x":258.0,"y":1.0},{"x":260.0,"y":1.0},{"x":262.5,"y":2.0},{"x":265.3333333333333,"y":3.0},{"x":272.8333333333333,"y":6.0},{"x":275.0,"y":1.0},{"x":277.3333333333333,"y":6.0},{"x":280.5,"y":4.0},{"x":282.3333333333333,"y":3.0},{"x":284.5,"y":2.0},{"x":286.5,"y":2.0},{"x":288.3333333333333,"y":3.0},{"x":291.5,"y":2.0},{"x":296.0,"y":1.0},{"x":298.0,"y":3.0},{"x":302.0,"y":1.0},{"x":305.5,"y":2.0},{"x":307.3333333333333,"y":3.0},{"x":309.3333333333333,"y":3.0},{"x":311.0,"y":3.0},{"x":315.75,"y":4.0},{"x":317.6,"y":5.0},{"x":321.0,"y":2.0},{"x":322.3333333333333,"y":3.0},{"x":325.0,"y":2.0},{"x":327.0,"y":3.0},{"x":331.0,"y":2.0},{"x":332.66666666666663,"y":3.0},{"x":335.5,"y":2.0},{"x":338.5,"y":2.0},{"x":341.66666666666663,"y":3.0},{"x":344.3333333333333,"y":3.0},{"x":348.0,"y":5.0},{"x":351.0,"y":1.0},{"x":353.0,"y":2.0},{"x":356.0,"y":1.0},{"x":360.0,"y":1.0},{"x":362.0,"y":1.0},{"x":364.5,"y":2.0},{"x":366.66666666666663,"y":3.0},{"x":368.75,"y":4.0},{"x":373.5,"y":2.0},{"x":375.0,"y":1.0},{"x":377.5,"y":2.0},{"x":379.0,"y":1.0},{"x":382.0,"y":2.0},{"x":384.0,"y":3.0},{"x":386.0,"y":1.0},{"x":389.0,"y":1.0},{"x":392.0,"y":1.0},{"x":393.5,"y":2.0},{"x":395.0,"y":2.0},{"x":396.4,"y":5.0},{"x":399.0,"y":2.0},{"x":400.99999999999994,"y":7.0},{"x":403.4,"y":5.0},{"x":406.20000000000005,"y":5.0},{"x":409.0,"y":3.0},{"x":411.0,"y":1.0},{"x":413.5,"y":4.0},{"x":417.25,"y":4.0},{"x":419.0,"y":1.0},{"x":421.0,"y":1.0},{"x":424.0,"y":2.0},{"x":427.0,"y":1.0},{"x":429.6,"y":5.0},{"x":431.25,"y":4.0},{"x":435.5,"y":2.0},{"x":438.16666666666663,"y":6.0},{"x":443.5,"y":2.0},{"x":446.0,"y":1.0},{"x":448.5,"y":2.0},{"x":452.5,"y":2.0},{"x":454.25,"y":4.0},{"x":457.0,"y":1.0},{"x":458.5,"y":4.0},{"x":460.0,"y":1.0},{"x":462.5,"y":4.0},{"x":466.0,"y":3.0},{"x":467.79999999999995,"y":5.0},{"x":469.1666666666667,"y":6.0},{"x":472.0,"y":1.0},{"x":475.0,"y":1.0},{"x":477.0,"y":1.0},{"x":478.33333333333326,"y":3.0},{"x":480.0,"y":3.0},{"x":481.5,"y":2.0},{"x":483.5,"y":2.0},{"x":485.0,"y":1.0},{"x":487.0,"y":1.0},{"x":489.0,"y":4.0},{"x":490.5,"y":2.0},{"x":492.33333333333337,"y":3.0},{"x":494.5,"y":2.0},{"x":496.5,"y":2.0},{"x":498.0,"y":3.0}] +PREHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 2) FROM src_sort +PREHOOK: type: QUERY +PREHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 2) FROM src_sort +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[{"x":115.41176470588243,"y":204.0},{"x":359.95608108108115,"y":296.0}] +PREHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 3) FROM src_sort +PREHOOK: type: QUERY +PREHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 3) FROM src_sort +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[{"x":78.74436090225564,"y":133.0},{"x":255.20888888888902,"y":225.0},{"x":438.0000000000003,"y":142.0}] +PREHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 20) FROM src_sort +PREHOOK: type: QUERY +PREHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 20) FROM src_sort +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[{"x":9.761904761904761,"y":21.0},{"x":34.500000000000014,"y":20.0},{"x":63.578947368421055,"y":19.0},{"x":88.42307692307692,"y":26.0},{"x":112.88235294117649,"y":17.0},{"x":138.9677419354839,"y":31.0},{"x":170.29411764705884,"y":34.0},{"x":197.91666666666666,"y":36.0},{"x":223.1428571428572,"y":28.0},{"x":245.95238095238102,"y":21.0},{"x":270.64705882352933,"y":17.0},{"x":287.2608695652173,"y":23.0},{"x":320.33333333333326,"y":39.0},{"x":347.4000000000001,"y":15.0},{"x":369.5294117647059,"y":17.0},{"x":386.2222222222222,"y":9.0},{"x":403.1714285714286,"y":35.0},{"x":429.1153846153845,"y":26.0},{"x":460.4722222222223,"y":36.0},{"x":487.2999999999999,"y":30.0}] +PREHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 200) FROM src_sort +PREHOOK: type: QUERY +PREHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: query: SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 200) FROM src_sort +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src_sort +#### A masked pattern was here #### +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +[{"x":0.0,"y":3.0},{"x":2.0,"y":1.0},{"x":4.75,"y":4.0},{"x":8.5,"y":2.0},{"x":10.0,"y":1.0},{"x":11.666666666666666,"y":3.0},{"x":15.0,"y":2.0},{"x":17.666666666666664,"y":3.0},{"x":19.5,"y":2.0},{"x":24.0,"y":2.0},{"x":26.333333333333332,"y":3.0},{"x":28.0,"y":1.0},{"x":30.0,"y":1.0},{"x":33.0,"y":1.0},{"x":34.75,"y":4.0},{"x":37.0,"y":2.0},{"x":41.0,"y":1.0},{"x":42.333333333333336,"y":3.0},{"x":44.0,"y":1.0},{"x":47.0,"y":1.0},{"x":51.0,"y":2.0},{"x":53.5,"y":2.0},{"x":57.666666666666664,"y":3.0},{"x":64.0,"y":1.0},{"x":65.5,"y":2.0},{"x":67.0,"y":2.0},{"x":69.75,"y":4.0},{"x":72.0,"y":2.0},{"x":74.0,"y":1.0},{"x":76.33333333333333,"y":3.0},{"x":78.0,"y":1.0},{"x":80.0,"y":1.0},{"x":82.66666666666667,"y":3.0},{"x":84.33333333333333,"y":3.0},{"x":86.5,"y":2.0},{"x":90.0,"y":3.0},{"x":92.0,"y":1.0},{"x":95.33333333333333,"y":3.0},{"x":97.5,"y":4.0},{"x":100.0,"y":2.0},{"x":103.5,"y":4.0},{"x":105.0,"y":1.0},{"x":111.0,"y":1.0},{"x":113.33333333333333,"y":3.0},{"x":116.0,"y":1.0},{"x":118.0,"y":2.0},{"x":119.39999999999999,"y":5.0},{"x":125.33333333333333,"y":3.0},{"x":128.4,"y":5.0},{"x":131.0,"y":1.0},{"x":133.66666666666666,"y":3.0},{"x":136.66666666666666,"y":3.0},{"x":138.0,"y":4.0},{"x":143.0,"y":1.0},{"x":145.66666666666666,"y":3.0},{"x":149.33333333333331,"y":3.0},{"x":152.33333333333331,"y":3.0},{"x":155.5,"y":2.0},{"x":157.5,"y":2.0},{"x":160.0,"y":1.0},{"x":162.5,"y":2.0},{"x":164.0,"y":2.0},{"x":165.33333333333334,"y":3.0},{"x":167.25,"y":4.0},{"x":169.20000000000002,"y":5.0},{"x":172.0,"y":2.0},{"x":174.0,"y":2.0},{"x":175.5,"y":4.0},{"x":177.0,"y":1.0},{"x":178.66666666666666,"y":3.0},{"x":180.5,"y":2.0},{"x":183.0,"y":1.0},{"x":186.75,"y":4.0},{"x":189.5,"y":2.0},{"x":191.33333333333331,"y":3.0},{"x":193.25,"y":4.0},{"x":195.0,"y":2.0},{"x":196.66666666666669,"y":3.0},{"x":199.0,"y":3.0},{"x":200.33333333333331,"y":3.0},{"x":202.66666666666669,"y":3.0},{"x":205.0,"y":2.0},{"x":207.0,"y":2.0},{"x":208.39999999999998,"y":5.0},{"x":213.33333333333331,"y":3.0},{"x":216.5,"y":4.0},{"x":218.66666666666666,"y":3.0},{"x":221.0,"y":2.0},{"x":222.66666666666666,"y":3.0},{"x":224.0,"y":2.0},{"x":226.0,"y":1.0},{"x":228.0,"y":1.0},{"x":229.71428571428572,"y":7.0},{"x":233.0,"y":2.0},{"x":235.0,"y":1.0},{"x":237.5,"y":4.0},{"x":239.0,"y":2.0},{"x":241.66666666666669,"y":3.0},{"x":244.0,"y":1.0},{"x":247.5,"y":2.0},{"x":249.0,"y":1.0},{"x":252.0,"y":1.0},{"x":255.0,"y":2.0},{"x":256.3333333333333,"y":3.0},{"x":258.0,"y":1.0},{"x":260.0,"y":1.0},{"x":262.5,"y":2.0},{"x":265.3333333333333,"y":3.0},{"x":272.8333333333333,"y":6.0},{"x":275.0,"y":1.0},{"x":277.3333333333333,"y":6.0},{"x":280.5,"y":4.0},{"x":282.3333333333333,"y":3.0},{"x":284.5,"y":2.0},{"x":286.5,"y":2.0},{"x":288.3333333333333,"y":3.0},{"x":291.5,"y":2.0},{"x":296.0,"y":1.0},{"x":298.0,"y":3.0},{"x":302.0,"y":1.0},{"x":305.5,"y":2.0},{"x":307.3333333333333,"y":3.0},{"x":309.3333333333333,"y":3.0},{"x":311.0,"y":3.0},{"x":315.75,"y":4.0},{"x":317.6,"y":5.0},{"x":321.0,"y":2.0},{"x":322.3333333333333,"y":3.0},{"x":325.0,"y":2.0},{"x":327.0,"y":3.0},{"x":331.0,"y":2.0},{"x":332.66666666666663,"y":3.0},{"x":335.5,"y":2.0},{"x":338.5,"y":2.0},{"x":341.66666666666663,"y":3.0},{"x":344.3333333333333,"y":3.0},{"x":348.0,"y":5.0},{"x":351.0,"y":1.0},{"x":353.0,"y":2.0},{"x":356.0,"y":1.0},{"x":360.0,"y":1.0},{"x":362.0,"y":1.0},{"x":364.5,"y":2.0},{"x":366.66666666666663,"y":3.0},{"x":368.75,"y":4.0},{"x":373.5,"y":2.0},{"x":375.0,"y":1.0},{"x":377.5,"y":2.0},{"x":379.0,"y":1.0},{"x":382.0,"y":2.0},{"x":384.0,"y":3.0},{"x":386.0,"y":1.0},{"x":389.0,"y":1.0},{"x":392.0,"y":1.0},{"x":393.5,"y":2.0},{"x":395.0,"y":2.0},{"x":396.4,"y":5.0},{"x":399.0,"y":2.0},{"x":400.99999999999994,"y":7.0},{"x":403.4,"y":5.0},{"x":406.20000000000005,"y":5.0},{"x":409.0,"y":3.0},{"x":411.0,"y":1.0},{"x":413.5,"y":4.0},{"x":417.25,"y":4.0},{"x":419.0,"y":1.0},{"x":421.0,"y":1.0},{"x":424.0,"y":2.0},{"x":427.0,"y":1.0},{"x":429.6,"y":5.0},{"x":431.25,"y":4.0},{"x":435.5,"y":2.0},{"x":438.16666666666663,"y":6.0},{"x":443.5,"y":2.0},{"x":446.0,"y":1.0},{"x":448.5,"y":2.0},{"x":452.5,"y":2.0},{"x":454.25,"y":4.0},{"x":457.0,"y":1.0},{"x":458.5,"y":4.0},{"x":460.0,"y":1.0},{"x":462.5,"y":4.0},{"x":466.0,"y":3.0},{"x":467.79999999999995,"y":5.0},{"x":469.1666666666667,"y":6.0},{"x":472.0,"y":1.0},{"x":475.0,"y":1.0},{"x":477.0,"y":1.0},{"x":478.33333333333326,"y":3.0},{"x":480.0,"y":3.0},{"x":481.5,"y":2.0},{"x":483.5,"y":2.0},{"x":485.0,"y":1.0},{"x":487.0,"y":1.0},{"x":489.0,"y":4.0},{"x":490.5,"y":2.0},{"x":492.33333333333337,"y":3.0},{"x":494.5,"y":2.0},{"x":496.5,"y":2.0},{"x":498.0,"y":3.0}] +PREHOOK: query: drop table src_sort +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@src_sort +PREHOOK: Output: default@src_sort +POSTHOOK: query: drop table src_sort +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@src_sort +POSTHOOK: Output: default@src_sort +POSTHOOK: Lineage: src_sort.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: src_sort.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] Index: ql/src/test/queries/clientpositive/udaf_histogram_numeric.q =================================================================== --- ql/src/test/queries/clientpositive/udaf_histogram_numeric.q (revision 1444271) +++ ql/src/test/queries/clientpositive/udaf_histogram_numeric.q (working copy) @@ -1,5 +1,17 @@ -SELECT histogram_numeric(cast(substr(src.value,5) AS double), 2) FROM src; -SELECT histogram_numeric(cast(substr(src.value,5) AS double), 3) FROM src; -SELECT histogram_numeric(cast(substr(src.value,5) AS double), 20) FROM src; -SELECT histogram_numeric(cast(substr(src.value,5) AS double), 200) FROM src; +create table src_sort like src; +insert overwrite table src_sort select * from src order by key desc; + +set hive.map.aggr=false; +SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 2) FROM src_sort; +SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 3) FROM src_sort; +SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 20) FROM src_sort; +SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 200) FROM src_sort; + +set hive.map.aggr=true; +SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 2) FROM src_sort; +SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 3) FROM src_sort; +SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 20) FROM src_sort; +SELECT histogram_numeric(cast(substr(src_sort.value,5) AS double), 200) FROM src_sort; + +drop table src_sort; Index: ql/src/test/queries/clientpositive/udaf_percentile_approx.q =================================================================== --- ql/src/test/queries/clientpositive/udaf_percentile_approx.q (revision 1444271) +++ ql/src/test/queries/clientpositive/udaf_percentile_approx.q (working copy) @@ -2,37 +2,43 @@ set mapred.reduce.tasks=4; set hive.exec.reducers.max=4; set hive.map.aggr=false; + +create table src_sort like src; +insert overwrite table src_sort select * from src order by key desc; + -- disable map-side aggregation -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 100) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 1000) FROM src; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 100) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 1000) FROM src_sort; -SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 100) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 1000) FROM src; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 100) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 1000) FROM src_sort; -SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort; -SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort; set hive.map.aggr=true; -- enable map-side aggregation -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 100) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS double), 0.5, 1000) FROM src; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 100) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), 0.5, 1000) FROM src_sort; -SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 100) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS int), 0.5, 1000) FROM src; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 100) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), 0.5, 1000) FROM src_sort; -SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98)) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 100) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS double), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort; -SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src; -SELECT percentile_approx(cast(substr(src.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98)) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 100) FROM src_sort; +SELECT percentile_approx(cast(substr(src_sort.value,5) AS int), array(0.05,0.5,0.95,0.98), 1000) FROM src_sort; + +drop table src_sort;