使用Hadoop和Docker进行代码开发的过程

我在Hadoop学习了一段时间,并且安装了一切虚拟机,并且能够使用Intellij编写Java代码来执行MapReduce作业。

这一切都很棒,但是我想学习MapReduce,而且还有更多的细节,所以我有兴趣在自己的机器上设置一些东西来练习。 我看到Cloudera拥有Docker镜像,允许在某种Linux风格下安装Hadoop生态系统。 我是docker工人,但听起来不错,尤其是因为他们有一个伪集群的多节点选项,我不需要繁琐的虚拟机。

我的问题是,如何实际编写MapReduce,Spark或任何代码在容器中运行? 在我的主机上没有Hadoop / Spark / etc的jar或者库,这些都在图像中,而且在docker上看起来有些容器是命令行驱动的。 所以不知道如何在图像中使用IDE。 那么,当所有的依赖关系都在图像中的时候,如何开发代码呢?