Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 配置单元时间转换问题_Hadoop_Hive_Timestamp_Unix Timestamp_Dst - Fatal编程技术网

Hadoop 配置单元时间转换问题

Hadoop 配置单元时间转换问题,hadoop,hive,timestamp,unix-timestamp,dst,Hadoop,Hive,Timestamp,Unix Timestamp,Dst,我们从src获得时间“2019-11-03 01:01:00”。2019-11-03是日间节光日。 让我们说这是结束时间。我们在配置单元表“开始时间”中有另一列。 推导开始时间的逻辑为: 开始时间=(结束时间-3600) 问题### 当我们使用unix\u timestamp()在作业执行期间应用相同的逻辑时,结果如下 Start_time = select from_unixtime(unix_timestamp('2019-11-03 01:01:00') - 3600 ,'yyyy-MM-

我们从src获得时间“2019-11-03 01:01:00”。2019-11-03是日间节光日。 让我们说这是结束时间。我们在配置单元表“开始时间”中有另一列。 推导开始时间的逻辑为:
开始时间=(结束时间-3600)

问题### 当我们使用
unix\u timestamp()
在作业执行期间应用相同的逻辑时,结果如下

Start_time =
select from_unixtime(unix_timestamp('2019-11-03 01:01:00') - 3600 ,'yyyy-MM-dd HH:mm:ss');
+----------------------+--+
|         _c0          |
+----------------------+--+
| 2019-11-03 01:01:00  |
+----------------------+--+

两者都返回相同的结果。这样我们的
start\u date
=
end\u date
,这是不需要的。 我们需要
End\u time=“2019-11-03 00:01:00”

有人能帮忙吗

您遇到了这个问题

解决方案可以是在bash中计算日期,并将其作为变量传递给脚本:

initial_date="2019-11-03 01:01:00"
datesec="$(date '+%s' --date="$initial_date")"
result_date=$( date --date="@$((datesec - 3600))" "+%Y-%m-%d %H:%M:%S")
echo $result_date

#result 2019-11-03 00:01:00

#call your script like this

hive -hiveconf result_date="$result_date" -f script_name

#In the script use '${hiveconf:result_date}'

你正在讨论这个问题

解决方案可以是在bash中计算日期,并将其作为变量传递给脚本:

initial_date="2019-11-03 01:01:00"
datesec="$(date '+%s' --date="$initial_date")"
result_date=$( date --date="@$((datesec - 3600))" "+%Y-%m-%d %H:%M:%S")
echo $result_date

#result 2019-11-03 00:01:00

#call your script like this

hive -hiveconf result_date="$result_date" -f script_name

#In the script use '${hiveconf:result_date}'

此错误尚未解决:此错误尚未解决: