In most cases, we use some munge of a hash and the specified prefix as our
split key. When our prefix spans region boundaries, we end up using those
row keys as our split keys. So, if I'm expecting a row key, it's because
the region boundary includes our prefix.


On Fri, May 3, 2013 at 8:33 AM, Jeff Kolesky <notifications@github.com>wrote:

> In
> kiji-mapreduce/src/test/java/org/kiji/mapreduce/IntegrationTestSmartKijiTableInputFormat.java:
>
> > +    configuration.set(KijiConfKeys.KIJI_INPUT_TABLE_URI, tableURI.toString());
> > +    configuration.set(SmartKijiTableInputFormat.KIJI_POST_HASH_START_KEY,
> > +        Base64.encodeBase64String(Bytes.toBytes(23)));
> > +    JobContext jobContext = new JobContextImpl(configuration, new JobID("test", 1));
> > +
> > +    List<InputSplit> splits = inputFormat.getSplits(jobContext);
> > +
> > +    assertEquals("wrong number of splits", 11, splits.size());
> > +
> > +    KijiTableSplit split = (KijiTableSplit)splits.get(0);
> > +    assertArrayEquals("wrong split start for 0", createSplitKey(0, 23), split.getStartRow());
> > +    assertArrayEquals("wrong split end for 0", createSplitKey(0, 24), split.getEndRow());
> > +
> > +    split = (KijiTableSplit)splits.get(1);
> > +    assertArrayEquals("wrong split start for 1", createSplitKey(1, 23), split.getStartRow());
> > +    assertArrayEquals("wrong split end for 1", createRowKey(1, 23, 247L), split.getEndRow());
>
> Why do some comparisons need a "split key" while others need a "row key"?
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/opower/kiji-mapreduce/pull/4/files#r4075443>
> .
>