搞大数据,Java 工程师需要掌握哪些知识?