Apache Pig 中有哪些不同的数据类型?


Apache Hadoop是一个数据文件系统,但要执行数据处理,我们需要一种类似SQL的语言,这种语言可以根据我们的需求更改数据或进行复杂的数据转换。Apache PIG可以实现这种数据操作。Pig使用像SQL一样的高级语言与Hadoop一起创建。Pig数据类型可与正式和非正式数据一起使用,并被转换为Hadoop集合中处理的Map Reduce编号。

在理解Pig操作符之前,我们必须了解Pig数据类型。任何上传到Pig的数据都具有特定的结构和模式,该模式使用Pig数据类型处理的数据结构来形成数据模型。

为了理解结构,数据必须通过映射来定义数据模型。由于类似SQL的结构与嵌套中的单值结构和层次数据结构配合良好,因此Pig可以处理任何数据。它带有一组有限的数据类型。Pig数据类型可以分为两类:

  • 基本类型

  • 复杂类型

基本数据类型

它也被称为简单数据类型。基本数据类型如下:

  • int - 带符号的32位整数,类似于Java中的Integer。

  • long - 带符号的64位整数,类似于Java中的Long。

  • float - 带符号的32位浮点数,类似于Java中的float。

  • double - 64位浮点数,类似于Java中的Double。

  • chararray - Unicode格式(UTF-8)的字符列表。这与Java字符单元项兼容。

  • bytearray - 字节数据类型默认表示字节。当未指定数据文件类型时,默认值为bytearray。

  • boolean - 值为真或假。

复杂数据类型

复杂数据类型由一些逻辑上和结构上比较复杂的数据类型组成。以下是复杂数据类型:

数据类型 定义 代码 示例
元组 (Tuple) 一组有序的字段。元组用括号书写。 (field[,fields....]) (1,2)
包 (Bag) 一组元组称为包。用尖括号或花括号表示。 {tuple,[,tuple...]} {(1,2), (3,4)}
映射 (Map) 一组键值对。映射用方括号表示。 [Key # Value] ['keyname'#'valuename']
  • 键 (Key) - 用于查找元素的元素,键必须唯一且必须是chararray。

  • 值 (Value) - 任何数据都可以存储在值中,每个键都有与其相关的特定数据。映射使用方括号和键值之间的井号构建。井号用于分隔多个键值对。这里#用于区分键和值。

  • 空值 - 值缺失或未知,可以应用任何数据。Pig处理空值的方式类似于SQL。当数据缺失或数据处理过程中发生错误时,Pig会检测空值。此外,null也可以用作您选择的任意值。

注意 - Pig允许复制复杂的数据结构。例如,您可以轻松地将元组放置在元组、包和映射的内部。

结论

Apache Pig是Hadoop生态系统的一部分,它支持SQL作为结构,并支持用Java.lang类表示的SQL中使用的的数据。由于数据的复杂性,Pig用于包括正式和非正式数据处理的任务。雅虎将其约40%的搜索操作用于Pig提取数据、执行任务并将数据丢弃到HDFS文件系统。

更新于:2022年8月25日

5000+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.