Pig、Cassandra 和 DataStax 拆分控制

2023-12-14

我一直在使用 Pig 和我的 Cassandra 数据来完成各种令人惊奇的分组壮举,而这些壮举几乎不可能用命令式的方式编写。我正在使用 DataStax 的 Hadoop 和 Cassandra 集成,我不得不说它令人印象深刻。向那些家伙致敬!

我有一个非常小的沙箱集群(2 个节点),我正在其中对该系统进行一些测试。我有一个 CQL 表,其中有大约 53M 行(每个大约 350 字节),我注意到 Mapper 之后需要很长时间来处理这些 53M 行。我开始查看日志,发现地图反复溢出(我看到映射器有 177 次溢出),我认为这是问题的一部分。

CassandraInputFormat 和 JobConfig 的组合仅创建一个映射器,因此该映射器必须从表中读取 100% 的行。我称之为反平行 :)

现在,这张图中有很多齿轮在工作,包括:

  • 2个物理节点
  • hadoop 节点位于“Analytics”DC(默认配置)中,但物理上位于同一机架中。
  • 我可以使用 LOCAL_QUORUM 查看作业

谁能指出我如何让​​ Pig 创建更多输入的方向Splits这样我就可以运行更多映射器?我有23个槽位;一直只用一个似乎很遗憾。

或者,我完全疯了,不明白这个问题吗?我欢迎这两种答案!


你应该设置pig.noSplitCombination = true。您可以在三个地方之一执行此操作。

调用脚本时:

dse pig -Dpig.noSplitCombination=true /path/to/script.pig

在 Pig 脚本本身中:

SET pig.noSplitCombination true
table = LOAD 'cfs://ks/cf' USING CqlStorage();

或永久在/etc/dse/pig/pig.properties。取消注释:

pig.noSplitCombination=true

否则,Pig 可能会将您的总输入路径(组合)设置为处理: 1.

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

Pig、Cassandra 和 DataStax 拆分控制 的相关文章

随机推荐

  • 检测 NSNumber 是否为零、nil 或 0

    我的核心数据中有一个变量 我想检测为零 空或其他没有好的值 例如 222 或 333 的情况 这应该是微不足道的 但我正在陷入 Objective C 的语法 以下代码是not在职的 if item id nil item id 0 do
  • Flot 条形图将条形与 X 轴标签对齐

    您好 我正在尝试绘制包含 31 天数据的条形图 然而 当我绘制它时 当我将条形图设置为时 每个数据的标签并不直接位于其条形图下方的中心 align center 第一个小节和最后一个小节被切成两半 这是jsfiddle http jsfid
  • 是否可以通过编辑 CSS 文件在 Bootstrap 4 中设置自定义断点?

    在我在这里完全被火焰击落之前 除了我的做法如下之外 我想不出任何其他方式来措辞或表达这个问题 我想在 Bootstrap 4 中为 1366px 和 1920px 设置 2 个额外的断点 因为 Bootstrap 的 xl 非常有限 只有
  • 在滚动条上覆盖 div

    我不想向下滚动页面来查看一堆 div 而是希望它们在滚动时叠加在同一个位置 一个叠在下一个上面 因此 您会向下滚动 但页面不会向下滚动 相反 下一个 div 将覆盖第一个 div 依此类推 不知道该怎么做 这是我所拥有的 UPDATE 这是
  • OpenGL 坐标系不在 -1 到 1

    我正在用 OpenGl 和 C 创建一个基本游戏 并希望当玩家到达屏幕边缘时他们无法再移动 我无法确定屏幕边缘在哪里 我知道Windows通常有一个介于1和 1之间的系统 但我的似乎更像是0 63到 0 63 玩家在屏幕上显示为一个方框 具
  • Ionic - 如何以编程方式设置项目的文本颜色?

    在 Ionic 3 中 如何以编程方式设置项目的文本颜色 例如 单击列表项将更改 切换 列表项的颜色
  • 在 R 脚本中将代码拆分为多行

    我想将 R 脚本中的一行拆分为多行 因为它太长 我怎么做 具体来说 我有一行诸如 setwd a very long path here that goes beyond 80 characters and then some more 是
  • IEqualityComparer 上不会调用 Equals 和 GetHashCode

    我正在比较两个List
  • 测试指针是否为空的最有效方法是什么?

    测试指针无效的两种方法之间哪种最有效 if pointer NULL or if pointer MyObject p Solution 1 if p Do something Solution 2 if p NULL Do somethi
  • 如何强制 cmake 在编译期间包含“-pthread”选项?

    我知道有类似的东西find package Threads 但它似乎没有什么区别 至少其本身 现在我正在使用SET CMAKE C FLAGS CMAKE C FLAGS pthread 但对我来说这看起来不是一个正确的解决方案 CMake
  • iPhone 上的谷歌地图异常

    我正在尝试将谷歌地图添加到我的iPhone应用程序中 我按照谷歌在此处所说的进行操作https developers google com maps documentation ios start getting the google ma
  • Excel 与 OneDrive 的全名属性

    如果我想在保存后使用打开的 Workbook 对象获取 Excel 文件的全名 但该文件已同步到 OneDrive 我会得到一个 https 地址 而不是本地地址 其他程序无法解释该地址 如何获取这样的文件的本地文件名 Example 将文
  • open_basedir 限制生效 文件不在允许的路径内

    Warning is dir function is dir open basedir restriction in effect File is not within the allowed path s home futbol data
  • JS window.onload 用法与文档

    window onload从我的阅读看来 它可以与document onload但我的经验表明这是不正确的 我继承了一个 JS 脚本 但我不知道如何纠正它 我希望 JS 在 DOM 加载后执行 而不是在所有资源加载后执行 我怎样才能做到这一
  • eras light itc 的 CSS 代码

    谁能给出 eras light ITC 字体的css编码 我无法得到它 编码是 para quote padding right 30px font family sans serif font weight 100 我想要eras lig
  • jQuery:$().click(fn) 与 $().bind('click',fn);

    当使用 jQuery 连接事件处理程序时 使用 click 方法有什么区别 click fn 与使用绑定方法相比 bind click fn 除了绑定的可选数据参数之外 对于它的价值 从jQuery 源代码 jQuery each blur
  • PHPMailer 收件人地址上的字符 ñ

    当我尝试将电子邮件发送到包含字母 的收件人地址时 我在 phpmailer 上收到下一个错误 例如 致命错误 未捕获异常 phpmailerException 并带有消息 无效地址 lauro mu 电子邮件受保护 我知道它说这是一个无效地
  • 我可以通过任何方式检测驱动程序签名策略状态吗?

    我有一个修改过的驱动程序 并且必须在禁用驱动程序签名时安装 因此我想检测此状态以提醒用户重新启动到安全模式 我试过这个命令 Bcdedit exe set TESTSIGNING OFF 但是失败并提示 设置元素数据时发生错误 该值受安全启
  • Django 和 HTML 数组

    我有一个包含以下输入的表单
  • Pig、Cassandra 和 DataStax 拆分控制

    我一直在使用 Pig 和我的 Cassandra 数据来完成各种令人惊奇的分组壮举 而这些壮举几乎不可能用命令式的方式编写 我正在使用 DataStax 的 Hadoop 和 Cassandra 集成 我不得不说它令人印象深刻 向那些家伙致