Implement a dense vector backed by an array in the class DenseVector, and the ability to compute dot products with another dense vector.
Next, please implement a distributed matrix vector multiplication via a broadcast-join in the class DenseMatrixVectorMultiplication. We read the matrix row-wise, broadcast the vector to all workers and compute the multiplication results in a mapper.
You can test your implementation with the following unit tests:
mvn -Dtest=nl.uva.bigdata.hadoop.exercise2.DenseMatrixVectorMultiplicationLocalTest test
mvn -Dtest=nl.uva.bigdata.hadoop.exercise2.DenseMatrixVectorMultiplicationClusterTest test