Apache Kyuubi (Incubando) - KolMitE

Apache Kyuubi (Incubando)

Apache Kyuubi (Incubando)

diciembre 14, 2022 Software en General 0

Apache Kyuubi (Incubando)

Logotipo de Kyuubi

Licencia
Liberar

código cov
Estado del flujo de trabajo de GitHub
Travis
Estado de la documentación
Idioma principal de GitHub
Confirmar actividad
Tiempo promedio para resolver un problema
Porcentaje de problemas aún abiertos

¿Qué es Kyuubi?

Kyuubi es un servidor Thrift JDBC/ODBC multiinquilino distribuido para la gestión, el procesamiento y el análisis de datos a gran escala, creado sobre Apache Spark y diseñado para admitir más motores (es decir, Flink). Ha sido de código abierto por NetEase desde 2018. Nuestro objetivo es hacer de Kyuubi una herramienta “lista para usar” para almacenes de datos y lagos de datos.

Kyuubi proporciona una puerta de enlace de SQL puro a través de la interfaz Thrift JDBC/ODBC para que los usuarios finales manipulen datos a gran escala con motores Spark SQL preprogramados y extensibles. Este modelo “listo para usar” minimiza las barreras y los costos para que los usuarios finales usen Spark en el lado del cliente. En el lado del servidor, la arquitectura multiusuario de los motores y servidores Kyuubi proporciona a los administradores una forma de lograr el aislamiento de los recursos informáticos, la seguridad de los datos, la alta disponibilidad, la alta concurrencia de clientes, etc.

  • Una API similar a HiveServer2
  • Soporte de Spark para múltiples inquilinos
  • Ejecutar Spark sin servidor

Usuarios objetivo

El objetivo de Kyuubi es hacerlo fácil y eficiente para anyone para usar Spark (quizás otros motores pronto) y facilitar a los usuarios el manejo de big data como datos ordinarios. Aquí, anyone significa que los usuarios no necesitan tener conocimientos técnicos de Spark, sino un lenguaje humano, solo SQL. A veces, las habilidades de SQL son innecesarias al integrar Kyuubi con Apache Superset, que admite visualizaciones y paneles enriquecidos.

En entornos típicos de producción de big data con Kyuubi, debe haber administradores de sistemas y usuarios finales.

  • Administradores del sistema: un pequeño grupo está formado por expertos de Spark responsables de la implementación, configuración y ajuste de Kyuubi.
  • Usuarios finales: concéntrese en sus propios datos comerciales, no en dónde se almacenan, cómo se computan.

Además, la comunidad Kyuubi optimizará continuamente todo el sistema con varias funciones, como el optimizador basado en el historial, el ajuste automático, la vista materializada, los dialectos SQL, las funciones, etc.

Escenarios de uso

Portar cargas de trabajo de HiveServer2 a Spark SQL

En entornos típicos de producción de big data, especialmente en los seguros, todos los servicios integrados administran listas de control de acceso para restringir el acceso a usuarios autorizados. Por ejemplo, Hadoop YARN divide los recursos informáticos en colas. Con las ACL de cola, puede identificar y controlar qué usuarios/grupos pueden realizar acciones en colas particulares. De manera similar, las ACL de HDFS controlan el acceso a los archivos HDFS al proporcionar una forma de establecer diferentes permisos para usuarios/grupos específicos.

Apache Spark es un motor de análisis unificado para el procesamiento de datos a gran escala. Proporciona un motor SQL distribuido, también conocido como Spark Thrift Server (STS), diseñado para ser perfectamente compatible con HiveServer2 y obtener un rendimiento aún mejor.

HiveServer2 puede identificar y autenticar a una persona que llama, y ​​luego, si la persona que llama también tiene permisos para la cola YARN y los archivos HDFS, lo logra. De lo contrario, falla. Sin embargo, por un lado, STS es una única aplicación Spark. El usuario y la cola a la que pertenece STS se determinan de forma exclusiva al inicio. En consecuencia, STS no puede aprovechar los administradores de clústeres como YARN y Kubernetes para aislar y compartir recursos o controlar el acceso de las personas que llaman por parte del usuario único dentro de todo el sistema. Por otro lado, Thrift Server está acoplado en el proceso JVM del controlador Spark. Este arquitecto acoplado pone en alto riesgo la estabilidad del servidor y lo hace incapaz de manejar una alta simultaneidad de clientes o aplicar una alta disponibilidad, como el equilibrio de carga, ya que tiene estado.

Kyuubi amplía el uso de STS en un modelo multiinquilino basado en una interfaz unificada y se basa en el concepto de multiinquilino para interactuar con los administradores de clústeres para finalmente obtener la capacidad de compartir/aislar recursos y seguridad de datos. La arquitectura débilmente acoplada del servidor y el motor Kyuubi mejora drásticamente la concurrencia del cliente y la estabilidad del servicio en sí.

Soporte de DataLake/LakeHouse

La visión de Kyuubi es unificar el portal y convertirse en una plataforma de gestión de lagos de datos fácil de usar. Diferentes tipos de cargas de trabajo, como procesamiento ETL y análisis de BI, pueden ser compatibles con una plataforma, utilizando una copia de datos, con una interfaz SQL.

  • Soporte de vista lógica a través de las API de metadatos de Kyuubi DataLake
  • Compatibilidad con varios catálogos
  • Soporte de autorización estándar de SQL para DataLake (próximamente)

Soporte nativo en la nube

Kyuubi puede implementar sus motores en diferentes tipos de Administradores de clústeres, como Hadoop YARN, Kubernetes, etc.

El ecosistema Kyuubi (presente y futuro)

La siguiente figura muestra nuestra visión del ecosistema Kyuubi. Algunos de ellos se han realizado, algunos en desarrollo y otros no serían posibles sin su ayuda.

Documentación en línea

Desde la incubación de Kyuubi 1.3.0, la documentación en línea de Kyuubi está alojada en https://kyuubi.apache.org/. Puede encontrar la documentación más reciente de Kyuubi en esta página web. Para versiones 1.2 y anteriores, consulte Readthedocs directamente.

Inicio rápido

¿Listo? Primeros pasos con Kyuubi.

contribuyendo

Colaborador a lo largo del tiempo

Colaborador a lo largo del tiempo

Aparte

El proyecto tomó su nombre de un personaje de un popular manga japonés: Naruto. el personaje se llama Kyuubi Kitsune/Kuramaque es un zorro de nueve colas en la mitología.
Kyuubi difundir el poder y el espíritu del fuego, que se utiliza aquí para representar el poderoso Apache Spark. Sus nueve colas representan el soporte de múltiples inquilinos de extremo a extremo de este proyecto.

Licencia

Este proyecto está autorizado bajo la Licencia Apache 2.0. Vea el archivo de LICENCIA para más detalles.

Por favor Comparte y Síguenos:
RSS
Follow by Email
Facebook
Twitter

Deja una respuesta