我一直在使用 Pig 和我的 Cassandra 数据来完成各种惊人的分组壮举,而这些壮举几乎不可能用命令式编写。我正在使用 DataStax 的 Hadoop 和 Cassandra 集成,我不得不说它非常令人印象深刻。向那些家伙致敬!!
我有一个非常小的沙盒集群(2 个节点),我正在对这个系统进行一些测试。我有一个 CQL 表,它有约 53M 行(大约 350 字节 ea。),我注意到 Mapper 稍后需要很长时间才能通过这 53M 行。我开始查看原木,我可以看到地图反复溢出(我从映射器中看到 177 次溢出),我认为这是问题的一部分。
CassandraInputFormat 和 JobConfig 的组合只创建了一个映射器,所以这个映射器必须从表中读取 100% 的行。我称之为反平行:)
现在,这张照片中有很多齿轮在起作用,包括:
- 2个物理节点
- hadoop 节点位于“分析”DC(默认配置)中,但物理上位于同一机架中。
- 我可以使用 LOCAL_QUORUM 查看作业
任何人都可以指出如何让 Pig 创建更多输入拆分以便我可以运行更多映射器的方向吗?我有 23 个插槽;似乎很遗憾一直只使用一个。
或者,我完全疯了,不明白这个问题?我欢迎这两种答案!