Pig 和 Hive 之间的区别?为什么两者都有? [关闭]

2024-02-04

我的背景 - 进入 Hadoop 世界已经 4 周了。使用 Cloudera 的 Hadoop VM 涉足 Hive、Pig 和 Hadoop。读过Google关于Map-Reduce和GFS的论文(PDF link http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf).

我明白那个-

  • 猪的语言 Pig Latin 是一种转变 from(适合程序员的思维方式) 类似于 SQL 的声明式风格 编程与 Hive 的查询语言紧密结合 类似于 SQL。

  • Pig 位于 Hadoop 之上并位于 原则也可以坐在上面 树妖。我可能是错的,但 Hive 是 与 Hadoop 紧密耦合。

  • Pig Latin 和 Hive 命令 编译为Map 和Reduce 作业。

我的问题 - 当一个(比如猪)可以达到目的时,同时拥有两者的目标是什么?难道只是因为 Pig 受到了 Yahoo! 的福音吗?和 Facebook 的 Hive?


看看这个post http://yahoohadoop.tumblr.com/post/98294444546/comparing-pig-latin-and-sql-for-constructing-data来自 Yahoo! 的 Pig 架构师 Alan Gates 的文章比较了何时使用 Hive 等 SQL 而不是 Pig。他提供了一个非常令人信服的案例来说明 Pig 等过程语言(相对于声明式 SQL)的有用性及其对数据流设计者的实用性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pig 和 Hive 之间的区别?为什么两者都有? [关闭] 的相关文章

随机推荐

  • Spring webflux block、flatmap 和 subscribe 的区别

    我有一个api需要调用其他3个api 第二个和第三个api调用依赖于第一个api的结果 我对执行此操作的最佳方法以及使用块 订阅和平面地图之间的区别有点困惑 所有这 3 种方法都适合我 但我不确定哪一种是最好的 这就是我目前所拥有的 web
  • 如何从 CLI 调用 gnuplot 并将输出图形保存到图像文件?

    我正在编写一个批处理文件 该文件还将从 dat 文件生成 gnuplot 图 我希望使用我编写的 gnuplot gnu 脚本从命令行调用 gnuplot 并将输出图形保存到图像中 就像是 gnuplot exe script gnu gt
  • 有人知道 eclipse 的共享待办事项列表插件吗

    有谁知道 Eclipse 的共享 TODO 列表插件允许开发团队中的所有用户查看和编辑相同的任务列表 Mylyn http www eclipse org mylyn 可用于将问题跟踪系统集成到 IDE 中 它通过使任务成为 Eclipse
  • 使用 Macro_rules 中的可选数据表示枚举变体

    我正在尝试创建一个宏来帮助处理我一直在重复编写的一些样板枚举代码 我设法使用基本的方法相对轻松地实现了一个简单的枚举 即没有参数 macro rule 例如摘录 macro rules enum helper type ident name
  • 是否可以恢复损坏的“interned”字节对象

    众所周知 小bytes 对象由 CPython 自动 驻留 类似于intern https docs python org 3 library sys html sys intern 字符串函数 更正 As 解释了 https stacko
  • Project Reactor 中的预取是什么意思?

    我正在使用 Project Reactor 并且正在使用Flux flatMapIterable https projectreactor io docs core release api reactor core publisher Fl
  • 将 Webpack 与 HTTP/2 结合使用有什么价值

    我正在开始一个新项目 并且我正在尝试前瞻性地思考它 我过去使用过 Browserify 对于我的新项目 我想使用 Webpack Rollup 或 SystemJS Webpack 看起来是迄今为止最成熟的 具有大量出色的功能 不过 我担心
  • 从 C# 中的接口创建对象

    仅给定一个接口 是否可以从中创建一个对象 就像是 var obj new IWidget 我知道这段代码是不正确的 VS 仍然无法创建 IWidget 的实例 我所处的上下文中 我的项目引用了接口 并且我想创建具体对象并从方法返回它们 但我
  • anaconda如何选择cudatoolkit

    我有多个 anaconda 环境 上面安装了不同的 cuda 工具包 环境1有cudatoolkit 10 0 130 环境2有cudatoolkit 10 1 168 环境3有cudatoolkit 10 2 89 我通过运行找到了这些c
  • 空样式 (.css/.scss) 文件

    当我创建 Angular 应用程序时 我使用 CLI 来生成组件 在开发应用程序一段时间后 我为每个组件都有样式文件 但其中大部分是空的 当我检查声纳时 空样式文件中有代码气味 删除这个空样式表 在此文件末尾添加一个空的新行 我应该删除声纳
  • 重定向到用户登录后尝试访问的页面

    一直在阅读一些内容来找到答案 但运气不太好 我有一个网站 成员可以匿名浏览该网站 但某些页面受到限制 一旦成员单击需要登录才能查看的链接 我就会将其重定向到登录页面 我面临的问题是我不知道如何将会员重定向到他们登录后试图访问的页面 他们试图
  • JavaScript 图像缩放与 CSS3 变换,如何计算原点? (举例)

    我正在尝试实现图像缩放效果 有点类似于 Google 地图的缩放效果 但具有固定位置图像网格 我已经在这里上传了到目前为止我所拥有的示例 http www dominicpettifer co uk Files MosaicZoom htm
  • 向 bison/jison 计算器语言添加函数

    我正在尝试扩展吉森计算器示例 http zaach github io jison try 具有一些简单的功能 我对解析和 bison jison 相当陌生 但这是我到目前为止所拥有的一些内容 lexical grammar lex var
  • History.js 有没有办法知道何时按下后退按钮

    我已经开始测试历史 js https github com balupton history js 在了解了它的工作原理并且没有popstate 而是有statechange 我正在寻找一种在按下浏览器后退按钮时有所不同的方法 原因是我需要
  • Linux 上的 Squeak SMTP

    我正在使用 Squeak 5 类 SecureSMTPClient 通过 SSL TLS 发送电子邮件 它在我的 Windows 机器上运行良好 感谢答案那个问题 https stackoverflow com questions 3761
  • 使用可变长度数组有任何开销吗?

    使用可变长度数组有一些开销吗 数组的大小可以在运行时通过命令行参数传递吗 与自动和动态分配数组相比 为什么要引入它 VLA 确实有一些开销 与 普通 命名的编译时大小的数组相比 首先 它具有运行时长度 而且该语言为您提供了在运行时获取数组实
  • 从返回响应数据的 Fetch Post 获取数据

    我在带有 redux 的 React 应用程序中使用交叉获取 在我的减速器中 我使用 cross fetch 的 post 方法将一些数据保存到数据库中 我的调用返回一个响应 其中包含一些我需要在保存后分配给状态的数据 但我在解析数据时遇到
  • 当我直到运行时才知道长度时,如何声明数组?

    我最初有一个数组 1 1000 它被定义为全局变量 但现在我需要它是 n 而不是 1000 直到后来我才找到 n 在填充数组之前我知道 n 是什么 但我需要它是全局的 因此需要一种在运行时定义全局数组的大小的方法 上下文是通过文件中字节的线
  • 电话号码中的正则表达式可选空格[重复]

    这个问题在这里已经有答案了 可能的重复 用于电话号码验证的综合正则表达式 https stackoverflow com questions 123559 a comprehensive regex for phone number val
  • Pig 和 Hive 之间的区别?为什么两者都有? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我的背景 进入 Hadoop 世界已经 4 周了 使用 Cloudera 的 Hadoop VM 涉足 Hive Pig 和 Hadoop 读过