PREHOOK: query: CREATE TABLE episodes_n2
ROW FORMAT
SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
TBLPROPERTIES ('avro.schema.literal'='{
  "namespace": "testing.hive.avro.serde",
  "name": "episodes_n2",
  "type": "record",
  "fields": [
    {
      "name":"title",
      "type":"string",
      "doc":"episode title"
    },
    {
      "name":"air_date",
      "type":"string",
      "doc":"initial date"
    },
    {
      "name":"doctor",
      "type":"int",
      "doc":"main actor playing the Doctor in episode"
    }
  ]
}')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@episodes_n2
POSTHOOK: query: CREATE TABLE episodes_n2
ROW FORMAT
SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
TBLPROPERTIES ('avro.schema.literal'='{
  "namespace": "testing.hive.avro.serde",
  "name": "episodes_n2",
  "type": "record",
  "fields": [
    {
      "name":"title",
      "type":"string",
      "doc":"episode title"
    },
    {
      "name":"air_date",
      "type":"string",
      "doc":"initial date"
    },
    {
      "name":"doctor",
      "type":"int",
      "doc":"main actor playing the Doctor in episode"
    }
  ]
}')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@episodes_n2
PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/episodes.avro' INTO TABLE episodes_n2
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@episodes_n2
POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/episodes.avro' INTO TABLE episodes_n2
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@episodes_n2
PREHOOK: query: CREATE TABLE episodes_partitioned_n1
PARTITIONED BY (doctor_pt INT)
ROW FORMAT
SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
TBLPROPERTIES ('avro.schema.literal'='{
  "namespace": "testing.hive.avro.serde",
  "name": "episodes_n2",
  "type": "record",
  "fields": [
    {
      "name":"title",
      "type":"string",
      "doc":"episode title"
    },
    {
      "name":"air_date",
      "type":"string",
      "doc":"initial date"
    },
    {
      "name":"doctor",
      "type":"int",
      "doc":"main actor playing the Doctor in episode"
    }
  ]
}')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@episodes_partitioned_n1
POSTHOOK: query: CREATE TABLE episodes_partitioned_n1
PARTITIONED BY (doctor_pt INT)
ROW FORMAT
SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
TBLPROPERTIES ('avro.schema.literal'='{
  "namespace": "testing.hive.avro.serde",
  "name": "episodes_n2",
  "type": "record",
  "fields": [
    {
      "name":"title",
      "type":"string",
      "doc":"episode title"
    },
    {
      "name":"air_date",
      "type":"string",
      "doc":"initial date"
    },
    {
      "name":"doctor",
      "type":"int",
      "doc":"main actor playing the Doctor in episode"
    }
  ]
}')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@episodes_partitioned_n1
PREHOOK: query: INSERT OVERWRITE TABLE episodes_partitioned_n1 PARTITION (doctor_pt) SELECT title, air_date, doctor, doctor as doctor_pt FROM episodes_n2
PREHOOK: type: QUERY
PREHOOK: Input: default@episodes_n2
PREHOOK: Output: default@episodes_partitioned_n1
POSTHOOK: query: INSERT OVERWRITE TABLE episodes_partitioned_n1 PARTITION (doctor_pt) SELECT title, air_date, doctor, doctor as doctor_pt FROM episodes_n2
POSTHOOK: type: QUERY
POSTHOOK: Input: default@episodes_n2
POSTHOOK: Output: default@episodes_partitioned_n1
POSTHOOK: Output: default@episodes_partitioned_n1@doctor_pt=1
POSTHOOK: Output: default@episodes_partitioned_n1@doctor_pt=11
POSTHOOK: Output: default@episodes_partitioned_n1@doctor_pt=2
POSTHOOK: Output: default@episodes_partitioned_n1@doctor_pt=4
POSTHOOK: Output: default@episodes_partitioned_n1@doctor_pt=5
POSTHOOK: Output: default@episodes_partitioned_n1@doctor_pt=6
POSTHOOK: Output: default@episodes_partitioned_n1@doctor_pt=9
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=11).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=11).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=11).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=1).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=1).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=1).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=2).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=2).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=2).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=4).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=4).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=4).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=5).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=5).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=5).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=6).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=6).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=6).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=9).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=9).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_n1 PARTITION(doctor_pt=9).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
PREHOOK: query: SELECT * FROM episodes_partitioned_n1 WHERE doctor_pt > 6
PREHOOK: type: QUERY
PREHOOK: Input: default@episodes_partitioned_n1
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=11
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=9
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM episodes_partitioned_n1 WHERE doctor_pt > 6
POSTHOOK: type: QUERY
POSTHOOK: Input: default@episodes_partitioned_n1
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=11
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=9
#### A masked pattern was here ####
Rose	26 March 2005	9	9
The Doctor's Wife	14 May 2011	11	11
The Eleventh Hour	3 April 2010	11	11
PREHOOK: query: SELECT * FROM episodes_partitioned_n1 ORDER BY air_date LIMIT 5
PREHOOK: type: QUERY
PREHOOK: Input: default@episodes_partitioned_n1
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=1
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=11
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=2
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=4
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=5
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=6
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=9
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM episodes_partitioned_n1 ORDER BY air_date LIMIT 5
POSTHOOK: type: QUERY
POSTHOOK: Input: default@episodes_partitioned_n1
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=1
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=11
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=2
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=4
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=5
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=6
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=9
#### A masked pattern was here ####
An Unearthly Child	23 November 1963	1	1
Horror of Fang Rock	3 September 1977	4	4
Rose	26 March 2005	9	9
The Doctor's Wife	14 May 2011	11	11
The Eleventh Hour	3 April 2010	11	11
PREHOOK: query: SELECT * FROM episodes_partitioned_n1 WHERE doctor_pt = 6
PREHOOK: type: QUERY
PREHOOK: Input: default@episodes_partitioned_n1
PREHOOK: Input: default@episodes_partitioned_n1@doctor_pt=6
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM episodes_partitioned_n1 WHERE doctor_pt = 6
POSTHOOK: type: QUERY
POSTHOOK: Input: default@episodes_partitioned_n1
POSTHOOK: Input: default@episodes_partitioned_n1@doctor_pt=6
#### A masked pattern was here ####
The Mysterious Planet	6 September 1986	6	6
PREHOOK: query: SELECT * FROM episodes_partitioned_n1 WHERE doctor_pt = 7 LIMIT 5
PREHOOK: type: QUERY
PREHOOK: Input: default@episodes_partitioned_n1
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM episodes_partitioned_n1 WHERE doctor_pt = 7 LIMIT 5
POSTHOOK: type: QUERY
POSTHOOK: Input: default@episodes_partitioned_n1
#### A masked pattern was here ####
PREHOOK: query: ALTER TABLE episodes_partitioned_n1 ADD PARTITION (doctor_pt=7)
PREHOOK: type: ALTERTABLE_ADDPARTS
PREHOOK: Output: default@episodes_partitioned_n1
POSTHOOK: query: ALTER TABLE episodes_partitioned_n1 ADD PARTITION (doctor_pt=7)
POSTHOOK: type: ALTERTABLE_ADDPARTS
POSTHOOK: Output: default@episodes_partitioned_n1
POSTHOOK: Output: default@episodes_partitioned_n1@doctor_pt=7
PREHOOK: query: SELECT COUNT(*) FROM episodes_partitioned_n1
PREHOOK: type: QUERY
PREHOOK: Input: default@episodes_partitioned_n1
#### A masked pattern was here ####
POSTHOOK: query: SELECT COUNT(*) FROM episodes_partitioned_n1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@episodes_partitioned_n1
#### A masked pattern was here ####
8
PREHOOK: query: CREATE TABLE episodes_partitioned_serdeproperties
PARTITIONED BY (doctor_pt INT)
ROW FORMAT
SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES ('avro.schema.literal'='{
  "namespace": "testing.hive.avro.serde",
  "name": "episodes_n2",
  "type": "record",
  "fields": [
    {
      "name":"title",
      "type":"string",
      "doc":"episode title"
    },
    {
      "name":"air_date",
      "type":"string",
      "doc":"initial date"
    },
    {
      "name":"doctor",
      "type":"int",
      "doc":"main actor playing the Doctor in episode"
    }
  ]
}')
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@episodes_partitioned_serdeproperties
POSTHOOK: query: CREATE TABLE episodes_partitioned_serdeproperties
PARTITIONED BY (doctor_pt INT)
ROW FORMAT
SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES ('avro.schema.literal'='{
  "namespace": "testing.hive.avro.serde",
  "name": "episodes_n2",
  "type": "record",
  "fields": [
    {
      "name":"title",
      "type":"string",
      "doc":"episode title"
    },
    {
      "name":"air_date",
      "type":"string",
      "doc":"initial date"
    },
    {
      "name":"doctor",
      "type":"int",
      "doc":"main actor playing the Doctor in episode"
    }
  ]
}')
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@episodes_partitioned_serdeproperties
PREHOOK: query: INSERT INTO TABLE episodes_partitioned_serdeproperties PARTITION (doctor_pt) SELECT title, air_date, doctor, doctor as doctor_pt FROM episodes_n2
PREHOOK: type: QUERY
PREHOOK: Input: default@episodes_n2
PREHOOK: Output: default@episodes_partitioned_serdeproperties
POSTHOOK: query: INSERT INTO TABLE episodes_partitioned_serdeproperties PARTITION (doctor_pt) SELECT title, air_date, doctor, doctor as doctor_pt FROM episodes_n2
POSTHOOK: type: QUERY
POSTHOOK: Input: default@episodes_n2
POSTHOOK: Output: default@episodes_partitioned_serdeproperties
POSTHOOK: Output: default@episodes_partitioned_serdeproperties@doctor_pt=1
POSTHOOK: Output: default@episodes_partitioned_serdeproperties@doctor_pt=11
POSTHOOK: Output: default@episodes_partitioned_serdeproperties@doctor_pt=2
POSTHOOK: Output: default@episodes_partitioned_serdeproperties@doctor_pt=4
POSTHOOK: Output: default@episodes_partitioned_serdeproperties@doctor_pt=5
POSTHOOK: Output: default@episodes_partitioned_serdeproperties@doctor_pt=6
POSTHOOK: Output: default@episodes_partitioned_serdeproperties@doctor_pt=9
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=11).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=11).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=11).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=1).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=1).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=1).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=2).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=2).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=2).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=4).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=4).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=4).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=5).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=5).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=5).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=6).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=6).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=6).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=9).air_date SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:air_date, type:string, comment:initial date), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=9).doctor SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:doctor, type:int, comment:main actor playing the Doctor in episode), ]
POSTHOOK: Lineage: episodes_partitioned_serdeproperties PARTITION(doctor_pt=9).title SIMPLE [(episodes_n2)episodes_n2.FieldSchema(name:title, type:string, comment:episode title), ]
PREHOOK: query: ALTER TABLE episodes_partitioned_serdeproperties
SET SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES ('avro.schema.literal'='{
  "namespace": "testing.hive.avro.serde",
  "name": "episodes_n2",
  "type": "record",
  "fields": [
    {
      "name":"cast_and_crew",
      "type":{"type":"array","items":"string"},
      "default":[]
    },
    {
      "name":"title",
      "type":"string",
      "doc":"episode title"
    },
    {
      "name":"air_date",
      "type":"string",
      "doc":"initial date"
    },
    {
      "name":"doctor",
      "type":"int",
      "doc":"main actor playing the Doctor in episode"
    }
  ]
}')
PREHOOK: type: ALTERTABLE_SERIALIZER
PREHOOK: Input: default@episodes_partitioned_serdeproperties
PREHOOK: Output: default@episodes_partitioned_serdeproperties
POSTHOOK: query: ALTER TABLE episodes_partitioned_serdeproperties
SET SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES ('avro.schema.literal'='{
  "namespace": "testing.hive.avro.serde",
  "name": "episodes_n2",
  "type": "record",
  "fields": [
    {
      "name":"cast_and_crew",
      "type":{"type":"array","items":"string"},
      "default":[]
    },
    {
      "name":"title",
      "type":"string",
      "doc":"episode title"
    },
    {
      "name":"air_date",
      "type":"string",
      "doc":"initial date"
    },
    {
      "name":"doctor",
      "type":"int",
      "doc":"main actor playing the Doctor in episode"
    }
  ]
}')
POSTHOOK: type: ALTERTABLE_SERIALIZER
POSTHOOK: Input: default@episodes_partitioned_serdeproperties
POSTHOOK: Output: default@episodes_partitioned_serdeproperties
PREHOOK: query: SELECT * FROM episodes_partitioned_serdeproperties
PREHOOK: type: QUERY
PREHOOK: Input: default@episodes_partitioned_serdeproperties
PREHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=1
PREHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=11
PREHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=2
PREHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=4
PREHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=5
PREHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=6
PREHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=9
#### A masked pattern was here ####
POSTHOOK: query: SELECT * FROM episodes_partitioned_serdeproperties
POSTHOOK: type: QUERY
POSTHOOK: Input: default@episodes_partitioned_serdeproperties
POSTHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=1
POSTHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=11
POSTHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=2
POSTHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=4
POSTHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=5
POSTHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=6
POSTHOOK: Input: default@episodes_partitioned_serdeproperties@doctor_pt=9
#### A masked pattern was here ####
[]	An Unearthly Child	23 November 1963	1	1
[]	Castrolava	4 January 1982	5	5
[]	Horror of Fang Rock	3 September 1977	4	4
[]	Rose	26 March 2005	9	9
[]	The Doctor's Wife	14 May 2011	11	11
[]	The Eleventh Hour	3 April 2010	11	11
[]	The Mysterious Planet	6 September 1986	6	6
[]	The Power of the Daleks	5 November 1966	2	2
