This is an automated email from the ASF dual-hosted git repository.
jcamacho 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 b45e152 HIVE-22476: Hive datediff function provided inconsistent
results when hive.fetch.task.conversion is set to none (Slim Bouguerra via
Jesus Camacho Rodriguez)
b45e152 is described below
commit b45e152745cbe8f2ae8c0651c84ae3ce0552e2ff
Author: Slim Bouguerra <[email protected]>
AuthorDate: Tue Dec 3 08:57:26 2019 -0800
HIVE-22476: Hive datediff function provided inconsistent results when
hive.fetch.task.conversion is set to none (Slim Bouguerra via Jesus Camacho
Rodriguez)
Close apache/hive#1046
---
.../org/apache/hadoop/hive/common/type/Date.java | 5 +
.../hadoop/hive/common/type/TimestampTZUtil.java | 1 -
.../ql/udf/generic/TestGenericUDFDateDiff.java | 24 +-
.../hive/ql/udf/generic/TestGenericUDFLastDay.java | 2 +-
.../hive/ql/udf/generic/TestGenericUDFNextDay.java | 2 +-
ql/src/test/queries/clientpositive/date_udf.q | 6 +
.../results/clientpositive/llap/date_udf.q.out | 45 ++++
.../results/clientpositive/spark/date_udf.q.out | 254 ---------------------
8 files changed, 78 insertions(+), 261 deletions(-)
diff --git a/common/src/java/org/apache/hadoop/hive/common/type/Date.java
b/common/src/java/org/apache/hadoop/hive/common/type/Date.java
index 6ecfcf6..43f5977 100644
--- a/common/src/java/org/apache/hadoop/hive/common/type/Date.java
+++ b/common/src/java/org/apache/hadoop/hive/common/type/Date.java
@@ -127,6 +127,11 @@ public class Date implements Comparable<Date> {
int idx = s.indexOf(" ");
if (idx != -1) {
s = s.substring(0, idx);
+ } else {
+ idx = s.indexOf('T');
+ if (idx != -1) {
+ s = s.substring(0, idx);
+ }
}
LocalDate localDate;
try {
diff --git
a/common/src/java/org/apache/hadoop/hive/common/type/TimestampTZUtil.java
b/common/src/java/org/apache/hadoop/hive/common/type/TimestampTZUtil.java
index 4708d35..862acb8 100644
--- a/common/src/java/org/apache/hadoop/hive/common/type/TimestampTZUtil.java
+++ b/common/src/java/org/apache/hadoop/hive/common/type/TimestampTZUtil.java
@@ -53,7 +53,6 @@ public class TimestampTZUtil {
builder.optionalStart().appendLiteral("
").append(DateTimeFormatter.ofPattern("HH:mm:ss")).
optionalStart().appendFraction(ChronoField.NANO_OF_SECOND, 1, 9, true).
optionalEnd().optionalEnd();
-
// Zone part
builder.optionalStart().appendLiteral(" ").optionalEnd();
builder.optionalStart().appendZoneText(TextStyle.NARROW).optionalEnd();
diff --git
a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java
b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java
index 86b914d..6151bab 100644
---
a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java
+++
b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java
@@ -18,6 +18,10 @@
package org.apache.hadoop.hive.ql.udf.generic;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import java.text.ParseException;
import java.time.LocalDateTime;
import org.apache.hadoop.hive.common.type.Date;
@@ -32,15 +36,27 @@ import
org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectIn
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import org.junit.Test;
-/**
- * TestGenericUDFDateDiff.
- */
public class TestGenericUDFDateDiff {
+
+ @Test
+ public void testStringToDateISOFormat() throws HiveException, ParseException
{
+ GenericUDFDateDiff udf = new GenericUDFDateDiff();
+ ObjectInspector valueOI1 =
PrimitiveObjectInspectorFactory.javaStringObjectInspector;
+ ObjectInspector valueOI2 =
PrimitiveObjectInspectorFactory.javaStringObjectInspector;
+ ObjectInspector[] arguments = {valueOI1, valueOI2};
+
+ udf.initialize(arguments);
+ DeferredObject valueObj1 = new DeferredJavaObject(new
Text("2019-09-09T10:45:49+02:00"));
+ DeferredObject valueObj2 = new DeferredJavaObject(new Text("2019-11-07
23:20:39.503"));
+ DeferredObject[] args = {valueObj1, valueObj2};
+ IntWritable output = udf.evaluate(args);
+ assertEquals("date_iff() test for STRING failed ", "-59",
output.toString());
+ }
+
@Test
public void testStringToDate() throws HiveException {
GenericUDFDateDiff udf = new GenericUDFDateDiff();
diff --git
a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java
b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java
index 3cbcbdb..6f4da18 100644
---
a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java
+++
b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java
@@ -94,7 +94,7 @@ public class TestGenericUDFLastDay {
runAndVerify("2016-02-30 10:30:45", "2016-03-31", udf);
runAndVerify("2014-01-32 10:30:45", "2014-02-28", udf);
runAndVerify("01/14/2014 10:30:45", null, udf);
- runAndVerify("2016-02-28T10:30:45", null, udf);
+ runAndVerify("2016-02-28T10:30:45", "2016-02-29", udf);
}
@Test
diff --git
a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
index 4acfe61..0358fe2 100644
---
a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
+++
b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
@@ -93,7 +93,7 @@ public class TestGenericUDFNextDay {
runAndVerify("2015-02-30 10:30:00", "WE", "2015-03-04", udf);
runAndVerify("2015-02-32 10:30:00", "WE", "2015-03-11", udf);
runAndVerify("2015/01/14 14:04:34", "SAT", null, udf);
- runAndVerify("2015-01-14T14:04:34", "SAT", null, udf);
+ runAndVerify("2015-01-14T14:04:34", "SAT", "2015-01-17", udf);
}
@Test
diff --git a/ql/src/test/queries/clientpositive/date_udf.q
b/ql/src/test/queries/clientpositive/date_udf.q
index aa33b7a..4e5249f 100644
--- a/ql/src/test/queries/clientpositive/date_udf.q
+++ b/ql/src/test/queries/clientpositive/date_udf.q
@@ -75,7 +75,13 @@ select
select min(fl_date) from date_udf_flight;
select max(fl_date) from date_udf_flight;
+create external table testdatediff(datetimecol string) stored as orc;
+insert into testdatediff values ('2019-09-09T10:45:49+02:00'),('2019-07-24');
+select datetimecol from testdatediff where datediff(cast(current_timestamp as
string), datetimecol)>183;
+select cast(datetimecol as date), datetimecol from testdatediff;
+
+drop table testdatediff;
drop table date_udf;
drop table date_udf_string;
drop table date_udf_flight;
diff --git a/ql/src/test/results/clientpositive/llap/date_udf.q.out
b/ql/src/test/results/clientpositive/llap/date_udf.q.out
index 5c44e5e..d0cfcc1 100644
--- a/ql/src/test/results/clientpositive/llap/date_udf.q.out
+++ b/ql/src/test/results/clientpositive/llap/date_udf.q.out
@@ -228,6 +228,51 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@date_udf_flight
#### A masked pattern was here ####
2010-10-31
+PREHOOK: query: create external table testdatediff(datetimecol string) stored
as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@testdatediff
+POSTHOOK: query: create external table testdatediff(datetimecol string) stored
as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@testdatediff
+PREHOOK: query: insert into testdatediff values
('2019-09-09T10:45:49+02:00'),('2019-07-24')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@testdatediff
+POSTHOOK: query: insert into testdatediff values
('2019-09-09T10:45:49+02:00'),('2019-07-24')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@testdatediff
+POSTHOOK: Lineage: testdatediff.datetimecol SCRIPT []
+PREHOOK: query: select datetimecol from testdatediff where
datediff(cast(current_timestamp as string), datetimecol)>183
+PREHOOK: type: QUERY
+PREHOOK: Input: default@testdatediff
+#### A masked pattern was here ####
+POSTHOOK: query: select datetimecol from testdatediff where
datediff(cast(current_timestamp as string), datetimecol)>183
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@testdatediff
+#### A masked pattern was here ####
+2019-09-09T10:45:49+02:00
+2019-07-24
+PREHOOK: query: select cast(datetimecol as date), datetimecol from testdatediff
+PREHOOK: type: QUERY
+PREHOOK: Input: default@testdatediff
+#### A masked pattern was here ####
+POSTHOOK: query: select cast(datetimecol as date), datetimecol from
testdatediff
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@testdatediff
+#### A masked pattern was here ####
+2019-09-09 2019-09-09T10:45:49+02:00
+2019-07-24 2019-07-24
+PREHOOK: query: drop table testdatediff
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@testdatediff
+PREHOOK: Output: default@testdatediff
+POSTHOOK: query: drop table testdatediff
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@testdatediff
+POSTHOOK: Output: default@testdatediff
PREHOOK: query: drop table date_udf
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@date_udf
diff --git a/ql/src/test/results/clientpositive/spark/date_udf.q.out
b/ql/src/test/results/clientpositive/spark/date_udf.q.out
deleted file mode 100644
index 5c44e5e..0000000
--- a/ql/src/test/results/clientpositive/spark/date_udf.q.out
+++ /dev/null
@@ -1,254 +0,0 @@
-PREHOOK: query: drop table date_udf
-PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table date_udf
-POSTHOOK: type: DROPTABLE
-PREHOOK: query: drop table date_udf_string
-PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table date_udf_string
-POSTHOOK: type: DROPTABLE
-PREHOOK: query: drop table date_udf_flight
-PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table date_udf_flight
-POSTHOOK: type: DROPTABLE
-PREHOOK: query: create table date_udf (d date)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@date_udf
-POSTHOOK: query: create table date_udf (d date)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@date_udf
-PREHOOK: query: create table date_udf_string (d string)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@date_udf_string
-POSTHOOK: query: create table date_udf_string (d string)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@date_udf_string
-PREHOOK: query: from src
- insert overwrite table date_udf
- select '2011-05-06' limit 1
- insert overwrite table date_udf_string
- select '2011-05-06' limit 1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Output: default@date_udf
-PREHOOK: Output: default@date_udf_string
-POSTHOOK: query: from src
- insert overwrite table date_udf
- select '2011-05-06' limit 1
- insert overwrite table date_udf_string
- select '2011-05-06' limit 1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Output: default@date_udf
-POSTHOOK: Output: default@date_udf_string
-POSTHOOK: Lineage: date_udf.d EXPRESSION []
-POSTHOOK: Lineage: date_udf_string.d SIMPLE []
-PREHOOK: query: create table date_udf_flight (
- ORIGIN_CITY_NAME string,
- DEST_CITY_NAME string,
- FL_DATE date,
- ARR_DELAY float,
- FL_NUM int
-)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@date_udf_flight
-POSTHOOK: query: create table date_udf_flight (
- ORIGIN_CITY_NAME string,
- DEST_CITY_NAME string,
- FL_DATE date,
- ARR_DELAY float,
- FL_NUM int
-)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@date_udf_flight
-PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/flights_tiny.txt.1'
OVERWRITE INTO TABLE date_udf_flight
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@date_udf_flight
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/flights_tiny.txt.1'
OVERWRITE INTO TABLE date_udf_flight
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@date_udf_flight
-PREHOOK: query: select unix_timestamp(cast(d as timestamp with local time
zone)), unix_timestamp(d), year(d), month(d), day(d), dayofmonth(d),
- weekofyear(d), to_date(d)
- from date_udf
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-POSTHOOK: query: select unix_timestamp(cast(d as timestamp with local time
zone)), unix_timestamp(d), year(d), month(d), day(d), dayofmonth(d),
- weekofyear(d), to_date(d)
- from date_udf
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-1304665200 1304665200 2011 5 6 6 18
2011-05-06
-PREHOOK: query: select date_add(d, 5), date_sub(d, 10)
- from date_udf
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-POSTHOOK: query: select date_add(d, 5), date_sub(d, 10)
- from date_udf
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-2011-05-11 2011-04-26
-PREHOOK: query: select datediff(d, d), datediff(d, '2002-03-21'),
datediff('2002-03-21', d),
- datediff(cast ('2002-03-21 00:00:00' as timestamp), d),
- datediff(d, cast ('2002-03-21 00:00:00' as timestamp))
- from date_udf
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-POSTHOOK: query: select datediff(d, d), datediff(d, '2002-03-21'),
datediff('2002-03-21', d),
- datediff(cast ('2002-03-21 00:00:00' as timestamp), d),
- datediff(d, cast ('2002-03-21 00:00:00' as timestamp))
- from date_udf
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-0 3333 -3333 -3333 3333
-PREHOOK: query: select unix_timestamp(d), year(d), month(d), day(d),
dayofmonth(d),
- weekofyear(d), to_date(d)
- from date_udf_string
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf_string
-#### A masked pattern was here ####
-POSTHOOK: query: select unix_timestamp(d), year(d), month(d), day(d),
dayofmonth(d),
- weekofyear(d), to_date(d)
- from date_udf_string
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf_string
-#### A masked pattern was here ####
-NULL 2011 5 6 6 18 2011-05-06
-PREHOOK: query: select date_add(d, 5), date_sub(d, 10) from date_udf_string
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf_string
-#### A masked pattern was here ####
-POSTHOOK: query: select date_add(d, 5), date_sub(d, 10) from date_udf_string
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf_string
-#### A masked pattern was here ####
-2011-05-11 2011-04-26
-PREHOOK: query: select
- datediff(d, d),
- datediff(d, '2002-03-21'),
- datediff(d, date '2002-03-21'),
- datediff('2002-03-21', d),
- datediff(date '2002-03-21', d),
- datediff('2002-03-21 00:00:00', d),
- datediff(timestamp '2002-03-21 00:00:00', d),
- datediff(d, '2002-03-21 00:00:00'),
- datediff(d, timestamp '2002-03-21 00:00:00'),
- datediff('2002-03-21 08:01:59', d),
- datediff(timestamp '2002-03-21 08:01:59', d),
- datediff(d, '2002-03-21 08:01:59'),
- datediff(d, timestamp '2002-03-21 08:01:59')
- from date_udf_string
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf_string
-#### A masked pattern was here ####
-POSTHOOK: query: select
- datediff(d, d),
- datediff(d, '2002-03-21'),
- datediff(d, date '2002-03-21'),
- datediff('2002-03-21', d),
- datediff(date '2002-03-21', d),
- datediff('2002-03-21 00:00:00', d),
- datediff(timestamp '2002-03-21 00:00:00', d),
- datediff(d, '2002-03-21 00:00:00'),
- datediff(d, timestamp '2002-03-21 00:00:00'),
- datediff('2002-03-21 08:01:59', d),
- datediff(timestamp '2002-03-21 08:01:59', d),
- datediff(d, '2002-03-21 08:01:59'),
- datediff(d, timestamp '2002-03-21 08:01:59')
- from date_udf_string
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf_string
-#### A masked pattern was here ####
-0 3333 3333 -3333 -3333 -3333 -3333 3333 3333 -3333
-3333 3333 3333
-PREHOOK: query: select
- to_utc_timestamp(date '1970-01-01', 'America/Los_Angeles'),
- from_utc_timestamp(date '1970-01-01', 'America/Los_Angeles'),
- to_utc_timestamp(date '2013-06-19', 'America/Los_Angeles'),
- from_utc_timestamp(date '2013-06-19', 'America/Los_Angeles')
- from date_udf
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-POSTHOOK: query: select
- to_utc_timestamp(date '1970-01-01', 'America/Los_Angeles'),
- from_utc_timestamp(date '1970-01-01', 'America/Los_Angeles'),
- to_utc_timestamp(date '2013-06-19', 'America/Los_Angeles'),
- from_utc_timestamp(date '2013-06-19', 'America/Los_Angeles')
- from date_udf
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-1970-01-01 08:00:00 1969-12-31 16:00:00 2013-06-19 07:00:00
2013-06-18 17:00:00
-PREHOOK: query: select
- to_utc_timestamp(date '1970-01-01', 'America/Los_Angeles') =
to_utc_timestamp(timestamp('1970-01-01 00:00:00'), 'America/Los_Angeles'),
- from_utc_timestamp(date '1970-01-01', 'America/Los_Angeles') =
from_utc_timestamp(timestamp('1970-01-01 00:00:00'), 'America/Los_Angeles'),
- to_utc_timestamp(date '2013-06-19', 'America/Los_Angeles') =
to_utc_timestamp(timestamp('2013-06-19 00:00:00'), 'America/Los_Angeles'),
- from_utc_timestamp(date '2013-06-19', 'America/Los_Angeles') =
from_utc_timestamp(timestamp('2013-06-19 00:00:00'), 'America/Los_Angeles')
- from date_udf
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-POSTHOOK: query: select
- to_utc_timestamp(date '1970-01-01', 'America/Los_Angeles') =
to_utc_timestamp(timestamp('1970-01-01 00:00:00'), 'America/Los_Angeles'),
- from_utc_timestamp(date '1970-01-01', 'America/Los_Angeles') =
from_utc_timestamp(timestamp('1970-01-01 00:00:00'), 'America/Los_Angeles'),
- to_utc_timestamp(date '2013-06-19', 'America/Los_Angeles') =
to_utc_timestamp(timestamp('2013-06-19 00:00:00'), 'America/Los_Angeles'),
- from_utc_timestamp(date '2013-06-19', 'America/Los_Angeles') =
from_utc_timestamp(timestamp('2013-06-19 00:00:00'), 'America/Los_Angeles')
- from date_udf
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf
-#### A masked pattern was here ####
-true true true true
-PREHOOK: query: select min(fl_date) from date_udf_flight
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf_flight
-#### A masked pattern was here ####
-POSTHOOK: query: select min(fl_date) from date_udf_flight
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf_flight
-#### A masked pattern was here ####
-2010-10-20
-PREHOOK: query: select max(fl_date) from date_udf_flight
-PREHOOK: type: QUERY
-PREHOOK: Input: default@date_udf_flight
-#### A masked pattern was here ####
-POSTHOOK: query: select max(fl_date) from date_udf_flight
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@date_udf_flight
-#### A masked pattern was here ####
-2010-10-31
-PREHOOK: query: drop table date_udf
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@date_udf
-PREHOOK: Output: default@date_udf
-POSTHOOK: query: drop table date_udf
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@date_udf
-POSTHOOK: Output: default@date_udf
-PREHOOK: query: drop table date_udf_string
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@date_udf_string
-PREHOOK: Output: default@date_udf_string
-POSTHOOK: query: drop table date_udf_string
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@date_udf_string
-POSTHOOK: Output: default@date_udf_string
-PREHOOK: query: drop table date_udf_flight
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@date_udf_flight
-PREHOOK: Output: default@date_udf_flight
-POSTHOOK: query: drop table date_udf_flight
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@date_udf_flight
-POSTHOOK: Output: default@date_udf_flight