hive 语法检查_Apache pig 语法

Apache pig概述

pig是MapReduce的一个抽象。它是一个工具,用于分析较大的数据集,并将其表示为数据流。常与Hadoop一起使用,可以使用pig在Hadoop中执行所有的数据处理操作。

pig提供了一种名为pig Latin的高级语言。使用pig分析数据,需要编写pig Latin脚本,这些脚本在内部都转化为MapReduce任务。

pig与MapReduce的区别:

4ecc6a0bce798bca765202e33d18f335.png

pig与hive的区别

57eaa5876ec788a9a5cea96aec234ee6.png

pig Latin 一种并行的数据流语言

用户从一个或多个数据源并行读取数据,然后并行的处理,最后将结果并行的输出到一个或者多个结果集中。pig描述的是一个有向无环图。

pig Latin数据模型

Pig Latin的数据模型是完全嵌套的,它允许复杂的非原子数据类型。

eeb6f3d48e4485815a2205e18c0286e8.png

原子(atom):任何单个值,无论其数据类型都是atom。它存储为字符串,可以用作字符串和数字。:“raja“或“30"

元组(tuple):由有序字段集合形成的记录称为元组,字段可以是任何类型。例:(Raja,30)。tuple的映射操作是用 .(点操作符)。可以通过字段名引用,也可以通过位置引用。t.x,t.$1。

包(bag):一个包是一组无序的元组。换句话说,元组(非唯一)的集合被称为包。每个元组可以有任意数量的字段(灵活模式)。包由“{}"表示。:{(Raja,30),(Mohammad,45)}。用户需要映射bag字段的时候,可以通过创建一个包含用户需要字段的bag。

映射(map):k-v对。k是chararray类型,v可以是任何类型,由[]表示。:[name#Raja,age#30]

关系(relation):一个关系是一个元组的包,pig Latin中的关系是无需的。

模式:为数据定义的模式

将用户的数据模式传达给pig最简单的方式就是在加载数据时告诉pig用户加载的数据是什么样子的。当用户生命一个数据模式时,也不一定要声明其中的复杂数据类型,比如声明了一个tuple,但是也可以不申明其中包含了哪些字段。

pig Latin基础

1、 数据模型:关系是pig数据模型最外层的结构。它是一个包,其中:

  • 元组的集合
  • 元组是有序的字段集合
  • 字段是一段数据

2、 语句:语句是基本结构

  • 语句使用关系,包括 表达式模式
  • 语句用 ; 结尾。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值