¿Cómo afectaría exactamente la falta de experiencia en programación Java a la competencia de uno en Hadoop y su pila de tecnología?

Nunca había programado en Java cuando comencé a trabajar en Hadoop (y luego comencé Hive). Es uno de los lenguajes más fáciles de programar, y Hadoop proporciona una buena base de aprendizaje, ya que es una base de código Java bastante sofisticada. Las aplicaciones de Vanilla Hadoop son triviales de escribir, pero hay ejercicios de programación progresivamente más interesantes que uno puede encontrar (escribir los propios iteradores sobre las secuencias, o agregar paralelismo en algunos lugares o incluso bajar a la capa JNI). Por lo tanto, creo que, en general, esto no es un problema, especialmente para aplicaciones simples creadas sobre marcos existentes como Map-Reduce o Cascading, etc. En lugar de la programación real, siempre encontré que los sistemas de gestión de dependencias y construcción son más mágicos. terminó teniendo que buscar ayuda experta a su alrededor.

Si está buscando hacer un desarrollo avanzado (como escribir sus propios marcos o crear nuevos sistemas de servidor), entonces creo que la situación difiere un poco. Hay ciertos aspectos de Java, relacionados con la concurrencia, la escritura de aplicaciones de uso / pérdida de memoria alta y la obtención del máximo rendimiento de la JVM, que no son fáciles de obtener simplemente mirando las bases de código, y creo que es una buena idea leer algunas buenas prácticas en esta área. (Las bibliotecas de alto rendimiento en Java parecen tener un buen conjunto de proyectos de muestra en esta área; LMax es uno de los que he escuchado especialmente antes).

Para el administrador de Hadoop: no afecta. Para el desarrollador Sí: en el futuro, cuando comience a buscar un conmutador, solicitará Java la mayor parte del tiempo.