Apache Hama is an open source Bulk Synchronous Parallel computing framework written in Java. It provides a general BSP engine and supports iterative algorithms, graph processing, machine learning and continuous event processing on big data. Hama uses a message passing model and guarantees deadlock freedom. It is suitable for applications with complex relationships like social networks.