博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pig Hive对比(zz)
阅读量:5740 次
发布时间:2019-06-18

本文共 959 字,大约阅读时间需要 3 分钟。

 

Pig Latin:数据流编程语言

一个Pig Latin程序是相对于输入的一步步操作。其中每一步都是对数据的一个简单的变换。

用Pig Latin编程更像在RDBMS中“查询规划器”(query planner)这一层对数据进行操作,查询规划器决定了如何将描述型语句转化为一系列系统化执行的步骤。

Pig对它所处理的数据要求则宽松得多;可以在运行时定义模式,而且这是可选的。本质上,Pig可以在任何来源的元组上进行操作。(当然数据源必须支持并行的读操作,例如存放在多个文件中)。它使用UDF(User define feature)从原始格式中读取元组。最常用的输入格式使用制表符分隔的字段组成的文本文件。Pig为这种输入提供了内置加载函数。和传统的数据库不同,Pig并不提供专门的数据导入过程将数据加载到RDBMS。在第一步处理中,数据是从文件系统(通常是HDFS中加载的)。

Pig对复杂、嵌套数据结构的支持也使其不同于处理平面数据类型的SQL。Pig的语言能和UDF及流式操作紧密集成。它的这一能力及其嵌套数据结构,使Pig Latin比大多数SQL的变种具有更强的定制能力。

不支持在线和低时延查询,不支持事务和索引。

不支持随机读和随机写。

和MapReduce一样,所有的写都是批量的,流式的写操作。

Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java API可大幅减少开发量。

 

SQL:描述性编程语言

SQL是一个约束的集合,这些约束结合在一起,定义了输出。

RDBMS把数据存储在严格定义了模式的表内。

 

 

HIVE

HIVE介于Pig和传统的RDBMS之间,和Pig一样,Hive也被设计为HDFS作为存储,但是他们之间有着显著的区别。Hive的查询语言HiveQL,是基于SQL的。任何熟悉SQL的人都可以轻松使用HiveQL写查询。和RDBMS相同。Hive要求所有数据必须存储在表中,表必须有模式,而模式由Hive进行管理。但是Hive允许为预先存在于HDFS的数据关联一个模式。所以,数据的加载步骤是可选的。

和Pig一样,Hive也不支持低时延查询。

转载于:https://www.cnblogs.com/frankly-frank/p/3594154.html

你可能感兴趣的文章
电脑配置小知识
查看>>
一些可能常用的工具函数
查看>>
The Pilots Brothers' refrigerator(简单枚举)
查看>>
JavaScript 操作符
查看>>
《构建之法》读后感
查看>>
go语言接受者的选取
查看>>
php分页
查看>>
ORACLE Index Lookup索引访问路径总结
查看>>
SpringMVC学习指南【笔记6】JSTL标签、函数
查看>>
GPS轨迹数据集免费下载资源整理
查看>>
考研?还是直接找工作?
查看>>
ue4 蓝图物体怎么不跟着蓝图动_UE4部分蓝图
查看>>
联通4g满格但是网速慢_为什么手机4G信号明明是满格,网络却很慢,背后的真实原因?...
查看>>
bable怎么使用 eclipse_Java Web轻松学46 - Maven集成到Eclipse中
查看>>
机器人 知乎碧桂园_碧桂园机器人首降淮阳,助力城市文化旅游
查看>>
ae2020不支持的视频驱动程序_音视频PaaS平台基于Windows的抓屏技术
查看>>
图纸打印什么时候用蓝图_工程图纸为什么是蓝图?
查看>>
网页中竖的目录怎么改成横的_骨架隔墙怎么做?
查看>>
查看历史操作记录_git操作方法
查看>>
5怎么选国外节点_房子装修,床垫怎么选?这5家床垫值得买
查看>>