此函數接受一個日期時間對象和一個持續時間對象,並將給定的持續時間添加到日期時間對象,並返回一個具有添加持續時間的新日期時間對象。
用法
這是 AddDuration() 函數的語法。
grunt> AddDuration(datetime, duration)
注意− 持續時間以 ISO 8601 標準表示。根據 ISO 8601 標準,P 置於開頭,同時代表持續時間,稱為持續時間指示符。同樣地,
Y是年份指示符。我們在聲明年份後使用它。
Example− P1Y 代表 1 年。
M是月份指示符。我們在聲明月份後使用它。
Example− P1M 代表 1 個月。
W是周指示符。我們在宣布一周後使用它。
Example− P1W 代表 1 周。
D是日期指示符。我們在宣布日期後使用它。
Example− P1D 代表 1 天。
T是時間指示符。我們在宣布時間之前使用它。
Example− PT5H 代表 5 小時。
H是小時指示符。我們在聲明小時後使用它。
Example− PT1H 代表 1 小時。
M是分鍾指示符。我們在宣布分鍾後使用它。
Example− PT1M 代表 1 分鍾。
S是第二個指示符。我們在聲明第二個之後使用它。
Example− PT1S 代表 1 秒。
示例
假設有一個文件名為date.txt在裏麵HDFS目錄/pig_data/.該文件包含特定人員的 date-of-birth 詳細信息、ID、日期和時間以及符合 ISO 8601 標準的一些持續時間。
date.txt
001,1989/09/26 09:00:00,PT1M 002,1980/06/20 10:22:00,P1Y 003,1990/12/19 03:11:44,P3M
並且,我們已經將這個文件加載到 Pig 中,關係名為date_duration如下所示。
grunt> date_duration = LOAD 'hdfs://localhost:9000/pig_data/date.txt' USING PigStorage(',')
as (id:int, date:chararray, duration:chararray)
下麵是一個例子AddDuration()函數。您可以使用此方法將特定 Duration 添加到給定的日期時間對象,如下所示。
grunt> Add_duration_data = foreach date_duration generate(date,duration),
AddDuration(ToDate(date,'yyyy/MM/dd HH:mm:ss'), duration);
語句的結果將存儲在名為的關係中add_duration_data.使用 Dump 運算符驗證此關係的內容,如下所示。
grunt> Dump add_duration_data; ((1989/09/26 09:00:00,PT1M),1989-09-26 T09:01:00.000+05:30) ((1980/06/20 10:22:00,P1Y),1981-06-20 T10:22:00.000+05:30) ((1990/12/19 03:11:44,P3M),1991-03-19 T03:11:44.000+05:30)
相關用法
- Apache Pig ATAN()用法及代碼示例
- Apache Pig AVG()用法及代碼示例
- Apache Pig ASIN()用法及代碼示例
- Apache Pig ACOS()用法及代碼示例
- Apache Pig ABS()用法及代碼示例
- Apache Pig HoursBetween()用法及代碼示例
- Apache Pig TOKENIZE()用法及代碼示例
- Apache Pig SQRT()用法及代碼示例
- Apache Pig TAN()用法及代碼示例
- Apache Pig TOMAP()用法及代碼示例
- Apache Pig TOTUPLE()用法及代碼示例
- Apache Pig EqualsIgnoreCase()用法及代碼示例
- Apache Pig GetHour()用法及代碼示例
- Apache Pig EXP()用法及代碼示例
- Apache Pig CurrentTime()用法及代碼示例
- Apache Pig UPPER()用法及代碼示例
- Apache Pig PluckTuple()用法及代碼示例
- Apache Pig UCFIRST()用法及代碼示例
- Apache Pig LAST_INDEX_OF()用法及代碼示例
- Apache Pig GetMonth()用法及代碼示例
注:本文由純淨天空篩選整理自 Apache Pig - AddDuration()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。