- Apache Pig 教程
- Apache Pig - 首页
- Apache Pig 简介
- Apache Pig - 概述
- Apache Pig - 架构
- Apache Pig 环境
- Apache Pig - 安装
- Apache Pig - 执行
- Apache Pig - Grunt Shell
- Pig Latin
- Pig Latin - 基础
- 加载 & 存储操作符
- Apache Pig - 读取数据
- Apache Pig - 存储数据
- 诊断操作符
- Apache Pig - 诊断操作符
- Apache Pig - Describe 操作符
- Apache Pig - Explain 操作符
- Apache Pig - Illustrate 操作符
- 分组 & 连接
- Apache Pig - Group 操作符
- Apache Pig - Cogroup 操作符
- Apache Pig - Join 操作符
- Apache Pig - Cross 操作符
- Pig Latin 内置函数
- Apache Pig - Eval 函数
- 加载 & 存储函数
- Apache Pig - Bag & Tuple 函数
- Apache Pig - 字符串函数
- Apache Pig - 日期时间函数
- Apache Pig - 数学函数
- Apache Pig 有用资源
- Apache Pig - 快速指南
- Apache Pig - 有用资源
- Apache Pig - 讨论
Apache Pig - HoursBetween() 函数
此函数接受两个日期时间对象,并计算两个给定日期时间对象之间的小时数。
语法
以下是 HoursBetween() 函数的语法。
grunt> HoursBetween(datetime1, datetime2)
示例
假设在 HDFS 目录 /pig_data/ 中有一个名为 doj_dob.txt 的文件。此文件包含特定人员的出生日期和入职日期详细信息,包括 ID、出生日期和入职日期。
doj_dob.txt
001,26/09/1989 09:00:00,16/01/2015 09:00:00 002,20/06/1980 10:22:00,10/08/2011 09:00:00 003,19/12/1990 03:11:44,25/10/2012 09:00:00
并且,我们已将此文件加载到 Pig 中,并使用名为 doj_dob_data 的关系进行表示,如下所示。
doj_dob_data = LOAD 'hdfs://127.0.0.1:9000/pig_data/doj_dob.txt' USING PigStorage(',') as (id:int, dob:chararray, doj:chararray);
现在让我们使用 HoursBetween() 函数计算员工出生日期和入职日期之间的小时数,如下所示。
hoursbetween_data = foreach doj_dob_data generate HoursBetween(ToDate(doj, 'dd/MM/yyyy HH:mm:ss'),ToDate(dob,'dd/MM/yyyy HH:mm:ss'));
上述语句将结果存储在名为 hoursbetween_data 的关系中。使用 Dump 操作符验证关系的内容,如下所示。
grunt> Dump HoursBetween; (221832) (272950) (191549)
apache_pig_date_time_functions.htm
广告