join - tipos - ¿Hay una diferencia de rendimiento comprobada entre las uniones en Hive en INT/BIGINT versus VARCHAR?
hive data types with examples (0)
Durante años he estado leyendo / escuchando sobre la ''ventaja de rendimiento'' de las uniones de bases de datos en columnas de bigint que tienen uniones OVER en columnas (var) char .
Desafortunadamente, al buscar respuestas / consejos reales con respecto a ''preguntas de tipo similar'' :
- Los ejemplos utilizados se encuentran en un contexto RDBMS ''tradicional'' , como Mysql u Oracle / SQL Server. Tomemos por ejemplo esta pregunta o este ejemplo
- La respuesta es bastante antigua y la diferencia final en tiempo de ejecución no es tan buena. De nuevo, mira este ejemplo
No he visto un ejemplo con una versión de Hive (preferiblemente la versión 1.2.1 o superior) donde un conjunto de datos grande (BIG-DATA-ISH) (digamos 500 millones + filas ) se une a un conjunto de datos de tamaño similar en:
- una columna de Bigint
- VERSUS una columna (var) Char (32).
- VERSUS una columna (var) Char (255).
Estoy eligiendo un tamaño de 32 porque es del tamaño de un Hash MD5, convertido a caracteres y 255 porque está "en el rango" de la clave natural más grande que haya visto.
Futhermore , esperaría Hive:
- para funcionar bajo el motor Tez
- use un formato de archivo (comprimido) como ORC + ZLip / Snappy
¿Alguien sabe de un ejemplo así , corroborado con pruebas mostrando los planes Hive Explain , CPU, archivos y recursos de red + tiempos de ejecución de consultas?