accumulo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthew Purdy <mpurdy1973usergro...@gmail.com>
Subject scan iterator that rolls up col vis
Date Wed, 02 Jul 2014 02:41:00 GMT
USE CASE: on scan only; want to have a "summing combiner" that rolls
up by (rowId, colfam, colqual) on all row keys where the client has
visibility.

below is a simple example that expresses the use case.

accumulo table holding student to professor relationship by departments


+----------+------------------+-----------+--------------+-----+
|  rowId   |       colfam     |  colqual  |    colvis    | val |
+----------+------------------+-----------+--------------+-----+
| student1 | TAKES_CLASS_WITH |  prof1    | MATH_DEPT    |   1 |
| student1 | TAKES_CLASS_WITH |  prof1    | MATH_DEPT    |   1 |
| student1 | TAKES_CLASS_WITH |  prof1    | COM_SCI_DEPT |   1 |
| student1 | TAKES_CLASS_WITH |  prof1    | COM_SCI_DEPT |   1 |
| student2 | TAKES_CLASS_WITH |  prof1    | MATH_DEPT    |   1 |
| student2 | TAKES_CLASS_WITH |  prof1    | COM_SCI_DEPT |   1 |
+----------+------------------+-----------+--------------+-----+


with the summing combiner the results would be

+----------+------------------+-----------+--------------+-----+
|  rowId   |       colfam     |  colqual  |    colvis    | val |
+----------+------------------+-----------+--------------+-----+
| student1 | TAKES_CLASS_WITH |  prof1    | MATH_DEPT    |   2 |
| student1 | TAKES_CLASS_WITH |  prof1    | COM_SCI_DEPT |   2 |
| student2 | TAKES_CLASS_WITH |  prof1    | MATH_DEPT    |   1 |
| student2 | TAKES_CLASS_WITH |  prof1    | COM_SCI_DEPT |   1 |
+----------+------------------+-----------+--------------+-----+

- the math department can only see math department totals
- the com sci department can only see the com sci department total
- the office of the dean has both access

therefore when scanning (it wouldnt work for compaction), how
can you sum over colvis?

assuming you had both colvis access the desired results would be:

+----------+------------------+-----------+-----+
|  rowId   |       colfam     |  colqual  | val |
+----------+------------------+-----------------+
| student1 | TAKES_CLASS_WITH |  prof1    |   4 |
| student2 | TAKES_CLASS_WITH |  prof1    |   2 |
+----------+------------------+-----------+-----+

Mime
View raw message