Engineering Blog

Engineering

Learn from our challenges and triumphs as our talented engineering team offers insights for discussion and sharing.

Transferring Files Between Git Repos

LiveRamp's code base, like many large primarily-Java code bases, is made of a series of Maven modules. Over our years of operation, we've built up some very large kitchen-sink style projects that include code for many different features. These projects get in the way of modularization and abstraction by making it very easy to ...

The Case of Masquerading as Maidens

A crew of crafty pirates encounter a group of maidens on a remote beach. The pirates plot to steal the maidens away and marry them in a far-away land. The pirates land their boat and begin to drag away the poor maidens. The pirates, however, are spotted by the Royal Navy and surrounded. The pirates ...

MultiCombiner

We’re happy to announce that we’ve added a new tool built on top of Cascading, called MultiCombiner, to our open source project cascading_ext. MultiCombiner allows one to run arbitrarily many aggregation operations, each with their own distinct grouping fields, over a single stream of tuples using only a single reduce step. MultiCombiner uses combiners ...

Space Assignment

The Sol Starfleet is having trouble assigning astronauts to jobs on its starships. Each astronaut has only a limited set of skills, and therefore can only be assigned to some roles. Each role has a maximum number of astronauts that it can accommodate - any more and they start getting in each other's way. ...