Using Java or Python on Hadoop explicitly depends on an individual. In whichever language you are good you can use that for Hadoop. However, there are some differences in credibility between both the languages when used for Hadoop and comparison can be made between them.
Java is used for general purpose and is easily compiled on any platform. It is less productive because here we need to define each variable while writing the code. In java, the variables should be statically declared. However, Python is a high-level language that comes with short syntax. It is easily compiled on Linux platform and the developers do not have to declare the variables while typing.
Python can be called a very precise language with fewer lines of code that makes it more productive than java. But the speed computation of Java is much faster than Python.
It totally depends on an individual to choose between these two languages. I would suggest that if you are looking for a faster developing of a large-scale system, go for Java because it has high-speed accessibility.
And if you are a developer who is looking for an easy and flexible language that is powerful for end-to-end advanced analytics applications, then python is your match.
For more information regarding the same, refer to the following video: