Programming Big Data Applications: Scalable Tools and Frameworks for Your Needs