PREHOOK: query: use default PREHOOK: type: SWITCHDATABASE POSTHOOK: query: use default POSTHOOK: type: SWITCHDATABASE PREHOOK: query: -- Test printf() UDF DESCRIBE FUNCTION printf PREHOOK: type: DESCFUNCTION POSTHOOK: query: -- Test printf() UDF DESCRIBE FUNCTION printf POSTHOOK: type: DESCFUNCTION printf(String format, Obj... args) - function that can format strings according to printf-style format strings PREHOOK: query: DESCRIBE FUNCTION EXTENDED printf PREHOOK: type: DESCFUNCTION POSTHOOK: query: DESCRIBE FUNCTION EXTENDED printf POSTHOOK: type: DESCFUNCTION printf(String format, Obj... args) - function that can format strings according to printf-style format strings Example: > SELECT printf("Hello World %d %s", 100, "days")FROM src LIMIT 1; "Hello World 100 days" PREHOOK: query: EXPLAIN SELECT printf("Hello World %d %s", 100, "days") FROM src LIMIT 1 PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT printf("Hello World %d %s", 100, "days") FROM src LIMIT 1 POSTHOOK: type: QUERY ABSTRACT SYNTAX TREE: (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION printf "Hello World %d %s" 100 "days"))) (TOK_LIMIT 1))) STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 is a root stage STAGE PLANS: Stage: Stage-1 Map Reduce Alias -> Map Operator Tree: src TableScan alias: src Select Operator expressions: expr: printf('Hello World %d %s', 100, 'days') type: string outputColumnNames: _col0 Limit File Output Operator compressed: false GlobalTableId: 0 table: input format: org.apache.hadoop.mapred.TextInputFormat output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat Stage: Stage-0 Fetch Operator limit: 1 PREHOOK: query: -- Test Primitive Types SELECT printf("Hello World %d %s", 100, "days") FROM src LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: -- Test Primitive Types SELECT printf("Hello World %d %s", 100, "days") FROM src LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### Hello World 100 days PREHOOK: query: SELECT printf("All Type Test: %b, %c, %d, %e, %+10.4f, %g, %h, %s, %a", false, 65, 15000, 12.3400, 27183.240051, 2300.41, 50, "corret", 256.125) FROM src LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: SELECT printf("All Type Test: %b, %c, %d, %e, %+10.4f, %g, %h, %s, %a", false, 65, 15000, 12.3400, 27183.240051, 2300.41, 50, "corret", 256.125) FROM src LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### All Type Test: false, A, 15000, 1.234000e+01, +27183.2401, 2300.41, 32, corret, 0x1.002p8 PREHOOK: query: -- Test NULL Values SELECT printf("Color %s, String Null: %s, number1 %d, number2 %05d, Integer Null: %d, hex %#x, float %5.2f Double Null: %f\n", "red", NULL, 123456, 89, NULL, 255, 3.14159, NULL) FROM src LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: -- Test NULL Values SELECT printf("Color %s, String Null: %s, number1 %d, number2 %05d, Integer Null: %d, hex %#x, float %5.2f Double Null: %f\n", "red", NULL, 123456, 89, NULL, 255, 3.14159, NULL) FROM src LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### Color red, String Null: null, number1 123456, number2 00089, Integer Null: null, hex 0xff, float 3.14 Double Null: null PREHOOK: query: -- Test Timestamp create table timestamp_udf (t timestamp) PREHOOK: type: CREATETABLE POSTHOOK: query: -- Test Timestamp create table timestamp_udf (t timestamp) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@timestamp_udf PREHOOK: query: from src insert overwrite table timestamp_udf select '2011-05-06 07:08:09.1234567' limit 1 PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Output: default@timestamp_udf POSTHOOK: query: from src insert overwrite table timestamp_udf select '2011-05-06 07:08:09.1234567' limit 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Output: default@timestamp_udf POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] PREHOOK: query: select printf("timestamp: %s", t) from timestamp_udf PREHOOK: type: QUERY PREHOOK: Input: default@timestamp_udf #### A masked pattern was here #### POSTHOOK: query: select printf("timestamp: %s", t) from timestamp_udf POSTHOOK: type: QUERY POSTHOOK: Input: default@timestamp_udf #### A masked pattern was here #### POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] timestamp: 2011-05-06 07:08:09.1234567 PREHOOK: query: drop table timestamp_udf PREHOOK: type: DROPTABLE PREHOOK: Input: default@timestamp_udf PREHOOK: Output: default@timestamp_udf POSTHOOK: query: drop table timestamp_udf POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@timestamp_udf POSTHOOK: Output: default@timestamp_udf POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] PREHOOK: query: -- Test Binary CREATE TABLE binay_udf(key binary, value int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '9' STORED AS TEXTFILE PREHOOK: type: CREATETABLE POSTHOOK: query: -- Test Binary CREATE TABLE binay_udf(key binary, value int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '9' STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@binay_udf POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] PREHOOK: query: LOAD DATA LOCAL INPATH '../data/files/string.txt' INTO TABLE binay_udf PREHOOK: type: LOAD PREHOOK: Output: default@binay_udf POSTHOOK: query: LOAD DATA LOCAL INPATH '../data/files/string.txt' INTO TABLE binay_udf POSTHOOK: type: LOAD POSTHOOK: Output: default@binay_udf POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] PREHOOK: query: create table dest1 (key binary, value int) PREHOOK: type: CREATETABLE POSTHOOK: query: create table dest1 (key binary, value int) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest1 POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] PREHOOK: query: insert overwrite table dest1 select transform(*) using 'cat' as key binary, value int from binay_udf PREHOOK: type: QUERY PREHOOK: Input: default@binay_udf PREHOOK: Output: default@dest1 POSTHOOK: query: insert overwrite table dest1 select transform(*) using 'cat' as key binary, value int from binay_udf POSTHOOK: type: QUERY POSTHOOK: Input: default@binay_udf POSTHOOK: Output: default@dest1 POSTHOOK: Lineage: dest1.key SCRIPT [(binay_udf)binay_udf.FieldSchema(name:key, type:binary, comment:null), (binay_udf)binay_udf.FieldSchema(name:value, type:int, comment:null), ] POSTHOOK: Lineage: dest1.value SCRIPT [(binay_udf)binay_udf.FieldSchema(name:key, type:binary, comment:null), (binay_udf)binay_udf.FieldSchema(name:value, type:int, comment:null), ] POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] PREHOOK: query: select value, printf("format key: %s", key) from dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### POSTHOOK: query: select value, printf("format key: %s", key) from dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### POSTHOOK: Lineage: dest1.key SCRIPT [(binay_udf)binay_udf.FieldSchema(name:key, type:binary, comment:null), (binay_udf)binay_udf.FieldSchema(name:value, type:int, comment:null), ] POSTHOOK: Lineage: dest1.value SCRIPT [(binay_udf)binay_udf.FieldSchema(name:key, type:binary, comment:null), (binay_udf)binay_udf.FieldSchema(name:value, type:int, comment:null), ] POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] 1 format key: 61 00 62 63 01 02 01 00 2 format key: 00 74 65 73 74 00 3 format key: 01 74 65 73 74 01 4 format key: 74 65 73 74 00 74 65 73 74 5 format key: 74 65 73 74 01 74 65 73 74 6 format key: 74 65 73 74 00 00 01 01 74 65 73 74 7 format key: 00 00 00 8 format key: 01 01 01 9 format key: 00 01 00 10 format key: 01 00 01 PREHOOK: query: drop table dest1 PREHOOK: type: DROPTABLE PREHOOK: Input: default@dest1 PREHOOK: Output: default@dest1 POSTHOOK: query: drop table dest1 POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@dest1 POSTHOOK: Output: default@dest1 POSTHOOK: Lineage: dest1.key SCRIPT [(binay_udf)binay_udf.FieldSchema(name:key, type:binary, comment:null), (binay_udf)binay_udf.FieldSchema(name:value, type:int, comment:null), ] POSTHOOK: Lineage: dest1.value SCRIPT [(binay_udf)binay_udf.FieldSchema(name:key, type:binary, comment:null), (binay_udf)binay_udf.FieldSchema(name:value, type:int, comment:null), ] POSTHOOK: Lineage: timestamp_udf.t EXPRESSION [] PREHOOK: query: drop table binary_udf PREHOOK: type: DROPTABLE POSTHOOK: query: drop table binary_udf POSTHOOK: type: DROPTABLE POSTHOOK: Lineage: dest1.key SCRIPT [(binay_udf)binay_udf.FieldSchema(name:key, type:binary, comment:null), (binay_udf)binay_udf.FieldSchema(name:value, type:int, comment:null), ] POSTHOOK: Lineage: dest1.value SCRIPT [(binay_udf)binay_udf.FieldSchema(name:key, type:binary, comment:null), (binay_udf)binay_udf.FieldSchema(name:value, type:int, comment:null), ] POSTHOOK: Lineage: timestamp_udf.t EXPRESSION []