Apache Pig内置函数

1. Apache Pig内置函数

在本章中,我们将讨论Apache Pig内置函数。 包括eval, load/store, math, bag 和tuple等函数等。 此外,我们将看到它们的语法以及它们的功能和描述,以便很好地理解这些内置函数。

2.Eval函数

这里是Apache Pig提供的Pig Eval函数

AVG()

AVG(expression)

使用AVG()来计算包内数值的平均值

BagToString()

这个函数用来将一个bag的元素连接成一个字符串。 可以在连接时在这些值之间放置一个分隔符(可选)

CONCAT()

CONCAT(expression,expression)

使用concat()函数连接两个或更多相同类型的表达式

COUNT()

COUNT(expression)

在计算bag中元组的数量时,使用count来获取bag中元素的数量

COUNT_STAR()

COUNT_STAR(表达式)

它与COUNT()函数类似, 获得bag中的元素数量

DIFF()

DIFF(表达式,表达式)

比较元组中的两个bag或者字段

isEmpty()

IsEmpty(表达式)

来检查一个bag或map是否为空。

MAX()

MAX(表达式)

计算一列(数值或字符串)的最高值。

MIN()

MIN(表达式)

获得某一列的最小 值(数字或字符串)

PluckTuple()

可以使用Pig Latin PluckTuple()函数定义一个字符串前缀过滤以给定前缀开头的relation中的列。

Size()

SIZE(表达)

这个Pig函数来计算基于任何Pig数据类型的元素数量。

SUBTRACT()

Add()

SUM(表达式)

这个函数是得到 bag中一列数值的总和

TOKENIZE(expression)

用于在一个元组中分割一个字符串, 然后返回一个包含分割操作输出的bag

3. 加载和存储函数

使用Load / store函数在pig中加载或者存储数据。 另外,我们可以编写自己的加载/存储功能。 

PigStorage()

PigStorage(field_delimiter)

为了加载和存储结构化文件。

TextLoader()

TextLoader()

此Pig函数用于将非结构化数据加载到Pig中。

BinStorage()

BinStorage()

通过使用机器可读的格式,用于将数据加载并存储到Pig中。

处理压缩数据

可以在Pig Latin中加载和存储压缩数据

4. Bag和Tuple函数

以下是Bag和Tuple函数的列表。 如:

TOBAG()

TOBAG(表达式[,表达式…])

这个pig内置函数用于将两个或更多的表达式转换为一个bag

Top()

TOP(TOPN )

获取relation中的前N个元组。

TOTUPLE()

TOTUPLE(表达式[,表达式…])

为了将一个或多个表达式转换为元组。

TOMAP()

获取将键值对转换为Map

5. 字符串函数

下面是Apache Pig中的字符串函数列表,如:

ENDSWITH(string,testAgainst)

用于验证给定的字符串是否以特定的子字符串结尾。

STARTSWITH(字符串,子字符串)

此Pig函数在接受两个字符串参数后,验证第一个字符串是否以第二个字符串开始。

SUBSTRING(string,startIndex,stopIndex)

它从给定的字符串中返回一个子字符串。

EqualsIgnoreCase(string1,string2)

比较两个字符串忽略大小写

INDEXOF(string,'character',startIndex)

它返回字符串中第一次出现的字符,从开始索引向前搜索。

LAST_INDEX_OF(表达式)

要返回字符串中最后一次出现字符的索引,请从开始索引向后搜索。

LCFIRST(表达式)

此Pig函数用于将字符串中的第一个字符转换为小写字母。

UCFIRST(表达式)

它返回一个字符串,并将第一个字符转换为大写字母

UPPER(表达式)

字符串转换为大写。

LOWER(表达式)

所有字符转换为小写字母。

REPLACE(string,'oldChar','newChar')

用新字符替换字符串中的现有字符。

STRSPLIT(字符串,正则表达式,限制)

按给定正则表达式的匹配来分割字符串。

STRSPLITTOBAG(字符串,正则表达式,限制)

它按给定的分隔符分割字符串,并将结果返回到一个包中。

TRIM(表达)

此Pig Built in Function用于返回删除了前导和尾随空白字符串的副本。

LTRIM(表达式)

它返回删除了前导空格的字符串的副本

RTRIM(表达式)

用于返回删除了尾随空白字符串的副本。

6.日期和时间函数

以下是日期和时间函数的列表。

TODATE(milliseconds)

根据给定的参数,它返回一个日期时间对象。 这个功能还有更多的选择。 如ToDate(iosstring),ToDate(用户字符串,格式),ToDate(用户字符串,格式,时区)

CurrentTime()

它返回当前时间的日期 – 时间对象。

GetDay(datetime)

为了从日期时间对象中获得一个月份的日期

GetHour(datetime)

GetHour从日期时间对象返回一天中的小时。

GetMilliSecond(datetime)

它从日期 – 时间对象中返回秒的毫秒数。

GetMinute(datetime)

为了从日期时间对象中获得一小时的分钟

GetMonth(datetime)

GetMonth从日期时间对象返回一年的月份

GetSecond(datetime)

它返回日期 – 时间对象中的第二分钟。

GetWeek(datetime)

为了从日期时间对象中获得一年的一周

GetWeekYear(datetime)

GetWeekYear从日期时间对象返回星期几

GetYear(datetime)

它从日期时间对象返回年份。

AddDuration(datetime,duration)

为了得到日期时间对象的结果以及持续时间对象

SubtractDuration(datetime,duration)

SubtractDuration从Date-Time对象中减去持续时间对象并返回结果。

DaysBetween(datetime1,datetime2)

DaysBetween返回两个日期时间对象之间的天数。

HoursBetween(datetime1,datetime2)

它返回两个日期时间对象之间的小时数。

MilliSecondsBetween(datetime1,datetime2)

为了得到两个日期 – 时间对象之间的毫秒数

MinutesBetween(datetime1,datetime2)

MinutesBetween返回两个日期时间对象之间的分钟数

MonthsBetween(datetime1,datetime2)

为了获得两个日期时间对象之间的月份数量

 SecondsBetween(datetime1,datetime2)

它返回两个日期 – 时间对象之间的秒数。

WeeksBetween(datetime1,datetime2)

WeeksBetween返回两个日期时间对象之间的星期数。

YearsBetween(datetime1,datetime2)

为了得到两个日期 – 时间对象之间的年数

7.数学函数

Apache Pig中有以下数学函数 – 

ABS(表达式)

为了获得表达式的绝对值。

ACOS(表达式)

它给出了表达式的反余弦。

ASIN(表达式)

ASIN给出表达式的反正弦。

ATAN(表达式)

为了得到表达式的反正切

CBRT(表达式)

它给出了表达式的立方体根。

CEIL(表达式)

CEIL用于将表达式的值取整为最接近的整数。

COS(表达式)

为了得到表达式的三角余弦。

COSH(表达式)

COSH给出表达式的双曲余弦。

EXP(表达式)

FLOOR(表达式)

为了得到表达式的值向下舍入到最接近的整数。

LOG(表达式)

LOG给出表达式的自然对数(基数e)。

LOG10(表达式)

它给出了一个表达式的基数为10的对数。

RANDOM()

为了得到大于或等于0.0且小于1.0的伪随机数(类型double)。

ROUND(表达式)

ROUND将表达式的值舍入为整数(如果结果类型为float)或四舍五入为long(如果结果类型为double)

SIN(表达式)

为了获得表达的正弦。

SINH(表达式)

它给出了表达式的双曲正弦。

SQRT(表达式)

SQRT给出表达式的正平方根。

TAN(表达式)

为了得到一个角度的三角正切。

TANH(表达式)

它给出了表达式的双曲正切。

Apache Pig内置函数

发表评论

邮箱地址不会被公开。 必填项已用*标注

+ 十五 = 二十 四

滚动到顶部