加入 PIG 对阵 COGROUP

2024-03-25

当我在 pig 中使用 COGROUP 而不是 JOIN 时,有什么优势(性能/没有地图减少)吗?

http://developer.yahoo.com/hadoop/tutorial/module6.html http://developer.yahoo.com/hadoop/tutorial/module6.html谈论它们产生的输出类型的差异。但是,忽略“输出模式”,性能是否有显着差异?


没有重大的性能差异。我这么说的原因是它们最终都是一个 MapReduce 作业,将相同的数据发送到减速器。两者都需要以外键为键转发所有记录。如果有的话,COGROUP可能会快一点,因为它不会对点击进行笛卡尔积,并将它们保存在单独的包中。

如果您的一个数据集很小,您可以使用名为的连接选项“复制连接” http://pig.apache.org/docs/r0.9.0/perf.html#replicated-joins。这将在所有映射任务中分配第二个数据集并将其加载到主内存中。这样,它可以在映射器中完成整个连接,而不需要减速器。根据我的经验,这是非常值得的,因为连接和联合组的瓶颈是将整个数据集混洗到减速器。你不能这样做COGROUP, 据我所知。

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

加入 PIG 对阵 COGROUP 的相关文章

  • Sqoop - 绑定到 YARN 队列

    因此 使用 MapReduce v2 您可以使用绑定到某些 YARN 队列来管理资源和优先级 基本上通过使用 hadoop jar xyz jar D mapreduce job queuename QUEUE1 input output
  • Hive:如何分解嵌入 CSV 文件中的 JSON 列?

    从 CSV 文件 带有标题和管道分隔符 中 我得到了以下两个内容 其中包含一个 JSON 列 内部有一个集合 如下所示 第一种情况 使用没有名称的 JSON 集合 ProductId IngestTime ProductOrders 918
  • 如何跟踪hadoop中哪个数据块在哪个数据节点?

    如果复制一个数据块 会复制到哪个数据节点 是否有任何工具可以显示复制块存在的位置 如果您知道文件名 则可以通过 DFS 浏览器查找 转到您的 namenode Web 界面 说 浏览文件系统 并导航到您感兴趣的文件 在页面底部 将列出文件中
  • 无法在 Hadoop Map-Reduce 作业中加载 OpenNLP 句子模型

    我正在尝试将 OpenNLP 集成到 Hadoop 上的 Map Reduce 作业中 从一些基本的句子分割开始 在地图函数中 运行以下代码 public AnalysisFile analyze String content InputS
  • Apache hadoop 版本 2.0 与 0.23

    Hadoop 的版本和发行版太多 让我很困惑 我有几个问题 Apache Hadoop 1 x 是从 0 20 205 开始的 Apache Hadoop 2 0 是从 0 22 还是 0 23 开始 根据这个blogpost http b
  • 在 PIG 中加载文件时如何忽略“(双引号)?

    我的文件中有以下数据 a b 1 2 a b 4 3 a b 3 1 我正在使用以下命令读取此文件 File1 LOAD path using PigStorage as f1 chararray f2 chararray f3 int f
  • Sqoop 导出分区的 Hive 表

    我在尝试导出分区的 Hive 表时遇到了一些问题 这是否完全受支持 我尝试用谷歌搜索并找到一张 JIRA 票证 sqoop export connect jdbc mysql localhost testdb table sales exp
  • Hadoop 上的 Sqoop:NoSuchMethodError:com.google.common.base.Stopwatch.createStarted() [重复]

    这个问题在这里已经有答案了 我在 Google Cloud DataProc 上的 hadoop 上运行 sqoop 以通过 Cloud SQL 代理访问 postgresql 但遇到 Java 依赖项错误 INFO First Cloud
  • 在 Hadoop MapReduce 中为二进制文件创建自定义 InputFormat 和 RecordReader

    我正在编写一个 M R 作业 该作业处理以二进制格式编写的大型时间序列数据文件 如下所示 此处换行以提高可读性 显然 实际数据是连续的 TIMESTAMP 1 TIMESTAMP 1 TIMESTAMP 2 TIMESTAMP 2 TIME
  • 将 Spark 添加到 Oozie 共享库

    默认情况下 Oozie 共享 lib 目录提供 Hive Pig 和 Map Reduce 的库 如果我想在 Oozie 上运行 Spark 作业 最好将 Spark lib jar 添加到 Oozie 的共享库 而不是将它们复制到应用程序
  • Mapreduce shuffle 阶段出现内存不足错误

    我在运行时遇到奇怪的错误类似字数统计映射缩减程序 我有一个包含 20 个从站的 hadoop 集群 每个从站都有 4 GB RAM 我将 Map 任务配置为 300MB 堆 Reduce 任务槽为 1GB 我每个节点有 2 个映射槽和 1
  • Python 包安装:pip 与 yum,还是两者一起安装?

    我刚刚开始管理 Hadoop 集群 我们使用 Bright Cluster Manager 直至操作系统级别 CentOS 7 1 然后使用 Ambari 以及适用于 Hadoop 的 Hortonworks HDP 2 3 我不断收到安装
  • 为什么我们需要将外部表移动到托管 Hive 表?

    我是 Hadoop 新手 正在学习 Hive 在 Hadoop 权威指南第 3 版中 第 12 页 第428章 最后一段 我不明白下面关于 HIVE 中外部表的段落 一种常见的模式是使用外部表访问存储在 HDFS 中的初始数据集 由另一个进
  • 如何强制 Spark 执行代码?

    我如何强制 Spark 执行对 map 的调用 即使它认为由于其惰性求值而不需要执行它 我试过把cache 与地图调用 但这仍然没有解决问题 我的地图方法实际上将结果上传到 HDFS 所以 它并非无用 但 Spark 认为它是无用的 简短回
  • 如何对 RDD 进行分区

    我有一个文本文件 其中包含大量由空格分隔的随机浮动值 我正在将此文件加载到 scala 中的 RDD 中 这个RDD是如何分区的 另外 是否有任何方法可以生成自定义分区 以便所有分区都具有相同数量的元素以及每个分区的索引 val dRDD
  • 以编程方式读取 Hadoop Mapreduce 程序的输出

    这可能是一个基本问题 但我在谷歌上找不到答案 我有一个映射缩减作业 它在其输出目录中创建多个输出文件 我的 Java 应用程序在远程 hadoop 集群上执行此作业 作业完成后 需要使用以下命令以编程方式读取输出org apache had
  • Hive 聚集在多个列上

    据我所知 当配置单元表聚集在一列上时 它会执行该分桶列的哈希函数 然后将该行数据放入其中一个桶中 每个桶都有一个文件 即如果有 32 个桶 那么 hdfs 中就有 32 个文件 将 clustered by 放在多个列上意味着什么 例如 假
  • 伪模式下没有名称节点错误

    我是hadoop新手 正处于学习阶段 根据 Hadoop Definitve 指南 我已将 hadoop 设置为伪分布式模式 一切正常 昨天我什至能够执行第三章中的所有示例 今天 当我重新启动我的unix并尝试运行start dfs sh然
  • 匿名类上的 NotSerializedException

    我有一个用于过滤项目的界面 public interface KeyValFilter extends Serializable public static final long serialVersionUID 7069537470113
  • 如何在hadoop mapreduce/yarn中设置VCORES?

    以下是我的配置 mapred site xml map mb 4096 opts Xmx3072m reduce mb 8192 opts Xmx6144m yarn site xml resource memory mb 40GB min

随机推荐

  • 访问最终类的 @NSManaged 属性时出现 Swift 链接器错误

    我在一个较大的项目中遇到了问题 并将其归结为这个简单的代码 出于演示目的 我创建了一个新的 Swift 项目 在 Model swift 文件中包含以下内容 import Foundation import CoreData class A
  • 完美处理动态实例化中的scala构造函数

    我已经整理了这个工作代码 可以从给定的动态实例化一个类name String 以下 这适用于简单的情况 类和具有一个构造函数的案例类 我不确定如何处理存在多个构造函数的一般情况 我认为它们只能通过它们的签名来区分 但发现伴生对象 类和案例类
  • 当测试的主机类型为“Moles”时,无法从配置文件访问信息

    当单元测试的主机类型为 Moles 时 我们在通过单元测试访问 net 配置文件 例如 app config 和 web config 中的信息时遇到问题 这引起了相当多的麻烦 所以我希望有人知道可以做什么 我们使用的是 Visual St
  • 获取大数据集的 JDBC ResultSet 内部机制

    JDBC 结果集是否在 SQL 查询的一次网络调用中获取所有数据 考虑查询select from table where timestamp gt 1597937895 现在该查询有超过 100 万行 结果集是否在一次网络调用中获取所有行
  • 在 SQL Server 查询中复制 MS Access“First”功能

    我对 SQL Server 非常陌生 所以我现在道歉 我有一张桌子 我想要 GroupByfield1并返回field2中具有最高关联计数的记录counted场地 我通常会在 MS ACCESS 中使用 2 个查询执行此操作 第一个查询按降
  • 如何模拟密钥库类并将模拟行为分配给其方法?

    我有以下方法 我需要为其编写单元测试 但我无法监视类 KeyStore 它抛出以下异常 org mockito exceptions base MockitoException Unable to create mock instance
  • VB.net Excel ExportAsFixedFormat 失败 HRESULT 异常:0x80010105 (RPC_E_SERVERFAULT))

    我正在尝试编写一个非常简单的 VB net 应用程序 它将打开一个 Excel 文件并将其另存为 Excel 我正在工作的环境如下 Windows 10 视觉工作室 2016 办公室2016 我已成功打开 Excel 工作表并将其保存到另一
  • 两个三角形或一组半平面的交集面积或凸点集的面积

    我需要计算 2D 平面中两个三角形之间重叠区域的面积 奇怪的是我已经写了code http github com victorliu Templated Numerics blob master AnalyticGeometry TInte
  • 仅为 UIView 的一部分设置背景颜色

    我希望 UIView 的底部 不完全是一半 的颜色与顶部不同 我想知道是否应该创建一个 CGRect 然后为其着色 这是在正确的轨道上吗 void drawRect CGRect rect CGRect aRect CGRectMake x
  • C++ 和 Fortran 混合链接问题

    我在网上做了一些搜索 但我找不到如何从 Linux 编译简单的 C 和 Fortran 代码 我需要让它变得复杂 但我只需要知道如何从一个简单的例子开始 我的C 代码是这样的 include
  • 为什么我的 .NET Standard NuGet 包会触发如此多的依赖项?

    我一直在闲逛 NET 标准项目 https github com tdwright contabs和 NuGet 我有一个工作项目并且有已将其上传到 NuGet org https www nuget org packages ConTab
  • 从 OSX lion 上的版本浏览器恢复不起作用...有什么想法吗?

    我正在尝试从 Lion 上的先前版本恢复基于文档的应用程序 当我选择 恢复版本 时 文本视图不反映更改 但是 如果我关闭应用程序并重新打开 更改就会出现 我正在使用 NSDocument 的文件包装器变体 那么如何使文本视图的文本存储反映立
  • Liquibase:如何禁用 FILENAME 列检查?

    对于我们的应用程序 我们使用 liquibase 我们需要从命令行 在生产中手动 运行数据库迁移 并在应用程序启动时自动运行数据库迁移 测试环境等 问题是 Liquibase 将整个文件名视为变更集身份的一部分 因此如果路径不同 它会尝试重
  • Java重载和继承规则

    我一直在学习 因为我有考试 而且我对 Java 的大部分内容都没有太多问题 但我偶然发现了一条我无法解释的规则 这是一个代码片段 public class A public int method Object o return 1 publ
  • 两个 Div 彼此相邻,然后堆叠响应式更改

    我正在努力实现一些我确信应该比我现在做的更容易的事情 我正在使用 Skeleton 响应式框架 到目前为止一切都很好 这是我想要实现的目标的图表 这将被放置在一列中 一旦该列的大小减小 我希望它按照图中的第二个示例堆叠 div 我尝试了几种
  • 从 tfs 构建中排除测试

    我想从持续集成构建中排除一些测试 但我还没有找到这样做的方法 我尝试过的事情之一是将这些测试的优先级设置为 2 然后在构建中我指定最低测试优先级 1 但它仍然运行这些测试 任何帮助将不胜感激 您应该使用 测试类别 方法 而不是使用已描述的
  • 如何永久清除在启用软删除的情况下创建的整个 azure keyvault?

    当您创建启用了软删除的 azure keyvault 时 即使您将其删除并从头开始重新创建 该 keyvault 仍会保留 启用软删除后 标记为已删除资源的资源将保留指定时间段 默认为 90 天 该服务还提供了一种恢复已删除对象的机制 本质
  • 如何将水平滚动视图移动到特定位置?

    我使用的scrollView没有任何listView或gridview 我刚刚向其中添加了相同的视图 但知道我想以编程方式滚动到特定位置 这可能吗 请帮助我使用水平滚动 你可以使用这个方法 horizontalScrollView scro
  • Angular Jasmine FormControl 单元测试 valueChanges

    我想对以下方法进行单元测试 this boxValue subscribeToFilterChanges void this filterBox valueChanges subscribe data gt if data this box
  • 加入 PIG 对阵 COGROUP

    当我在 pig 中使用 COGROUP 而不是 JOIN 时 有什么优势 性能 没有地图减少 吗 http developer yahoo com hadoop tutorial module6 html http developer ya