Analysts only need a straightforward group-by on already-cataloged Hive tables of recycling-tonnage facts. What is the better abstraction choice?
Select an answer to reveal the explanation.
Short Explanation
If Hive already speaks group-by over the recycling tables, don't carve the same answer in low-level MapReduce stone. Use the higher abstraction when it fits. Laptops' localStorage is not a warehouse.
Full Explanation
When analysts only need a straightforward group-by on already-cataloged Hive tables of recycling-tonnage facts, expressing the group-by in Hive is the better abstraction than hand-coding a low-level MapReduce program—use the highest appropriate layer for civic productivity and maintainability. Rewriting the query as bare MapReduce Java even when Hive already covers it adds cost and error surface without benefit. Storing the tonnage facts only in browser localStorage on each clerk laptop destroys shared governed analytics. Blocking all SQL-like access because Pig alone may run citywide is an arbitrary and incorrect tooling monopoly. Exam caveat: prefer Hive SQL when it fits; drop to raw MapReduce only when necessary. Operational check: implement the tonnage group-by as a Hive query on cataloged tables, peer-review the SQL, and reserve custom MapReduce for transforms Hive cannot express cleanly. In municipal platform operations, record the rationale in the architecture decision record so future on-call staff know which pattern was chosen and which failure modes the rejected options would create for city services. Re-validate after the next maintenance window that monitoring, access paths, and recovery steps still match the documented design for agencies that depend on this platform.