當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Apache Pig GetHour()用法及代碼示例



該函數接受一個日期時間對象作為參數,並返回給定日期時間對象當天的當前小時。

用法

這是語法GetHour()函數。

grunt> GetHour(datetime)

示例

假設有一個文件名為date.txt在裏麵HDFS目錄/pig_data/如下所示。此文件包含特定人員、ID、日期和時間的 date-of-birth 詳細信息。

date.txt

001,1989/09/26 09:00:00
002,1980/06/20 10:22:00
003,1990/12/19 03:11:44

並且,我們已經將這個文件加載到 Pig 中,關係名為date_data如下所示。

grunt> date_data = LOAD 'hdfs://localhost:9000/pig_data/date.txt' USING PigStorage(',')
   as (id:int,date:chararray);

下麵是一個例子GetHour()函數。這GetHour()函數將從給定的日期時間對象檢索一天中的小時。因此,首先,讓我們使用以下方法生成所有員工的 Date-Time 對象todate()函數。

grunt> todate_data = foreach date_data generate ToDate(date,'yyyy/MM/dd HH:mm:ss')
   as (date_time:DateTime );
  
grunt> Dump todate_data;  
(1989-09-26T09:00:00.000+05:30)
(1980-06-20T10:22:00.000+05:30) 
(1990-12-19T03:11:44.000+05:30)

現在讓我們使用每個員工的出生時間來獲取小時數GetDay()函數並將其存儲在名為的關係中gethour_data

grunt> gethour_data = foreach todate_data generate (date_time), GetHour(date_time);

現在驗證內容getday_data使用轉儲運算符的關係,如下所示。

grunt> Dump gethour_data;  

(1989-09-26T09:00:00.000+05:30,9) 
(1980-06-20T10:22:00.000+05:30,10) 
(1990-12-19T03:11:44.000+05:30,3)

相關用法


注:本文由純淨天空篩選整理自 Apache Pig - GetHour()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。