pig数据类型

Pig的数据类型可以分为两大类:基本类型和复杂类型。

  1. 基本类型:
    int、long、float(浮点数,一般会丢失精度,要求严格可使用int或者long保证不丢失精度)、double(浮点数,一般会丢失精度,要求严格可使用int或者long保证不丢失精度)
    chararray:字符串或者字符数组。它是通过java.lang.String实现的。chararray常量是以加单引号的一系列字符来表示,例如’fred’。
    bytearray:一团或者一组字节。bytearray是通过封装了java的byte[]的DataByteArray Java类来实现的。
  2. 复杂类型
    pig有3个复杂数据类型:map、tuple和bag。
    map:是一种chararray和数据元素之间的键值对映射,其中数据元素可以是任意的pig类型,包括复杂类型。chararray被称为键,它作为查找对应元素的索引,相应的数据元素被称为值。
    map常量通过方括号来划定map结构,键和值间是一个#号,键值对之间使用逗号分隔。如:[‘name’#’bob’,’age#55’]。
    tuple:tuple是一个定长的,包含有序pig数据元素的集合。tuple可以分为多个字段,每个字段对应着一个数据元素。这些数据元素可以是任意的数据类型,它们无须是相同的数据类型。一个tuple相当于sql中的一行,而tuple的字段相当于sql中的列。
    tuple常量使用圆括号来指示tuple结构,使用逗号来划分tuple中的字段。如(‘bob’,55)。
    bag:是一个无序的tuple集合,因为它无序,所以无法通过位置获取bag中的tuple。
    bag常量是通过花括号进行划分的,bag中的tuple用逗号来分隔,如{(‘bob’,55),(‘sally’,52),(‘john’,25)}。
  3. null值
    在pig中null值所表达的含义是这个值是未知的,这可能是数据缺失,或者在处理数据时发生了错误等原因造成的。
  4. 模式
    pig对于模式非常宽松,如果用户为数据定义了一个模式,那么pig会使用这个模式,为的是既可以进行预先的错误检查也可以用于执行过程的优化。如果用户没有为数据提供一个模式,pig仍然可以处理数据,它会根据脚本的如何处理数据的做出一个最合理的猜测。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值