hive与pig比较
什么是HIVE
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。hive参考手册
什么是pig
pig是在HDFS和MapReduce之上的数据流处理语言(脚本语言),它将数据流处理翻译成多个MapReduce函数,提供更高层次的抽象将程序员从具体的编程中解放出来。pig参考手册
不同的方式做同样的事情(Two ways of doing same thing)
1、都是使用高层次的语言生成MapReduce任务
2、都使Users不用了解MapReduce与HDFS的细节
基本信息对比
HIVE | Pig | |
---|---|---|
开发者 | Yahoo! | |
语言 | HiveQL | Pig Latin |
语言类型 |
类似SQL查询语言 Select * from mytable |
数据流处理语言,由一系列的operation和transformation组成。 每个操作或变换对输入进行数据处理,然后产生输出结果 A = LOAD ‘mydata’ AS (Col1:chararray, Col2:int) B = GROUP A BY (Col2) Dump B |
用户 | 在Analysts中更流行 | 在Programmer与Researcher中更流行 |
使用模式 | Analysts:生成日常报表 |
Programmer:写复杂的数据管道 Researcher:特设分析(ad-hoc),例如机器学习 |
发展方向 |
Hive朝着数据仓库的方向发展, 使用者要求与其他系统更好的结合(O/JDBC) |
Pig朝着语言的方向发展,使用者要求有更好的开发环境 例如调试器,编辑器 |
细节对比
特性 | HIVE | Pig |
---|---|---|
模式/类型(Schemas/Types) | 支持(显示的) | 支持(隐式的) |
分区(partitions) | 支持 | 不支持 |
用户自定义函数(UDF) | 支持(Java) | 支持(Java) |
自定义序列化(Serializer/Deserializer) | 支持 | 支持 |
直接访问DFS | 支持(隐式的) | 支持(显式的) |
Join/Order/Sort操作 | 支持 | 支持 |
Shell命令 | 支持 | 支持 |
网络接口 | 支持 | 不支持 |
JDBC/ODBC | 支持(有限的) | 不支持 |
1、两者均不支持事物与索引,全盘扫描是常态
2、两者均不支持随机读与实时查询
总结
直接使用Hadoop的Java APIs实现MapReduce任务是乏味和容易出错的,同时也限制了编程的灵活性。于是Hadoop提供了两个解决方案使得编程变得更加容易,即Hive与Pig。
Hive主要用于静态的结构以及需要经常分析的工作,并且Hive与SQL相似促使其成为Hadoop与其他BI(商业智能)工具结合的理想交集。
Pig相比Hive相对轻量,Pig赋予开发人员在大数据集领域更多的灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的应用程序。
hive与pig比较相关推荐
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不过现在还是有些公司在用,不过我 ...
- 大数据分析处理框架——离线分析(hive,pig,spark)、近似实时分析(Impala)和实时分析(storm、spark streaming)...
大数据分析处理架构图 数据源: 除该种方法之外,还可以分为离线数据.近似实时数据和实时数据.按照图中的分类其实就是说明了数据存储的结构,而特别要说的是流数据,它的核心就是数据的连续性和快速分析性: 计 ...
- 【Hadoop Summit Tokyo 2016】Hivemall: Apache Hive/Spark/Pig 的可扩展机器学习库
本讲义出自 Makoto YUI与NTT Takashi Yamamuro在Hadoop Summit Tokyo 2016上的演讲,主要介绍了Hivemall的相关知识以及Hivemall在Spar ...
- 数据分析:Hive、Pig和Impala
本文主要分享Hadoop三大分析工具:Hive.Pig和Impala. Hive和Pig是高级数据语言,基于Mapreduce,底层处理的时候会转换成Mapreduce去提交,Hive和Pig都是开源 ...
- HIVE与PIG对比
什么是HIVE hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.hive参考手 ...
- Hive、Pig、HBase的关系与区别,值得收藏!
本文首发于微信空中好「对白的算法屋」 Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来 ...
- ssis组件_使用SSIS Hadoop组件连接到Apache Hive和Apache Pig
ssis组件 In our previously published articles in this series, we talked about many SSIS Hadoop compone ...
- Pig、Hive、MapReduce 解决分组 Top K 问题
2019独角兽企业重金招聘Python工程师标准>>> 问题: 有如下数据文件 city.txt (id, city, value) cat city.txt 1 wh 500 2 ...
- Hadoop、Pig、Hive、Storm、NOSQL 学习资源收集【Updating】
(一)hadoop 相关安装部署 (二)hive (三)pig (四)hadoop原理与编码 (五)数据仓库与挖掘 (六)Oozie工作流 (七)HBase (八)flume (九)sqoop (十) ...
最新文章
- 当面试官问这些基础的Python问题时,竟然还有80%的人不会!
- Dubbo:Dubbo入门---搭建一个最简单的Demo框架
- java 异常处理 return,求大神!!!!java 异常处理中return的意思
- 汉堡王什么汉堡好吃_315 曝光用过期面包做汉堡:汉堡王到底怎么了?
- 我为什么用docker-compose来打包开发环境
- 前端学习(1907)vue之电商管理系统电商系统之渲染修改用户的表单的重置操作
- 2018-携程-春招题
- BZOJ4017 小Q的无敌异或 好题
- 2014年6月5日 深圳 IBM 安全解决方案会议通知
- 0 y 100写成c语言,c语言100编程实例
- 开源代码审计工具备忘
- 普元eos使用svn_普元EOS开发经验总结——不定期持续更新中
- 【谷月老师讲WPS】用 Windows 11 的 WSL 安装 WPS for Linux
- 【附源码】Python计算机毕业设计民宿客房管理系统
- mysql查询统计不及格人数_MySQL,查询及格人数,不及格人数
- MyEclipse Building Workspace问题
- 后台架构设计—数据存储层
- QBC以及QBE例子
- Java线程安全(卖票案例) 如何解决线程安全(synchronized ,显示锁Lock)
- 高级程序员如何面对职场压力 1 --老板是猪头