You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by sa...@apache.org on 2019/04/16 06:23:38 UTC
[hive] branch master updated: HIVE-21564: Load data into a bucketed
table is ignoring partitions specs and loads data into default partition
(Sankar Hariappan, reviewed by Jesus Camacho Rodriguez)
This is an automated email from the ASF dual-hosted git repository.
sankarh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 5759778 HIVE-21564: Load data into a bucketed table is ignoring partitions specs and loads data into default partition (Sankar Hariappan, reviewed by Jesus Camacho Rodriguez)
5759778 is described below
commit 5759778236b3dd518a8a18b87ef3a0fad845a604
Author: Sankar Hariappan <sa...@apache.org>
AuthorDate: Tue Apr 16 11:52:20 2019 +0530
HIVE-21564: Load data into a bucketed table is ignoring partitions specs and loads data into default partition (Sankar Hariappan, reviewed by Jesus Camacho Rodriguez)
Signed-off-by: Sankar Hariappan <sa...@apache.org>
---
.../hadoop/hive/ql/parse/LoadSemanticAnalyzer.java | 57 +-
.../hadoop/hive/ql/parse/SemanticAnalyzer.java | 20 +-
.../load_static_ptn_into_bucketed_table.q | 42 +
.../load_static_ptn_into_bucketed_table.q.out | 857 +++++++++++++++++++++
4 files changed, 969 insertions(+), 7 deletions(-)
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java
index ef7aa87..ead45ca 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java
@@ -451,11 +451,6 @@ public class LoadSemanticAnalyzer extends SemanticAnalyzer {
String tempTblName = table.getTableName() + tempTblNameSuffix;
tempTableObj.setTableName(tempTblName);
- // Move all the partition columns at the end of table columns
- tempTableObj.setFields(table.getAllCols());
- // wipe out partition columns
- tempTableObj.setPartCols(new ArrayList<>());
-
// Reset table params
tempTableObj.setParameters(new HashMap<>());
@@ -470,12 +465,62 @@ public class LoadSemanticAnalyzer extends SemanticAnalyzer {
}
}
+ // Make the columns list for the temp table (input data file).
+ // Move all the partition columns at the end of table columns.
+ ArrayList<FieldSchema> colList = new ArrayList<FieldSchema>();
+ colList.addAll(table.getCols());
+
+ // inpPartSpec is a mapping from partition column name to its value.
+ Map<String, String> inpPartSpec = null;
+
+ // Partition spec was already validated by caller when create TableSpec object.
+ // So, need not validate inpPartSpec here.
+ List<FieldSchema> parts = table.getPartCols();
+ if (tableTree.getChildCount() >= 2) {
+ ASTNode partSpecNode = (ASTNode) tableTree.getChild(1);
+ inpPartSpec = new HashMap<>(partSpecNode.getChildCount());
+
+ for (int i = 0; i < partSpecNode.getChildCount(); ++i) {
+ ASTNode partSpecValNode = (ASTNode) partSpecNode.getChild(i);
+ String partVal = null;
+ String partColName = unescapeIdentifier(partSpecValNode.getChild(0).getText().toLowerCase());
+
+ if (partSpecValNode.getChildCount() >= 2) { // in the form of T partition (ds="2010-03-03")
+ // Not stripping quotes here as we need to use it as it is while framing PARTITION clause
+ // in INSERT query.
+ partVal = partSpecValNode.getChild(1).getText();
+ }
+ inpPartSpec.put(partColName, partVal);
+ }
+
+ // Add only dynamic partition columns to the temp table (input data file).
+ // For static partitions, values would be obtained from partition(key=value...) clause.
+ for (FieldSchema fs : parts) {
+ String partKey = fs.getName();
+
+ // If a partition value is not there, then it is dynamic partition key.
+ if (inpPartSpec.get(partKey) == null) {
+ colList.add(fs);
+ }
+ }
+ } else {
+ // No static partitions specified and hence all are dynamic partition keys and need to be part
+ // of temp table (input data file).
+ colList.addAll(parts);
+ }
+
+ // Set columns list for temp table.
+ tempTableObj.setFields(colList);
+
+ // Wipe out partition columns
+ tempTableObj.setPartCols(new ArrayList<>());
+
// Step 2 : create the Insert query
StringBuilder rewrittenQueryStr = new StringBuilder();
rewrittenQueryStr.append("insert into table ");
rewrittenQueryStr.append(getFullTableNameForSQL((ASTNode)(tableTree.getChild(0))));
- addPartitionColsToInsert(table.getPartCols(), rewrittenQueryStr);
+ addPartitionColsToInsert(table.getPartCols(), inpPartSpec, rewrittenQueryStr);
rewrittenQueryStr.append(" select * from ");
rewrittenQueryStr.append(tempTblName);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
index f89e8f8..0e58fe2 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
@@ -15302,6 +15302,20 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
* INSERT INTO T PARTITION(partCol1,partCol2...) SELECT col1, ... partCol1,partCol2...
*/
protected void addPartitionColsToInsert(List<FieldSchema> partCols, StringBuilder rewrittenQueryStr) {
+ addPartitionColsToInsert(partCols, null, rewrittenQueryStr);
+ }
+
+ /**
+ * Append list of partition columns to Insert statement. If user specified partition spec, then
+ * use it to get/set the value for partition column else use dynamic partition mode with no value.
+ * Static partition mode:
+ * INSERT INTO T PARTITION(partCol1=val1,partCol2...) SELECT col1, ... partCol1,partCol2...
+ * Dynamic partition mode:
+ * INSERT INTO T PARTITION(partCol1,partCol2...) SELECT col1, ... partCol1,partCol2...
+ */
+ protected void addPartitionColsToInsert(List<FieldSchema> partCols,
+ Map<String, String> partSpec,
+ StringBuilder rewrittenQueryStr) {
// If the table is partitioned we have to put the partition() clause in
if (partCols != null && partCols.size() > 0) {
rewrittenQueryStr.append(" partition (");
@@ -15312,8 +15326,12 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
} else {
rewrittenQueryStr.append(", ");
}
- //would be nice if there was a way to determine if quotes are needed
+ // Would be nice if there was a way to determine if quotes are needed
rewrittenQueryStr.append(HiveUtils.unparseIdentifier(fschema.getName(), this.conf));
+ String partVal = (partSpec != null) ? partSpec.get(fschema.getName()) : null;
+ if (partVal != null) {
+ rewrittenQueryStr.append("=").append(partVal);
+ }
}
rewrittenQueryStr.append(")");
}
diff --git a/ql/src/test/queries/clientpositive/load_static_ptn_into_bucketed_table.q b/ql/src/test/queries/clientpositive/load_static_ptn_into_bucketed_table.q
new file mode 100644
index 0000000..6b6d160
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/load_static_ptn_into_bucketed_table.q
@@ -0,0 +1,42 @@
+set hive.stats.column.autogather=false;
+set hive.strict.checks.bucketing=true;
+
+set hive.explain.user=false;
+
+-- SORT_QUERY_RESULTS
+
+-- Single key partition
+-- Load with full partition spec
+CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE;
+explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds='2008-04-08');
+load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds='2008-04-08');
+select * from src_bucket_tbl where ds='2008-04-08';
+
+drop table src_bucket_tbl;
+
+-- Multi key partition
+-- Load with both static and dynamic partition spec where dynamic partition value is not in file and expected to use default partition.
+CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE;
+explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds, hr=10);
+load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds, hr=10);
+select * from src_bucket_tbl where hr=10;
+
+drop table src_bucket_tbl;
+
+-- Multi key partition
+-- Load with both static and dynamic partition spec where dynamic partition value present in file.
+CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE;
+explain load data local inpath '../../data/files/load_data_job/load_data_1_partition.txt' INTO TABLE src_bucket_tbl partition(hr=20, ds);
+load data local inpath '../../data/files/load_data_job/load_data_1_partition.txt' INTO TABLE src_bucket_tbl partition(hr=20, ds);
+select * from src_bucket_tbl where hr=20 and ds='2008-04-08';
+
+drop table src_bucket_tbl;
+
+-- Multi key partition
+-- Load with both static and dynamic partition spec
+CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE;
+explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(hr=30, ds='2010-05-07');
+load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(hr=30, ds='2010-05-07');
+select * from src_bucket_tbl where hr=30 and ds='2010-05-07';
+
+drop table src_bucket_tbl;
\ No newline at end of file
diff --git a/ql/src/test/results/clientpositive/load_static_ptn_into_bucketed_table.q.out b/ql/src/test/results/clientpositive/load_static_ptn_into_bucketed_table.q.out
new file mode 100644
index 0000000..d646077
--- /dev/null
+++ b/ql/src/test/results/clientpositive/load_static_ptn_into_bucketed_table.q.out
@@ -0,0 +1,857 @@
+PREHOOK: query: CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_bucket_tbl
+POSTHOOK: query: CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_bucket_tbl
+PREHOOK: query: explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds='2008-04-08')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+PREHOOK: Output: default@src_bucket_tbl@ds=2008-04-08
+POSTHOOK: query: explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds='2008-04-08')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+POSTHOOK: Output: default@src_bucket_tbl@ds=2008-04-08
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+ Stage-2 depends on stages: Stage-0
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: src_bucket_tbl__temp_table_for_load_data__
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ sort order:
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: int), _col1 (type: string)
+ Execution mode: vectorized
+ Reduce Operator Tree:
+ Select Operator
+ expressions: VALUE._col0 (type: int), VALUE._col1 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src_bucket_tbl
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ partition:
+ ds 2008-04-08
+ replace: false
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src_bucket_tbl
+
+ Stage: Stage-2
+ Stats Work
+ Basic Stats Work:
+
+PREHOOK: query: load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds='2008-04-08')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+PREHOOK: Output: default@src_bucket_tbl@ds=2008-04-08
+POSTHOOK: query: load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds='2008-04-08')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+POSTHOOK: Output: default@src_bucket_tbl@ds=2008-04-08
+POSTHOOK: Lineage: src_bucket_tbl PARTITION(ds=2008-04-08).key SIMPLE [(src_bucket_tbl__temp_table_for_load_data__)src_bucket_tbl__temp_table_for_load_data__.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: src_bucket_tbl PARTITION(ds=2008-04-08).value SIMPLE [(src_bucket_tbl__temp_table_for_load_data__)src_bucket_tbl__temp_table_for_load_data__.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: select * from src_bucket_tbl where ds='2008-04-08'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl
+PREHOOK: Input: default@src_bucket_tbl@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src_bucket_tbl where ds='2008-04-08'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl
+POSTHOOK: Input: default@src_bucket_tbl@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 2008-04-08
+0 val_0 2008-04-08
+0 val_0 2008-04-08
+103 val_103 2008-04-08
+103 val_103 2008-04-08
+11 val_11 2008-04-08
+114 val_114 2008-04-08
+118 val_118 2008-04-08
+118 val_118 2008-04-08
+125 val_125 2008-04-08
+125 val_125 2008-04-08
+129 val_129 2008-04-08
+129 val_129 2008-04-08
+136 val_136 2008-04-08
+143 val_143 2008-04-08
+15 val_15 2008-04-08
+15 val_15 2008-04-08
+150 val_150 2008-04-08
+158 val_158 2008-04-08
+165 val_165 2008-04-08
+165 val_165 2008-04-08
+169 val_169 2008-04-08
+169 val_169 2008-04-08
+169 val_169 2008-04-08
+169 val_169 2008-04-08
+172 val_172 2008-04-08
+172 val_172 2008-04-08
+176 val_176 2008-04-08
+176 val_176 2008-04-08
+183 val_183 2008-04-08
+187 val_187 2008-04-08
+187 val_187 2008-04-08
+187 val_187 2008-04-08
+19 val_19 2008-04-08
+190 val_190 2008-04-08
+194 val_194 2008-04-08
+202 val_202 2008-04-08
+213 val_213 2008-04-08
+213 val_213 2008-04-08
+217 val_217 2008-04-08
+217 val_217 2008-04-08
+224 val_224 2008-04-08
+224 val_224 2008-04-08
+228 val_228 2008-04-08
+235 val_235 2008-04-08
+239 val_239 2008-04-08
+239 val_239 2008-04-08
+242 val_242 2008-04-08
+242 val_242 2008-04-08
+257 val_257 2008-04-08
+26 val_26 2008-04-08
+26 val_26 2008-04-08
+260 val_260 2008-04-08
+275 val_275 2008-04-08
+282 val_282 2008-04-08
+282 val_282 2008-04-08
+286 val_286 2008-04-08
+305 val_305 2008-04-08
+309 val_309 2008-04-08
+309 val_309 2008-04-08
+316 val_316 2008-04-08
+316 val_316 2008-04-08
+316 val_316 2008-04-08
+323 val_323 2008-04-08
+327 val_327 2008-04-08
+327 val_327 2008-04-08
+327 val_327 2008-04-08
+33 val_33 2008-04-08
+338 val_338 2008-04-08
+341 val_341 2008-04-08
+345 val_345 2008-04-08
+356 val_356 2008-04-08
+367 val_367 2008-04-08
+367 val_367 2008-04-08
+37 val_37 2008-04-08
+37 val_37 2008-04-08
+374 val_374 2008-04-08
+378 val_378 2008-04-08
+389 val_389 2008-04-08
+392 val_392 2008-04-08
+396 val_396 2008-04-08
+396 val_396 2008-04-08
+396 val_396 2008-04-08
+4 val_4 2008-04-08
+400 val_400 2008-04-08
+404 val_404 2008-04-08
+404 val_404 2008-04-08
+411 val_411 2008-04-08
+419 val_419 2008-04-08
+437 val_437 2008-04-08
+44 val_44 2008-04-08
+444 val_444 2008-04-08
+448 val_448 2008-04-08
+455 val_455 2008-04-08
+459 val_459 2008-04-08
+459 val_459 2008-04-08
+462 val_462 2008-04-08
+462 val_462 2008-04-08
+466 val_466 2008-04-08
+466 val_466 2008-04-08
+466 val_466 2008-04-08
+477 val_477 2008-04-08
+480 val_480 2008-04-08
+480 val_480 2008-04-08
+480 val_480 2008-04-08
+484 val_484 2008-04-08
+491 val_491 2008-04-08
+495 val_495 2008-04-08
+51 val_51 2008-04-08
+51 val_51 2008-04-08
+66 val_66 2008-04-08
+77 val_77 2008-04-08
+8 val_8 2008-04-08
+80 val_80 2008-04-08
+84 val_84 2008-04-08
+84 val_84 2008-04-08
+95 val_95 2008-04-08
+95 val_95 2008-04-08
+PREHOOK: query: drop table src_bucket_tbl
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_bucket_tbl
+PREHOOK: Output: default@src_bucket_tbl
+POSTHOOK: query: drop table src_bucket_tbl
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_bucket_tbl
+POSTHOOK: Output: default@src_bucket_tbl
+PREHOOK: query: CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_bucket_tbl
+POSTHOOK: query: CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_bucket_tbl
+PREHOOK: query: explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds, hr=10)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+PREHOOK: Output: default@src_bucket_tbl@hr=10
+POSTHOOK: query: explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds, hr=10)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+ Stage-2 depends on stages: Stage-0
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: src_bucket_tbl__temp_table_for_load_data__
+ Statistics: Num rows: 35 Data size: 13020 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string), ds (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 35 Data size: 13020 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col2 (type: string), _bucket_number (type: string)
+ sort order: ++
+ Map-reduce partition columns: _col2 (type: string)
+ value expressions: _col0 (type: int), _col1 (type: string)
+ Execution mode: vectorized
+ Reduce Operator Tree:
+ Select Operator
+ expressions: VALUE._col0 (type: int), VALUE._col1 (type: string), KEY._col2 (type: string), KEY._bucket_number (type: string)
+ outputColumnNames: _col0, _col1, _col2, _bucket_number
+ File Output Operator
+ compressed: false
+ Dp Sort State: PARTITION_BUCKET_SORTED
+ Statistics: Num rows: 35 Data size: 13020 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src_bucket_tbl
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ partition:
+ ds
+ hr 10
+ replace: false
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src_bucket_tbl
+
+ Stage: Stage-2
+ Stats Work
+ Basic Stats Work:
+
+PREHOOK: query: load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds, hr=10)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+PREHOOK: Output: default@src_bucket_tbl@hr=10
+POSTHOOK: query: load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(ds, hr=10)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+POSTHOOK: Output: default@src_bucket_tbl@hr=10/ds=__HIVE_DEFAULT_PARTITION__
+POSTHOOK: Lineage: src_bucket_tbl PARTITION(hr=10,ds=__HIVE_DEFAULT_PARTITION__).key SIMPLE [(src_bucket_tbl__temp_table_for_load_data__)src_bucket_tbl__temp_table_for_load_data__.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: src_bucket_tbl PARTITION(hr=10,ds=__HIVE_DEFAULT_PARTITION__).value SIMPLE [(src_bucket_tbl__temp_table_for_load_data__)src_bucket_tbl__temp_table_for_load_data__.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: select * from src_bucket_tbl where hr=10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl
+PREHOOK: Input: default@src_bucket_tbl@hr=10/ds=__HIVE_DEFAULT_PARTITION__
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src_bucket_tbl where hr=10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl
+POSTHOOK: Input: default@src_bucket_tbl@hr=10/ds=__HIVE_DEFAULT_PARTITION__
+#### A masked pattern was here ####
+0 val_0 10 __HIVE_DEFAULT_PARTITION__
+0 val_0 10 __HIVE_DEFAULT_PARTITION__
+0 val_0 10 __HIVE_DEFAULT_PARTITION__
+103 val_103 10 __HIVE_DEFAULT_PARTITION__
+103 val_103 10 __HIVE_DEFAULT_PARTITION__
+11 val_11 10 __HIVE_DEFAULT_PARTITION__
+114 val_114 10 __HIVE_DEFAULT_PARTITION__
+118 val_118 10 __HIVE_DEFAULT_PARTITION__
+118 val_118 10 __HIVE_DEFAULT_PARTITION__
+125 val_125 10 __HIVE_DEFAULT_PARTITION__
+125 val_125 10 __HIVE_DEFAULT_PARTITION__
+129 val_129 10 __HIVE_DEFAULT_PARTITION__
+129 val_129 10 __HIVE_DEFAULT_PARTITION__
+136 val_136 10 __HIVE_DEFAULT_PARTITION__
+143 val_143 10 __HIVE_DEFAULT_PARTITION__
+15 val_15 10 __HIVE_DEFAULT_PARTITION__
+15 val_15 10 __HIVE_DEFAULT_PARTITION__
+150 val_150 10 __HIVE_DEFAULT_PARTITION__
+158 val_158 10 __HIVE_DEFAULT_PARTITION__
+165 val_165 10 __HIVE_DEFAULT_PARTITION__
+165 val_165 10 __HIVE_DEFAULT_PARTITION__
+169 val_169 10 __HIVE_DEFAULT_PARTITION__
+169 val_169 10 __HIVE_DEFAULT_PARTITION__
+169 val_169 10 __HIVE_DEFAULT_PARTITION__
+169 val_169 10 __HIVE_DEFAULT_PARTITION__
+172 val_172 10 __HIVE_DEFAULT_PARTITION__
+172 val_172 10 __HIVE_DEFAULT_PARTITION__
+176 val_176 10 __HIVE_DEFAULT_PARTITION__
+176 val_176 10 __HIVE_DEFAULT_PARTITION__
+183 val_183 10 __HIVE_DEFAULT_PARTITION__
+187 val_187 10 __HIVE_DEFAULT_PARTITION__
+187 val_187 10 __HIVE_DEFAULT_PARTITION__
+187 val_187 10 __HIVE_DEFAULT_PARTITION__
+19 val_19 10 __HIVE_DEFAULT_PARTITION__
+190 val_190 10 __HIVE_DEFAULT_PARTITION__
+194 val_194 10 __HIVE_DEFAULT_PARTITION__
+202 val_202 10 __HIVE_DEFAULT_PARTITION__
+213 val_213 10 __HIVE_DEFAULT_PARTITION__
+213 val_213 10 __HIVE_DEFAULT_PARTITION__
+217 val_217 10 __HIVE_DEFAULT_PARTITION__
+217 val_217 10 __HIVE_DEFAULT_PARTITION__
+224 val_224 10 __HIVE_DEFAULT_PARTITION__
+224 val_224 10 __HIVE_DEFAULT_PARTITION__
+228 val_228 10 __HIVE_DEFAULT_PARTITION__
+235 val_235 10 __HIVE_DEFAULT_PARTITION__
+239 val_239 10 __HIVE_DEFAULT_PARTITION__
+239 val_239 10 __HIVE_DEFAULT_PARTITION__
+242 val_242 10 __HIVE_DEFAULT_PARTITION__
+242 val_242 10 __HIVE_DEFAULT_PARTITION__
+257 val_257 10 __HIVE_DEFAULT_PARTITION__
+26 val_26 10 __HIVE_DEFAULT_PARTITION__
+26 val_26 10 __HIVE_DEFAULT_PARTITION__
+260 val_260 10 __HIVE_DEFAULT_PARTITION__
+275 val_275 10 __HIVE_DEFAULT_PARTITION__
+282 val_282 10 __HIVE_DEFAULT_PARTITION__
+282 val_282 10 __HIVE_DEFAULT_PARTITION__
+286 val_286 10 __HIVE_DEFAULT_PARTITION__
+305 val_305 10 __HIVE_DEFAULT_PARTITION__
+309 val_309 10 __HIVE_DEFAULT_PARTITION__
+309 val_309 10 __HIVE_DEFAULT_PARTITION__
+316 val_316 10 __HIVE_DEFAULT_PARTITION__
+316 val_316 10 __HIVE_DEFAULT_PARTITION__
+316 val_316 10 __HIVE_DEFAULT_PARTITION__
+323 val_323 10 __HIVE_DEFAULT_PARTITION__
+327 val_327 10 __HIVE_DEFAULT_PARTITION__
+327 val_327 10 __HIVE_DEFAULT_PARTITION__
+327 val_327 10 __HIVE_DEFAULT_PARTITION__
+33 val_33 10 __HIVE_DEFAULT_PARTITION__
+338 val_338 10 __HIVE_DEFAULT_PARTITION__
+341 val_341 10 __HIVE_DEFAULT_PARTITION__
+345 val_345 10 __HIVE_DEFAULT_PARTITION__
+356 val_356 10 __HIVE_DEFAULT_PARTITION__
+367 val_367 10 __HIVE_DEFAULT_PARTITION__
+367 val_367 10 __HIVE_DEFAULT_PARTITION__
+37 val_37 10 __HIVE_DEFAULT_PARTITION__
+37 val_37 10 __HIVE_DEFAULT_PARTITION__
+374 val_374 10 __HIVE_DEFAULT_PARTITION__
+378 val_378 10 __HIVE_DEFAULT_PARTITION__
+389 val_389 10 __HIVE_DEFAULT_PARTITION__
+392 val_392 10 __HIVE_DEFAULT_PARTITION__
+396 val_396 10 __HIVE_DEFAULT_PARTITION__
+396 val_396 10 __HIVE_DEFAULT_PARTITION__
+396 val_396 10 __HIVE_DEFAULT_PARTITION__
+4 val_4 10 __HIVE_DEFAULT_PARTITION__
+400 val_400 10 __HIVE_DEFAULT_PARTITION__
+404 val_404 10 __HIVE_DEFAULT_PARTITION__
+404 val_404 10 __HIVE_DEFAULT_PARTITION__
+411 val_411 10 __HIVE_DEFAULT_PARTITION__
+419 val_419 10 __HIVE_DEFAULT_PARTITION__
+437 val_437 10 __HIVE_DEFAULT_PARTITION__
+44 val_44 10 __HIVE_DEFAULT_PARTITION__
+444 val_444 10 __HIVE_DEFAULT_PARTITION__
+448 val_448 10 __HIVE_DEFAULT_PARTITION__
+455 val_455 10 __HIVE_DEFAULT_PARTITION__
+459 val_459 10 __HIVE_DEFAULT_PARTITION__
+459 val_459 10 __HIVE_DEFAULT_PARTITION__
+462 val_462 10 __HIVE_DEFAULT_PARTITION__
+462 val_462 10 __HIVE_DEFAULT_PARTITION__
+466 val_466 10 __HIVE_DEFAULT_PARTITION__
+466 val_466 10 __HIVE_DEFAULT_PARTITION__
+466 val_466 10 __HIVE_DEFAULT_PARTITION__
+477 val_477 10 __HIVE_DEFAULT_PARTITION__
+480 val_480 10 __HIVE_DEFAULT_PARTITION__
+480 val_480 10 __HIVE_DEFAULT_PARTITION__
+480 val_480 10 __HIVE_DEFAULT_PARTITION__
+484 val_484 10 __HIVE_DEFAULT_PARTITION__
+491 val_491 10 __HIVE_DEFAULT_PARTITION__
+495 val_495 10 __HIVE_DEFAULT_PARTITION__
+51 val_51 10 __HIVE_DEFAULT_PARTITION__
+51 val_51 10 __HIVE_DEFAULT_PARTITION__
+66 val_66 10 __HIVE_DEFAULT_PARTITION__
+77 val_77 10 __HIVE_DEFAULT_PARTITION__
+8 val_8 10 __HIVE_DEFAULT_PARTITION__
+80 val_80 10 __HIVE_DEFAULT_PARTITION__
+84 val_84 10 __HIVE_DEFAULT_PARTITION__
+84 val_84 10 __HIVE_DEFAULT_PARTITION__
+95 val_95 10 __HIVE_DEFAULT_PARTITION__
+95 val_95 10 __HIVE_DEFAULT_PARTITION__
+PREHOOK: query: drop table src_bucket_tbl
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_bucket_tbl
+PREHOOK: Output: default@src_bucket_tbl
+POSTHOOK: query: drop table src_bucket_tbl
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_bucket_tbl
+POSTHOOK: Output: default@src_bucket_tbl
+PREHOOK: query: CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_bucket_tbl
+POSTHOOK: query: CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_bucket_tbl
+PREHOOK: query: explain load data local inpath '../../data/files/load_data_job/load_data_1_partition.txt' INTO TABLE src_bucket_tbl partition(hr=20, ds)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+PREHOOK: Output: default@src_bucket_tbl@hr=20
+POSTHOOK: query: explain load data local inpath '../../data/files/load_data_job/load_data_1_partition.txt' INTO TABLE src_bucket_tbl partition(hr=20, ds)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+ Stage-2 depends on stages: Stage-0
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: src_bucket_tbl__temp_table_for_load_data__
+ Statistics: Num rows: 68 Data size: 24552 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string), ds (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 68 Data size: 24552 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col2 (type: string), _bucket_number (type: string)
+ sort order: ++
+ Map-reduce partition columns: _col2 (type: string)
+ value expressions: _col0 (type: int), _col1 (type: string)
+ Execution mode: vectorized
+ Reduce Operator Tree:
+ Select Operator
+ expressions: VALUE._col0 (type: int), VALUE._col1 (type: string), KEY._col2 (type: string), KEY._bucket_number (type: string)
+ outputColumnNames: _col0, _col1, _col2, _bucket_number
+ File Output Operator
+ compressed: false
+ Dp Sort State: PARTITION_BUCKET_SORTED
+ Statistics: Num rows: 68 Data size: 24552 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src_bucket_tbl
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ partition:
+ ds
+ hr 20
+ replace: false
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src_bucket_tbl
+
+ Stage: Stage-2
+ Stats Work
+ Basic Stats Work:
+
+PREHOOK: query: load data local inpath '../../data/files/load_data_job/load_data_1_partition.txt' INTO TABLE src_bucket_tbl partition(hr=20, ds)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+PREHOOK: Output: default@src_bucket_tbl@hr=20
+POSTHOOK: query: load data local inpath '../../data/files/load_data_job/load_data_1_partition.txt' INTO TABLE src_bucket_tbl partition(hr=20, ds)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+POSTHOOK: Output: default@src_bucket_tbl@hr=20/ds=2008-04-08
+POSTHOOK: Lineage: src_bucket_tbl PARTITION(hr=20,ds=2008-04-08).key SIMPLE [(src_bucket_tbl__temp_table_for_load_data__)src_bucket_tbl__temp_table_for_load_data__.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: src_bucket_tbl PARTITION(hr=20,ds=2008-04-08).value SIMPLE [(src_bucket_tbl__temp_table_for_load_data__)src_bucket_tbl__temp_table_for_load_data__.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: select * from src_bucket_tbl where hr=20 and ds='2008-04-08'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl
+PREHOOK: Input: default@src_bucket_tbl@hr=20/ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src_bucket_tbl where hr=20 and ds='2008-04-08'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl
+POSTHOOK: Input: default@src_bucket_tbl@hr=20/ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 20 2008-04-08
+0 val_0 20 2008-04-08
+0 val_0 20 2008-04-08
+103 val_103 20 2008-04-08
+103 val_103 20 2008-04-08
+11 val_11 20 2008-04-08
+114 val_114 20 2008-04-08
+118 val_118 20 2008-04-08
+118 val_118 20 2008-04-08
+125 val_125 20 2008-04-08
+125 val_125 20 2008-04-08
+129 val_129 20 2008-04-08
+129 val_129 20 2008-04-08
+136 val_136 20 2008-04-08
+143 val_143 20 2008-04-08
+15 val_15 20 2008-04-08
+15 val_15 20 2008-04-08
+150 val_150 20 2008-04-08
+158 val_158 20 2008-04-08
+165 val_165 20 2008-04-08
+165 val_165 20 2008-04-08
+169 val_169 20 2008-04-08
+169 val_169 20 2008-04-08
+169 val_169 20 2008-04-08
+169 val_169 20 2008-04-08
+172 val_172 20 2008-04-08
+172 val_172 20 2008-04-08
+176 val_176 20 2008-04-08
+176 val_176 20 2008-04-08
+183 val_183 20 2008-04-08
+187 val_187 20 2008-04-08
+187 val_187 20 2008-04-08
+187 val_187 20 2008-04-08
+19 val_19 20 2008-04-08
+190 val_190 20 2008-04-08
+194 val_194 20 2008-04-08
+202 val_202 20 2008-04-08
+213 val_213 20 2008-04-08
+213 val_213 20 2008-04-08
+217 val_217 20 2008-04-08
+217 val_217 20 2008-04-08
+224 val_224 20 2008-04-08
+224 val_224 20 2008-04-08
+228 val_228 20 2008-04-08
+235 val_235 20 2008-04-08
+239 val_239 20 2008-04-08
+239 val_239 20 2008-04-08
+242 val_242 20 2008-04-08
+242 val_242 20 2008-04-08
+257 val_257 20 2008-04-08
+26 val_26 20 2008-04-08
+26 val_26 20 2008-04-08
+260 val_260 20 2008-04-08
+275 val_275 20 2008-04-08
+282 val_282 20 2008-04-08
+282 val_282 20 2008-04-08
+286 val_286 20 2008-04-08
+305 val_305 20 2008-04-08
+309 val_309 20 2008-04-08
+309 val_309 20 2008-04-08
+316 val_316 20 2008-04-08
+316 val_316 20 2008-04-08
+316 val_316 20 2008-04-08
+323 val_323 20 2008-04-08
+327 val_327 20 2008-04-08
+327 val_327 20 2008-04-08
+327 val_327 20 2008-04-08
+33 val_33 20 2008-04-08
+338 val_338 20 2008-04-08
+341 val_341 20 2008-04-08
+345 val_345 20 2008-04-08
+356 val_356 20 2008-04-08
+367 val_367 20 2008-04-08
+367 val_367 20 2008-04-08
+37 val_37 20 2008-04-08
+37 val_37 20 2008-04-08
+374 val_374 20 2008-04-08
+378 val_378 20 2008-04-08
+389 val_389 20 2008-04-08
+392 val_392 20 2008-04-08
+396 val_396 20 2008-04-08
+396 val_396 20 2008-04-08
+396 val_396 20 2008-04-08
+4 val_4 20 2008-04-08
+400 val_400 20 2008-04-08
+404 val_404 20 2008-04-08
+404 val_404 20 2008-04-08
+411 val_411 20 2008-04-08
+419 val_419 20 2008-04-08
+437 val_437 20 2008-04-08
+44 val_44 20 2008-04-08
+444 val_444 20 2008-04-08
+448 val_448 20 2008-04-08
+455 val_455 20 2008-04-08
+459 val_459 20 2008-04-08
+459 val_459 20 2008-04-08
+462 val_462 20 2008-04-08
+462 val_462 20 2008-04-08
+466 val_466 20 2008-04-08
+466 val_466 20 2008-04-08
+466 val_466 20 2008-04-08
+477 val_477 20 2008-04-08
+480 val_480 20 2008-04-08
+480 val_480 20 2008-04-08
+480 val_480 20 2008-04-08
+484 val_484 20 2008-04-08
+491 val_491 20 2008-04-08
+495 val_495 20 2008-04-08
+51 val_51 20 2008-04-08
+51 val_51 20 2008-04-08
+66 val_66 20 2008-04-08
+77 val_77 20 2008-04-08
+8 val_8 20 2008-04-08
+80 val_80 20 2008-04-08
+84 val_84 20 2008-04-08
+84 val_84 20 2008-04-08
+95 val_95 20 2008-04-08
+95 val_95 20 2008-04-08
+PREHOOK: query: drop table src_bucket_tbl
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_bucket_tbl
+PREHOOK: Output: default@src_bucket_tbl
+POSTHOOK: query: drop table src_bucket_tbl
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_bucket_tbl
+POSTHOOK: Output: default@src_bucket_tbl
+PREHOOK: query: CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_bucket_tbl
+POSTHOOK: query: CREATE TABLE src_bucket_tbl(key int, value string) partitioned by (hr int, ds string) clustered by (key) into 1 buckets STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_bucket_tbl
+PREHOOK: query: explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(hr=30, ds='2010-05-07')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+PREHOOK: Output: default@src_bucket_tbl@hr=30/ds=2010-05-07
+POSTHOOK: query: explain load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(hr=30, ds='2010-05-07')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+POSTHOOK: Output: default@src_bucket_tbl@hr=30/ds=2010-05-07
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+ Stage-2 depends on stages: Stage-0
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: src_bucket_tbl__temp_table_for_load_data__
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ sort order:
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: int), _col1 (type: string)
+ Execution mode: vectorized
+ Reduce Operator Tree:
+ Select Operator
+ expressions: VALUE._col0 (type: int), VALUE._col1 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 47 Data size: 8648 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src_bucket_tbl
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ partition:
+ ds 2010-05-07
+ hr 30
+ replace: false
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src_bucket_tbl
+
+ Stage: Stage-2
+ Stats Work
+ Basic Stats Work:
+
+PREHOOK: query: load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(hr=30, ds='2010-05-07')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+PREHOOK: Output: default@src_bucket_tbl@hr=30/ds=2010-05-07
+POSTHOOK: query: load data local inpath '../../data/files/bmj/000000_0' INTO TABLE src_bucket_tbl partition(hr=30, ds='2010-05-07')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl__temp_table_for_load_data__
+POSTHOOK: Output: default@src_bucket_tbl@hr=30/ds=2010-05-07
+POSTHOOK: Lineage: src_bucket_tbl PARTITION(hr=30,ds=2010-05-07).key SIMPLE [(src_bucket_tbl__temp_table_for_load_data__)src_bucket_tbl__temp_table_for_load_data__.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: src_bucket_tbl PARTITION(hr=30,ds=2010-05-07).value SIMPLE [(src_bucket_tbl__temp_table_for_load_data__)src_bucket_tbl__temp_table_for_load_data__.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: select * from src_bucket_tbl where hr=30 and ds='2010-05-07'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_bucket_tbl
+PREHOOK: Input: default@src_bucket_tbl@hr=30/ds=2010-05-07
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src_bucket_tbl where hr=30 and ds='2010-05-07'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_bucket_tbl
+POSTHOOK: Input: default@src_bucket_tbl@hr=30/ds=2010-05-07
+#### A masked pattern was here ####
+0 val_0 30 2010-05-07
+0 val_0 30 2010-05-07
+0 val_0 30 2010-05-07
+103 val_103 30 2010-05-07
+103 val_103 30 2010-05-07
+11 val_11 30 2010-05-07
+114 val_114 30 2010-05-07
+118 val_118 30 2010-05-07
+118 val_118 30 2010-05-07
+125 val_125 30 2010-05-07
+125 val_125 30 2010-05-07
+129 val_129 30 2010-05-07
+129 val_129 30 2010-05-07
+136 val_136 30 2010-05-07
+143 val_143 30 2010-05-07
+15 val_15 30 2010-05-07
+15 val_15 30 2010-05-07
+150 val_150 30 2010-05-07
+158 val_158 30 2010-05-07
+165 val_165 30 2010-05-07
+165 val_165 30 2010-05-07
+169 val_169 30 2010-05-07
+169 val_169 30 2010-05-07
+169 val_169 30 2010-05-07
+169 val_169 30 2010-05-07
+172 val_172 30 2010-05-07
+172 val_172 30 2010-05-07
+176 val_176 30 2010-05-07
+176 val_176 30 2010-05-07
+183 val_183 30 2010-05-07
+187 val_187 30 2010-05-07
+187 val_187 30 2010-05-07
+187 val_187 30 2010-05-07
+19 val_19 30 2010-05-07
+190 val_190 30 2010-05-07
+194 val_194 30 2010-05-07
+202 val_202 30 2010-05-07
+213 val_213 30 2010-05-07
+213 val_213 30 2010-05-07
+217 val_217 30 2010-05-07
+217 val_217 30 2010-05-07
+224 val_224 30 2010-05-07
+224 val_224 30 2010-05-07
+228 val_228 30 2010-05-07
+235 val_235 30 2010-05-07
+239 val_239 30 2010-05-07
+239 val_239 30 2010-05-07
+242 val_242 30 2010-05-07
+242 val_242 30 2010-05-07
+257 val_257 30 2010-05-07
+26 val_26 30 2010-05-07
+26 val_26 30 2010-05-07
+260 val_260 30 2010-05-07
+275 val_275 30 2010-05-07
+282 val_282 30 2010-05-07
+282 val_282 30 2010-05-07
+286 val_286 30 2010-05-07
+305 val_305 30 2010-05-07
+309 val_309 30 2010-05-07
+309 val_309 30 2010-05-07
+316 val_316 30 2010-05-07
+316 val_316 30 2010-05-07
+316 val_316 30 2010-05-07
+323 val_323 30 2010-05-07
+327 val_327 30 2010-05-07
+327 val_327 30 2010-05-07
+327 val_327 30 2010-05-07
+33 val_33 30 2010-05-07
+338 val_338 30 2010-05-07
+341 val_341 30 2010-05-07
+345 val_345 30 2010-05-07
+356 val_356 30 2010-05-07
+367 val_367 30 2010-05-07
+367 val_367 30 2010-05-07
+37 val_37 30 2010-05-07
+37 val_37 30 2010-05-07
+374 val_374 30 2010-05-07
+378 val_378 30 2010-05-07
+389 val_389 30 2010-05-07
+392 val_392 30 2010-05-07
+396 val_396 30 2010-05-07
+396 val_396 30 2010-05-07
+396 val_396 30 2010-05-07
+4 val_4 30 2010-05-07
+400 val_400 30 2010-05-07
+404 val_404 30 2010-05-07
+404 val_404 30 2010-05-07
+411 val_411 30 2010-05-07
+419 val_419 30 2010-05-07
+437 val_437 30 2010-05-07
+44 val_44 30 2010-05-07
+444 val_444 30 2010-05-07
+448 val_448 30 2010-05-07
+455 val_455 30 2010-05-07
+459 val_459 30 2010-05-07
+459 val_459 30 2010-05-07
+462 val_462 30 2010-05-07
+462 val_462 30 2010-05-07
+466 val_466 30 2010-05-07
+466 val_466 30 2010-05-07
+466 val_466 30 2010-05-07
+477 val_477 30 2010-05-07
+480 val_480 30 2010-05-07
+480 val_480 30 2010-05-07
+480 val_480 30 2010-05-07
+484 val_484 30 2010-05-07
+491 val_491 30 2010-05-07
+495 val_495 30 2010-05-07
+51 val_51 30 2010-05-07
+51 val_51 30 2010-05-07
+66 val_66 30 2010-05-07
+77 val_77 30 2010-05-07
+8 val_8 30 2010-05-07
+80 val_80 30 2010-05-07
+84 val_84 30 2010-05-07
+84 val_84 30 2010-05-07
+95 val_95 30 2010-05-07
+95 val_95 30 2010-05-07
+PREHOOK: query: drop table src_bucket_tbl
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_bucket_tbl
+PREHOOK: Output: default@src_bucket_tbl
+POSTHOOK: query: drop table src_bucket_tbl
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_bucket_tbl
+POSTHOOK: Output: default@src_bucket_tbl