Hi Stack,
First, if I have 40 servers with about 32 regions per server, what
would I set the mapper and reducers to?
Coarsely, make as many maps as you have total regions (Assuming
TableInputFormat is in the mix; it splits on table regions) and make
the number of reducers equal to the amount of index shards you want
out the other end. For example, you could have just one reducer
produce one index for all table content if table is small, etc.
But if we need to search it at the end while not producing one index,
how would you handle this? Would you for example create ten indexes and
then use a MultiReader (?) to search across all 10? And this also means
obviously that I have to save those 10 indexes locally first to be able
to search it, means I need the storage room for them as a total anyways.
What advantage does that have? Is there a maximum size (apart from what
the OS implies on the filesystem) for Lucene indexes that would affect that?
And secondly, is it allowed to add new column values during the
process? For example, if I read all rows and the column "contents:A"
(for example row123.contents:A), analyze the data and then write out
the result in "row123.contents:B", is that OK to do?
You mean add new content while indexing? Yes. If you don't mind some
of the added content ending up in the index...
I would add the same family but with a different label, and since the
job maps a different label, they would not be indexed, right?
Thanks again for your help Stack!
Best regards,
Lars