Contestaría su pregunta con otra: ¿cuál sería la alternativa?
Para muchos casos de uso, el clúster Spark efectivamente tiene un solo “almacén de datos”, y es HDFS. HDFS no tiene ninguna funcionalidad de tipo de base de datos incorporada, como tablas, columnas, etc., es un sistema de archivos, por lo que solo hay archivos y carpetas.
En este caso, lo mejor que podemos hacer es que los archivos en nuestro sistema de archivos sean:
- ¿Por qué debería molestarme con Python si puedo usar software para el análisis de datos (Excel, Tableau)?
- ¿Qué tan arriesgado es cambiar a la ciencia de datos después de trabajar durante 4 años en TI?
- ¿Qué técnicas analíticas de datos debo aprender para el comercio minorista?
- ¿Cuáles son los mejores libros sobre ciencia de datos?
- ¿Qué carrera debería intentar, ciencia de datos o aprendizaje automático?
- lo más compacto posible (para reducir las necesidades de E / S al realizar consultas)
- Rápido para serializar y deserializar (para reducir las necesidades de CPU al realizar consultas)
- estar en un formato que le permita a Spark hacer el tipo de optimizaciones que una base de datos más tradicional (Parquet es un formato de archivo que Spark reconoce y consulta mucho más rápido con él)
Yo diría que Thrift ya llega a # 1 y # 2, y puede implementar # 3 escribiendo sus objetos Thrift en Parquet (aquí está el archivo fuente que hace que Parquet / parquet-mr)