PREHOOK: query: DROP TABLE hbase_table_1
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE hbase_table_1
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_1(key int comment 'It is a column key', value string comment 'It is the column string value')
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf:string")
TBLPROPERTIES ("hbase.table.name" = "hbase_table_0", "external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_1
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_1(key int comment 'It is a column key', value string comment 'It is the column string value')
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf:string")
TBLPROPERTIES ("hbase.table.name" = "hbase_table_0", "external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_1
PREHOOK: query: DESCRIBE EXTENDED hbase_table_1
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@hbase_table_1
POSTHOOK: query: DESCRIBE EXTENDED hbase_table_1
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@hbase_table_1
key                 	int                 	It is a column key  
value               	string              	It is the column string value
	 	 
#### A masked pattern was here ####
PREHOOK: query: select * from hbase_table_1
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_table_1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
#### A masked pattern was here ####
PREHOOK: query: EXPLAIN FROM src INSERT OVERWRITE TABLE hbase_table_1 SELECT * WHERE (key%2)=0
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_1
POSTHOOK: query: EXPLAIN FROM src INSERT OVERWRITE TABLE hbase_table_1 SELECT * WHERE (key%2)=0
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_1
STAGE DEPENDENCIES:
  Stage-0 is a root stage
  Stage-1 is a root stage
  Stage-2 is a root stage

STAGE PLANS:
  Stage: Stage-0
    Unset Properties
      table name: default.hbase_table_1
      properties:
        COLUMN_STATS_ACCURATE 

  Stage: Stage-1
    Pre-Insert task

  Stage: Stage-2
    Map Reduce
      Map Operator Tree:
          TableScan
            alias: src
            filterExpr: ((UDFToDouble(key) % 2.0D) = 0.0D) (type: boolean)
            Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
            Filter Operator
              predicate: ((UDFToDouble(key) % 2.0D) = 0.0D) (type: boolean)
              Statistics: Num rows: 250 Data size: 44500 Basic stats: COMPLETE Column stats: COMPLETE
              Select Operator
                expressions: UDFToInteger(key) (type: int), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE
                File Output Operator
                  compressed: false
                  Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE
                  table:
                      input format: org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat
                      output format: org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat
                      serde: org.apache.hadoop.hive.hbase.HBaseSerDe
                      name: default.hbase_table_1
      Execution mode: vectorized

PREHOOK: query: FROM src INSERT OVERWRITE TABLE hbase_table_1 SELECT * WHERE (key%2)=0
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_1
POSTHOOK: query: FROM src INSERT OVERWRITE TABLE hbase_table_1 SELECT * WHERE (key%2)=0
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_1
PREHOOK: query: DROP TABLE hbase_table_2
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE hbase_table_2
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_2(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf:string")
TBLPROPERTIES ("hbase.table.name" = "hbase_table_0")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_2
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_2(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf:string")
TBLPROPERTIES ("hbase.table.name" = "hbase_table_0")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_2
PREHOOK: query: EXPLAIN 
SELECT Y.* 
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1) x
JOIN 
(SELECT src.* FROM src) Y
ON (x.key = Y.key)
ORDER BY key, value LIMIT 20
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
PREHOOK: Input: default@src
#### A masked pattern was here ####
POSTHOOK: query: EXPLAIN 
SELECT Y.* 
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1) x
JOIN 
(SELECT src.* FROM src) Y
ON (x.key = Y.key)
ORDER BY key, value LIMIT 20
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Input: default@src
#### A masked pattern was here ####
STAGE DEPENDENCIES:
  Stage-1 is a root stage
  Stage-2 depends on stages: Stage-1
  Stage-0 depends on stages: Stage-2

STAGE PLANS:
  Stage: Stage-1
    Map Reduce
      Map Operator Tree:
          TableScan
            alias: hbase_table_1
            Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: UDFToDouble(key) is not null (type: boolean)
              Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: key (type: int)
                outputColumnNames: _col0
                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                Reduce Output Operator
                  key expressions: UDFToDouble(_col0) (type: double)
                  null sort order: z
                  sort order: +
                  Map-reduce partition columns: UDFToDouble(_col0) (type: double)
                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
          TableScan
            alias: src
            filterExpr: UDFToDouble(key) is not null (type: boolean)
            Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
            Filter Operator
              predicate: UDFToDouble(key) is not null (type: boolean)
              Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
              Select Operator
                expressions: key (type: string), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                Reduce Output Operator
                  key expressions: UDFToDouble(_col0) (type: double)
                  null sort order: z
                  sort order: +
                  Map-reduce partition columns: UDFToDouble(_col0) (type: double)
                  Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                  value expressions: _col0 (type: string), _col1 (type: string)
      Reduce Operator Tree:
        Join Operator
          condition map:
               Inner Join 0 to 1
          keys:
            0 UDFToDouble(_col0) (type: double)
            1 UDFToDouble(_col0) (type: double)
          outputColumnNames: _col1, _col2
          Statistics: Num rows: 550 Data size: 97900 Basic stats: COMPLETE Column stats: NONE
          Select Operator
            expressions: _col1 (type: string), _col2 (type: string)
            outputColumnNames: _col0, _col1
            Statistics: Num rows: 550 Data size: 97900 Basic stats: COMPLETE Column stats: NONE
            File Output Operator
              compressed: false
              table:
                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                  serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe

  Stage: Stage-2
    Map Reduce
      Map Operator Tree:
          TableScan
            Reduce Output Operator
              key expressions: _col0 (type: string), _col1 (type: string)
              null sort order: zz
              sort order: ++
              Statistics: Num rows: 550 Data size: 97900 Basic stats: COMPLETE Column stats: NONE
              TopN Hash Memory Usage: 0.1
      Execution mode: vectorized
      Reduce Operator Tree:
        Select Operator
          expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string)
          outputColumnNames: _col0, _col1
          Statistics: Num rows: 550 Data size: 97900 Basic stats: COMPLETE Column stats: NONE
          Limit
            Number of rows: 20
            Statistics: Num rows: 20 Data size: 3560 Basic stats: COMPLETE Column stats: NONE
            File Output Operator
              compressed: false
              Statistics: Num rows: 20 Data size: 3560 Basic stats: COMPLETE Column stats: NONE
              table:
                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

  Stage: Stage-0
    Fetch Operator
      limit: 20
      Processor Tree:
        ListSink

PREHOOK: query: SELECT Y.* 
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1) x
JOIN 
(SELECT src.* FROM src) Y
ON (x.key = Y.key)
ORDER BY key, value LIMIT 20
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
PREHOOK: Input: default@src
#### A masked pattern was here ####
POSTHOOK: query: SELECT Y.* 
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1) x
JOIN 
(SELECT src.* FROM src) Y
ON (x.key = Y.key)
ORDER BY key, value LIMIT 20
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Input: default@src
#### A masked pattern was here ####
0	val_0
0	val_0
0	val_0
10	val_10
100	val_100
100	val_100
104	val_104
104	val_104
114	val_114
116	val_116
118	val_118
118	val_118
12	val_12
12	val_12
120	val_120
120	val_120
126	val_126
128	val_128
128	val_128
128	val_128
PREHOOK: query: EXPLAIN 
SELECT Y.*
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1 WHERE 100 < hbase_table_1.key) x
JOIN 
(SELECT hbase_table_2.* FROM hbase_table_2 WHERE hbase_table_2.key < 120) Y
ON (x.key = Y.key)
ORDER BY key, value
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
PREHOOK: Input: default@hbase_table_2
#### A masked pattern was here ####
POSTHOOK: query: EXPLAIN 
SELECT Y.*
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1 WHERE 100 < hbase_table_1.key) x
JOIN 
(SELECT hbase_table_2.* FROM hbase_table_2 WHERE hbase_table_2.key < 120) Y
ON (x.key = Y.key)
ORDER BY key, value
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Input: default@hbase_table_2
#### A masked pattern was here ####
STAGE DEPENDENCIES:
  Stage-1 is a root stage
  Stage-2 depends on stages: Stage-1
  Stage-0 depends on stages: Stage-2

STAGE PLANS:
  Stage: Stage-1
    Map Reduce
      Map Operator Tree:
          TableScan
            alias: hbase_table_1
            Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: ((key > 100) and (key < 120)) (type: boolean)
              Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: key (type: int)
                outputColumnNames: _col0
                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                Reduce Output Operator
                  key expressions: _col0 (type: int)
                  null sort order: z
                  sort order: +
                  Map-reduce partition columns: _col0 (type: int)
                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
          TableScan
            alias: hbase_table_2
            Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: ((key < 120) and (key > 100)) (type: boolean)
              Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: key (type: int), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                Reduce Output Operator
                  key expressions: _col0 (type: int)
                  null sort order: z
                  sort order: +
                  Map-reduce partition columns: _col0 (type: int)
                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                  value expressions: _col1 (type: string)
      Reduce Operator Tree:
        Join Operator
          condition map:
               Inner Join 0 to 1
          keys:
            0 _col0 (type: int)
            1 _col0 (type: int)
          outputColumnNames: _col1, _col2
          Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
          Select Operator
            expressions: _col1 (type: int), _col2 (type: string)
            outputColumnNames: _col0, _col1
            Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
            File Output Operator
              compressed: false
              table:
                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                  serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe

  Stage: Stage-2
    Map Reduce
      Map Operator Tree:
          TableScan
            Reduce Output Operator
              key expressions: _col0 (type: int), _col1 (type: string)
              null sort order: zz
              sort order: ++
              Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
      Execution mode: vectorized
      Reduce Operator Tree:
        Select Operator
          expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: string)
          outputColumnNames: _col0, _col1
          Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
          File Output Operator
            compressed: false
            Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
            table:
                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

  Stage: Stage-0
    Fetch Operator
      limit: -1
      Processor Tree:
        ListSink

PREHOOK: query: SELECT Y.*
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1 WHERE 100 < hbase_table_1.key) x
JOIN 
(SELECT hbase_table_2.* FROM hbase_table_2 WHERE hbase_table_2.key < 120) Y
ON (x.key = Y.key)
ORDER BY key,value
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
PREHOOK: Input: default@hbase_table_2
#### A masked pattern was here ####
POSTHOOK: query: SELECT Y.*
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1 WHERE 100 < hbase_table_1.key) x
JOIN 
(SELECT hbase_table_2.* FROM hbase_table_2 WHERE hbase_table_2.key < 120) Y
ON (x.key = Y.key)
ORDER BY key,value
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Input: default@hbase_table_2
#### A masked pattern was here ####
104	val_104
114	val_114
116	val_116
118	val_118
PREHOOK: query: DROP TABLE empty_hbase_table
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE empty_hbase_table
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE empty_hbase_table(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf:string")
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@empty_hbase_table
POSTHOOK: query: CREATE EXTERNAL TABLE empty_hbase_table(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf:string")
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@empty_hbase_table
PREHOOK: query: DROP TABLE empty_normal_table
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE empty_normal_table
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE TABLE empty_normal_table(key int, value string)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@empty_normal_table
POSTHOOK: query: CREATE TABLE empty_normal_table(key int, value string)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@empty_normal_table
PREHOOK: query: select * from (select count(1) as c from empty_normal_table union all select count(1) as c from empty_hbase_table) x order by c
PREHOOK: type: QUERY
PREHOOK: Input: default@empty_hbase_table
PREHOOK: Input: default@empty_normal_table
#### A masked pattern was here ####
POSTHOOK: query: select * from (select count(1) as c from empty_normal_table union all select count(1) as c from empty_hbase_table) x order by c
POSTHOOK: type: QUERY
POSTHOOK: Input: default@empty_hbase_table
POSTHOOK: Input: default@empty_normal_table
#### A masked pattern was here ####
0
0
PREHOOK: query: select * from (select count(1) c from empty_normal_table union all select count(1) as c from hbase_table_1) x order by c
PREHOOK: type: QUERY
PREHOOK: Input: default@empty_normal_table
PREHOOK: Input: default@hbase_table_1
#### A masked pattern was here ####
POSTHOOK: query: select * from (select count(1) c from empty_normal_table union all select count(1) as c from hbase_table_1) x order by c
POSTHOOK: type: QUERY
POSTHOOK: Input: default@empty_normal_table
POSTHOOK: Input: default@hbase_table_1
#### A masked pattern was here ####
0
155
PREHOOK: query: select * from (select count(1) c from src union all select count(1) as c from empty_hbase_table) x order by c
PREHOOK: type: QUERY
PREHOOK: Input: default@empty_hbase_table
PREHOOK: Input: default@src
#### A masked pattern was here ####
POSTHOOK: query: select * from (select count(1) c from src union all select count(1) as c from empty_hbase_table) x order by c
POSTHOOK: type: QUERY
POSTHOOK: Input: default@empty_hbase_table
POSTHOOK: Input: default@src
#### A masked pattern was here ####
0
500
PREHOOK: query: select * from (select count(1) c from src union all select count(1) as c from hbase_table_1) x order by c
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
PREHOOK: Input: default@src
#### A masked pattern was here ####
POSTHOOK: query: select * from (select count(1) c from src union all select count(1) as c from hbase_table_1) x order by c
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Input: default@src
#### A masked pattern was here ####
155
500
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_3(key int, value string, count int) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "cf:val,cf2:count"
)
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_3
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_3(key int, value string, count int) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "cf:val,cf2:count"
)
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_3
PREHOOK: query: EXPLAIN 
INSERT OVERWRITE TABLE hbase_table_3
SELECT x.key, x.value, Y.count 
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1) x
JOIN 
(SELECT src.key, count(src.key) as count FROM src GROUP BY src.key) Y
ON (x.key = Y.key)
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_3
POSTHOOK: query: EXPLAIN 
INSERT OVERWRITE TABLE hbase_table_3
SELECT x.key, x.value, Y.count 
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1) x
JOIN 
(SELECT src.key, count(src.key) as count FROM src GROUP BY src.key) Y
ON (x.key = Y.key)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_3
STAGE DEPENDENCIES:
  Stage-0 is a root stage
  Stage-1 is a root stage
  Stage-3 is a root stage
  Stage-2 depends on stages: Stage-3

STAGE PLANS:
  Stage: Stage-0
    Unset Properties
      table name: default.hbase_table_3
      properties:
        COLUMN_STATS_ACCURATE 

  Stage: Stage-1
    Pre-Insert task

  Stage: Stage-3
    Map Reduce
      Map Operator Tree:
          TableScan
            alias: src
            filterExpr: UDFToDouble(key) is not null (type: boolean)
            Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
            Filter Operator
              predicate: UDFToDouble(key) is not null (type: boolean)
              Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
              Group By Operator
                aggregations: count(key)
                keys: key (type: string)
                minReductionHashAggr: 0.99
                mode: hash
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 316 Data size: 30020 Basic stats: COMPLETE Column stats: COMPLETE
                Reduce Output Operator
                  key expressions: _col0 (type: string)
                  null sort order: z
                  sort order: +
                  Map-reduce partition columns: _col0 (type: string)
                  Statistics: Num rows: 316 Data size: 30020 Basic stats: COMPLETE Column stats: COMPLETE
                  value expressions: _col1 (type: bigint)
      Execution mode: vectorized
      Reduce Operator Tree:
        Group By Operator
          aggregations: count(VALUE._col0)
          keys: KEY._col0 (type: string)
          mode: mergepartial
          outputColumnNames: _col0, _col1
          Statistics: Num rows: 316 Data size: 30020 Basic stats: COMPLETE Column stats: COMPLETE
          Select Operator
            expressions: _col1 (type: bigint), UDFToDouble(_col0) (type: double)
            outputColumnNames: _col0, _col1
            Statistics: Num rows: 316 Data size: 5056 Basic stats: COMPLETE Column stats: COMPLETE
            File Output Operator
              compressed: false
              table:
                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                  serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe

  Stage: Stage-2
    Map Reduce
      Map Operator Tree:
          TableScan
            alias: hbase_table_1
            Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: UDFToDouble(key) is not null (type: boolean)
              Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: key (type: int), value (type: string), UDFToDouble(key) (type: double)
                outputColumnNames: _col0, _col1, _col2
                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                Reduce Output Operator
                  key expressions: _col2 (type: double)
                  null sort order: z
                  sort order: +
                  Map-reduce partition columns: _col2 (type: double)
                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                  value expressions: _col0 (type: int), _col1 (type: string)
          TableScan
            Reduce Output Operator
              key expressions: _col1 (type: double)
              null sort order: z
              sort order: +
              Map-reduce partition columns: _col1 (type: double)
              Statistics: Num rows: 316 Data size: 5056 Basic stats: COMPLETE Column stats: COMPLETE
              value expressions: _col0 (type: bigint)
      Reduce Operator Tree:
        Join Operator
          condition map:
               Inner Join 0 to 1
          keys:
            0 _col2 (type: double)
            1 _col1 (type: double)
          outputColumnNames: _col0, _col1, _col3
          Statistics: Num rows: 347 Data size: 5561 Basic stats: COMPLETE Column stats: NONE
          Select Operator
            expressions: _col0 (type: int), _col1 (type: string), UDFToInteger(_col3) (type: int)
            outputColumnNames: _col0, _col1, _col2
            Statistics: Num rows: 347 Data size: 5561 Basic stats: COMPLETE Column stats: NONE
            File Output Operator
              compressed: false
              Statistics: Num rows: 347 Data size: 5561 Basic stats: COMPLETE Column stats: NONE
              table:
                  input format: org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat
                  output format: org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat
                  serde: org.apache.hadoop.hive.hbase.HBaseSerDe
                  name: default.hbase_table_3

PREHOOK: query: INSERT OVERWRITE TABLE hbase_table_3
SELECT x.key, x.value, Y.count 
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1) x
JOIN 
(SELECT src.key, count(src.key) as count FROM src GROUP BY src.key) Y
ON (x.key = Y.key)
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_3
POSTHOOK: query: INSERT OVERWRITE TABLE hbase_table_3
SELECT x.key, x.value, Y.count 
FROM 
(SELECT hbase_table_1.* FROM hbase_table_1) x
JOIN 
(SELECT src.key, count(src.key) as count FROM src GROUP BY src.key) Y
ON (x.key = Y.key)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_3
PREHOOK: query: select count(1) from hbase_table_3
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_3
#### A masked pattern was here ####
POSTHOOK: query: select count(1) from hbase_table_3
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_3
#### A masked pattern was here ####
155
PREHOOK: query: select * from hbase_table_3 order by key, value limit 5
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_3
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_table_3 order by key, value limit 5
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_3
#### A masked pattern was here ####
0	val_0	3
2	val_2	1
4	val_4	1
8	val_8	1
10	val_10	1
PREHOOK: query: select key, count from hbase_table_3 order by key, count desc limit 5
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_3
#### A masked pattern was here ####
POSTHOOK: query: select key, count from hbase_table_3 order by key, count desc limit 5
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_3
#### A masked pattern was here ####
0	3
2	1
4	1
8	1
10	1
PREHOOK: query: DROP TABLE hbase_table_4
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE hbase_table_4
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_4(key int, value1 string, value2 int, value3 int) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "a:b,a:c,d:e"
)
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_4
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_4(key int, value1 string, value2 int, value3 int) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "a:b,a:c,d:e"
)
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_4
PREHOOK: query: INSERT OVERWRITE TABLE hbase_table_4 SELECT key, value, key+1, key+2 
FROM src WHERE key=98 OR key=100
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_4
POSTHOOK: query: INSERT OVERWRITE TABLE hbase_table_4 SELECT key, value, key+1, key+2 
FROM src WHERE key=98 OR key=100
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_4
PREHOOK: query: SELECT * FROM hbase_table_4 ORDER BY key
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_4
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM hbase_table_4 ORDER BY key
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_4
#### A masked pattern was here ####
98	val_98	99	100
100	val_100	101	102
PREHOOK: query: DROP TABLE hbase_table_5
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE hbase_table_5
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_5(key int, value map<string,string>) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "a:")
TBLPROPERTIES ("hbase.table.name" = "hbase_table_4")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_5
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_5(key int, value map<string,string>) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "a:")
TBLPROPERTIES ("hbase.table.name" = "hbase_table_4")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_5
PREHOOK: query: SELECT * FROM hbase_table_5 ORDER BY key
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_5
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM hbase_table_5 ORDER BY key
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_5
#### A masked pattern was here ####
98	{"b":"val_98","c":"99"}
100	{"b":"val_100","c":"101"}
PREHOOK: query: DROP TABLE hbase_table_6
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE hbase_table_6
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_6(key int, value map<string,string>) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = ":key,cf:"
)
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_6
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_6(key int, value map<string,string>) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = ":key,cf:"
)
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_6
PREHOOK: query: INSERT OVERWRITE TABLE hbase_table_6 SELECT key, map(value, key) FROM src
WHERE key=98 OR key=100
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_6
POSTHOOK: query: INSERT OVERWRITE TABLE hbase_table_6 SELECT key, map(value, key) FROM src
WHERE key=98 OR key=100
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_6
PREHOOK: query: SELECT * FROM hbase_table_6 ORDER BY key
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_6
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM hbase_table_6 ORDER BY key
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_6
#### A masked pattern was here ####
98	{"val_98":"98"}
100	{"val_100":"100"}
PREHOOK: query: DROP TABLE hbase_table_7
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE hbase_table_7
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_7(value map<string,string>, key int) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "cf:,:key"
)
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_7
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_7(value map<string,string>, key int) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "cf:,:key"
)
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_7
PREHOOK: query: INSERT OVERWRITE TABLE hbase_table_7 
SELECT map(value, key, upper(value), key+1), key FROM src
WHERE key=98 OR key=100
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_7
POSTHOOK: query: INSERT OVERWRITE TABLE hbase_table_7 
SELECT map(value, key, upper(value), key+1), key FROM src
WHERE key=98 OR key=100
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_7
PREHOOK: query: SELECT * FROM hbase_table_7 ORDER BY key
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_7
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM hbase_table_7 ORDER BY key
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_7
#### A masked pattern was here ####
{"VAL_98":"99.0","val_98":"98"}	98
{"VAL_100":"101.0","val_100":"100"}	100
PREHOOK: query: DROP TABLE hbase_table_8
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE hbase_table_8
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_8(key int, value1 string, value2 int, value3 int) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "a:b,a:c,d:e"
)
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_8
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_8(key int, value1 string, value2 int, value3 int) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "a:b,a:c,d:e"
)
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_8
PREHOOK: query: INSERT OVERWRITE TABLE hbase_table_8 SELECT key, value, key+1, key+2 
FROM src WHERE key=98 OR key=100
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_8
POSTHOOK: query: INSERT OVERWRITE TABLE hbase_table_8 SELECT key, value, key+1, key+2 
FROM src WHERE key=98 OR key=100
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_8
PREHOOK: query: SELECT * FROM hbase_table_8 ORDER BY key
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_8
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM hbase_table_8 ORDER BY key
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_8
#### A masked pattern was here ####
98	val_98	99	100
100	val_100	101	102
PREHOOK: query: DROP TABLE IF EXISTS hbase_table_3_like
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS hbase_table_3_like
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE TABLE hbase_table_3_like LIKE hbase_table_3
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_3_like
POSTHOOK: query: CREATE TABLE hbase_table_3_like LIKE hbase_table_3
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_3_like
PREHOOK: query: DESCRIBE EXTENDED hbase_table_3_like
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@hbase_table_3_like
POSTHOOK: query: DESCRIBE EXTENDED hbase_table_3_like
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@hbase_table_3_like
key                 	int                 	                    
value               	string              	                    
count               	int                 	                    
	 	 
#### A masked pattern was here ####
PREHOOK: query: INSERT OVERWRITE TABLE hbase_table_3_like SELECT * FROM hbase_table_3
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_3
PREHOOK: Output: default@hbase_table_3_like
POSTHOOK: query: INSERT OVERWRITE TABLE hbase_table_3_like SELECT * FROM hbase_table_3
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_3
POSTHOOK: Output: default@hbase_table_3_like
POSTHOOK: Lineage: hbase_table_3_like.count SIMPLE [(hbase_table_3)hbase_table_3.FieldSchema(name:count, type:int, comment:), ]
POSTHOOK: Lineage: hbase_table_3_like.key SIMPLE [(hbase_table_3)hbase_table_3.FieldSchema(name:key, type:int, comment:), ]
POSTHOOK: Lineage: hbase_table_3_like.value SIMPLE [(hbase_table_3)hbase_table_3.FieldSchema(name:value, type:string, comment:), ]
PREHOOK: query: SELECT * FROM hbase_table_3_like ORDER BY key, value LIMIT 5
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_3_like
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM hbase_table_3_like ORDER BY key, value LIMIT 5
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_3_like
#### A masked pattern was here ####
0	val_0	3
2	val_2	1
4	val_4	1
8	val_8	1
10	val_10	1
PREHOOK: query: DROP TABLE IF EXISTS hbase_table_1_like
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS hbase_table_1_like
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_1_like LIKE hbase_table_1
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_1_like
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_1_like LIKE hbase_table_1
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_1_like
PREHOOK: query: DESCRIBE EXTENDED hbase_table_1_like
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@hbase_table_1_like
POSTHOOK: query: DESCRIBE EXTENDED hbase_table_1_like
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@hbase_table_1_like
key                 	int                 	It is a column key  
value               	string              	It is the column string value
	 	 
#### A masked pattern was here ####
PREHOOK: query: INSERT OVERWRITE TABLE hbase_table_1_like SELECT * FROM hbase_table_1
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1
PREHOOK: Output: default@hbase_table_1_like
POSTHOOK: query: INSERT OVERWRITE TABLE hbase_table_1_like SELECT * FROM hbase_table_1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Output: default@hbase_table_1_like
POSTHOOK: Lineage: hbase_table_1_like.key SIMPLE [(hbase_table_1)hbase_table_1.FieldSchema(name:key, type:int, comment:It is a column key), ]
POSTHOOK: Lineage: hbase_table_1_like.value SIMPLE [(hbase_table_1)hbase_table_1.FieldSchema(name:value, type:string, comment:It is the column string value), ]
PREHOOK: query: SELECT COUNT(*) FROM hbase_table_1_like
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_1_like
#### A masked pattern was here ####
POSTHOOK: query: SELECT COUNT(*) FROM hbase_table_1_like
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_1_like
#### A masked pattern was here ####
155
PREHOOK: query: SHOW CREATE TABLE hbase_table_1_like
PREHOOK: type: SHOW_CREATETABLE
PREHOOK: Input: default@hbase_table_1_like
POSTHOOK: query: SHOW CREATE TABLE hbase_table_1_like
POSTHOOK: type: SHOW_CREATETABLE
POSTHOOK: Input: default@hbase_table_1_like
CREATE EXTERNAL TABLE `hbase_table_1_like`(
  `key` int COMMENT 'It is a column key', 
  `value` string COMMENT 'It is the column string value')
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
#### A masked pattern was here ####
TBLPROPERTIES (
  'bucketing_version'='2', 
#### A masked pattern was here ####
PREHOOK: query: DROP TABLE IF EXISTS hbase_table_9
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS hbase_table_9
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_9 (id bigint, data map<string, string>, str string)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ("hbase.columns.mapping" = ":key,cf:map_col#s:s,cf:str_col")
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_9
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_9 (id bigint, data map<string, string>, str string)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ("hbase.columns.mapping" = ":key,cf:map_col#s:s,cf:str_col")
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_9
PREHOOK: query: insert overwrite table hbase_table_9 select 1 as id, map('abcd', null) as data , null as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_9
POSTHOOK: query: insert overwrite table hbase_table_9 select 1 as id, map('abcd', null) as data , null as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_9
PREHOOK: query: insert into table hbase_table_9 select 2 as id, map('efgh', null) as data , '1234' as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_9
POSTHOOK: query: insert into table hbase_table_9 select 2 as id, map('efgh', null) as data , '1234' as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_9
PREHOOK: query: insert into table hbase_table_9 select 3 as id, map('hij', '') as data , '1234' as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_9
POSTHOOK: query: insert into table hbase_table_9 select 3 as id, map('hij', '') as data , '1234' as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_9
PREHOOK: query: insert into table hbase_table_9 select 4 as id, map('klm', 'avalue') as data , '1234' as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_9
POSTHOOK: query: insert into table hbase_table_9 select 4 as id, map('klm', 'avalue') as data , '1234' as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_9
PREHOOK: query: insert into table hbase_table_9 select 5 as id, map('key1',null, 'key2', 'avalue') as data , '1234' as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_9
POSTHOOK: query: insert into table hbase_table_9 select 5 as id, map('key1',null, 'key2', 'avalue') as data , '1234' as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_9
PREHOOK: query: select * from hbase_table_9
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_9
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_table_9
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_9
#### A masked pattern was here ####
1	{"abcd":null}	NULL
2	{"efgh":null}	1234
3	{"hij":""}	1234
4	{"klm":"avalue"}	1234
5	{"key1":null,"key2":"avalue"}	1234
PREHOOK: query: DROP TABLE IF EXISTS hbase_table_10
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS hbase_table_10
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_10 (id bigint, data map<int, int>, str string)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ("hbase.columns.mapping" = ":key,cf:map_col2,cf:str2_col")
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_10
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_10 (id bigint, data map<int, int>, str string)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ("hbase.columns.mapping" = ":key,cf:map_col2,cf:str2_col")
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_10
PREHOOK: query: insert overwrite table hbase_table_10 select 1 as id, map(10, cast(null as int)) as data , null as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_10
POSTHOOK: query: insert overwrite table hbase_table_10 select 1 as id, map(10, cast(null as int)) as data , null as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_10
PREHOOK: query: insert into table hbase_table_10 select 2 as id, map(20, cast(null as int)) as data , '1234' as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_10
POSTHOOK: query: insert into table hbase_table_10 select 2 as id, map(20, cast(null as int)) as data , '1234' as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_10
PREHOOK: query: insert into table hbase_table_10 select 3 as id, map(30, 31) as data , '1234' as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_10
POSTHOOK: query: insert into table hbase_table_10 select 3 as id, map(30, 31) as data , '1234' as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_10
PREHOOK: query: insert into table hbase_table_10 select 4 as id, map(40, cast(null as int), 45, cast(null as int)) as data , '1234' as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_10
POSTHOOK: query: insert into table hbase_table_10 select 4 as id, map(40, cast(null as int), 45, cast(null as int)) as data , '1234' as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_10
PREHOOK: query: insert into table hbase_table_10 select 5 as id, map(50,cast(null as int), 55, 58) as data , '1234' as str from src limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_10
POSTHOOK: query: insert into table hbase_table_10 select 5 as id, map(50,cast(null as int), 55, 58) as data , '1234' as str from src limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_10
PREHOOK: query: select * from hbase_table_10
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_10
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_table_10
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_10
#### A masked pattern was here ####
1	{10:null}	NULL
2	{20:null}	1234
3	{30:31}	1234
4	{40:null,45:null}	1234
5	{50:null,55:58}	1234
PREHOOK: query: DROP TABLE IF EXISTS hbase_table_11
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS hbase_table_11
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_11(id INT, map_column STRUCT<s_int:INT,s_string:STRING,s_date:DATE>)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ('hbase.columns.mapping'=':key,id:id')
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_11
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_11(id INT, map_column STRUCT<s_int:INT,s_string:STRING,s_date:DATE>)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ('hbase.columns.mapping'=':key,id:id')
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_11
PREHOOK: query: INSERT INTO hbase_table_11 SELECT 2,NAMED_STRUCT("s_int",CAST(NULL AS INT),"s_string","s1","s_date",CAST('2018-03-12' AS DATE)) FROM src LIMIT 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_11
POSTHOOK: query: INSERT INTO hbase_table_11 SELECT 2,NAMED_STRUCT("s_int",CAST(NULL AS INT),"s_string","s1","s_date",CAST('2018-03-12' AS DATE)) FROM src LIMIT 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_11
PREHOOK: query: select * from hbase_table_11
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_11
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_table_11
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_11
#### A masked pattern was here ####
2	{"s_int":null,"s_string":"s1","s_date":"2018-03-12"}
PREHOOK: query: DROP TABLE IF EXISTS hbase_table_12
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS hbase_table_12
POSTHOOK: type: DROPTABLE
PREHOOK: query: CREATE EXTERNAL TABLE hbase_table_12(id INT, list_column ARRAY <STRING>)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ('hbase.columns.mapping'=':key,id:id')
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_table_12
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_table_12(id INT, list_column ARRAY <STRING>)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ('hbase.columns.mapping'=':key,id:id')
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_table_12
PREHOOK: query: INSERT INTO hbase_table_12 SELECT 2, ARRAY("a", CAST (NULL AS STRING),  "b") FROM src LIMIT 1
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_table_12
POSTHOOK: query: INSERT INTO hbase_table_12 SELECT 2, ARRAY("a", CAST (NULL AS STRING),  "b") FROM src LIMIT 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_table_12
PREHOOK: query: select * from hbase_table_12
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_table_12
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_table_12
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_table_12
#### A masked pattern was here ####
2	["a","","b"]
PREHOOK: query: DROP TABLE hbase_table_1
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_1
PREHOOK: Output: default@hbase_table_1
POSTHOOK: query: DROP TABLE hbase_table_1
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_1
POSTHOOK: Output: default@hbase_table_1
PREHOOK: query: DROP TABLE hbase_table_1_like
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_1_like
PREHOOK: Output: default@hbase_table_1_like
POSTHOOK: query: DROP TABLE hbase_table_1_like
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_1_like
POSTHOOK: Output: default@hbase_table_1_like
PREHOOK: query: DROP TABLE hbase_table_2
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_2
PREHOOK: Output: default@hbase_table_2
POSTHOOK: query: DROP TABLE hbase_table_2
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_2
POSTHOOK: Output: default@hbase_table_2
PREHOOK: query: DROP TABLE hbase_table_3
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_3
PREHOOK: Output: default@hbase_table_3
POSTHOOK: query: DROP TABLE hbase_table_3
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_3
POSTHOOK: Output: default@hbase_table_3
PREHOOK: query: DROP TABLE hbase_table_3_like
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_3_like
PREHOOK: Output: default@hbase_table_3_like
POSTHOOK: query: DROP TABLE hbase_table_3_like
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_3_like
POSTHOOK: Output: default@hbase_table_3_like
PREHOOK: query: DROP TABLE hbase_table_4
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_4
PREHOOK: Output: default@hbase_table_4
POSTHOOK: query: DROP TABLE hbase_table_4
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_4
POSTHOOK: Output: default@hbase_table_4
PREHOOK: query: DROP TABLE hbase_table_5
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_5
PREHOOK: Output: default@hbase_table_5
POSTHOOK: query: DROP TABLE hbase_table_5
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_5
POSTHOOK: Output: default@hbase_table_5
PREHOOK: query: DROP TABLE hbase_table_6
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_6
PREHOOK: Output: default@hbase_table_6
POSTHOOK: query: DROP TABLE hbase_table_6
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_6
POSTHOOK: Output: default@hbase_table_6
PREHOOK: query: DROP TABLE hbase_table_7
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_7
PREHOOK: Output: default@hbase_table_7
POSTHOOK: query: DROP TABLE hbase_table_7
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_7
POSTHOOK: Output: default@hbase_table_7
PREHOOK: query: DROP TABLE hbase_table_8
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_8
PREHOOK: Output: default@hbase_table_8
POSTHOOK: query: DROP TABLE hbase_table_8
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_8
POSTHOOK: Output: default@hbase_table_8
PREHOOK: query: DROP TABLE empty_hbase_table
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@empty_hbase_table
PREHOOK: Output: default@empty_hbase_table
POSTHOOK: query: DROP TABLE empty_hbase_table
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@empty_hbase_table
POSTHOOK: Output: default@empty_hbase_table
PREHOOK: query: DROP TABLE empty_normal_table
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@empty_normal_table
PREHOOK: Output: default@empty_normal_table
POSTHOOK: query: DROP TABLE empty_normal_table
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@empty_normal_table
POSTHOOK: Output: default@empty_normal_table
PREHOOK: query: DROP TABLE hbase_table_9
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_9
PREHOOK: Output: default@hbase_table_9
POSTHOOK: query: DROP TABLE hbase_table_9
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_9
POSTHOOK: Output: default@hbase_table_9
PREHOOK: query: DROP TABLE hbase_table_10
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_10
PREHOOK: Output: default@hbase_table_10
POSTHOOK: query: DROP TABLE hbase_table_10
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_10
POSTHOOK: Output: default@hbase_table_10
PREHOOK: query: DROP TABLE hbase_table_11
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_11
PREHOOK: Output: default@hbase_table_11
POSTHOOK: query: DROP TABLE hbase_table_11
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_11
POSTHOOK: Output: default@hbase_table_11
PREHOOK: query: DROP TABLE hbase_table_12
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@hbase_table_12
PREHOOK: Output: default@hbase_table_12
POSTHOOK: query: DROP TABLE hbase_table_12
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@hbase_table_12
POSTHOOK: Output: default@hbase_table_12
