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文件系统。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP