Cómo crear una plataforma de big data
Es posible que no esté calificado para responder esta pregunta. No he experimentado el proceso de la plataforma de big data de una empresa desde cero hasta lo complejo. Pero hablemos de mis puntos de vista, ordenemos mis pensamientos y encontremos algunos trolls.
Este es un proceso impulsado por la demanda.
Lo que me impresionó cuando escuché lo que Spotify compartió fue que compartieron que la primera vez que su cluster hadoop se cayó fue porque las máquinas estaban colocadas al lado de la ventana y el sol les dio, y se cayeron. Lo tengo (risas). Desde un simple cluster sin una sala de ordenadores colocada frente a la ventana hasta la compleja plataforma de datos que tenemos ahora, este es un proceso de evolución continua.
Para una empresa pequeña, podría ser una buena idea encontrar una o dos máquinas y configurar un clúster, que se considera una plataforma de big data. En la etapa inicial, la cantidad de datos será muy pequeña y no será necesaria una gran escala. En este momento, la selección de componentes también es muy arbitraria, incluido un conjunto de Hadoop, programación de tareas mediante scripts o marcos livianos como luigi, etc. El análisis de datos puede no ser tan rápido como importar RMDB usando Hive. Es posible que el monitoreo y el despliegue no requieran tiempo para organizarse, usar scripts o monitoreo liviano, y probablemente no haya ganglios, nagios, títeres ni nada por el estilo. Esta etapa puede considerarse como acumulación de tecnología. Usar medios tradicionales o una plataforma de big data real son dos cosas diferentes. Sin embargo, para la escalabilidad futura, Hadoop puede ser una buena opción en este momento.
Al entrar en un período de rápido desarrollo, es posible que la expansión de la capacidad no pueda seguir el ritmo del plan y muchas empresas pueden migrar sus plataformas a la nube, como AWS, Alibaba Cloud, etc. Para una plataforma de pequeña escala y de rápido desarrollo, este método debería ser económico y asequible, eliminando el costo de operación y gestión y facilitando la expansión. Para resolver este problema, debemos elegir los servicios que proporciona la propia plataforma, calcular los costos y abrir los canales de entrada y salida de datos. Si toda la plataforma de datos toma este camino, es posible que básicamente haya tomado forma. La empresa más famosa que ha tomado este camino probablemente sea Netflix.
También hay una etapa en la que encontrará que el costo de los servicios en la nube es demasiado alto. Aunque le ahorra muchas cosas, es una pérdida de dinero. Varios dirigentes coincidieron en que si siguen jugando se les pagará el sueldo del próximo mes. Más tarde, la empresa, a regañadientes, comenzó a convertirse en clusters privados. En este momento, es posible que necesite un grupo de personal confiable de operación y mantenimiento para ayudarlo a supervisar las máquinas. En el pasado, se iniciaban sesión en dos o tres máquinas para verificar el estado. Es posible que el cambio de disco no funcione. miles de hosts. Algunas claves El servicio debe ser estable. Algunos son nodos de datos. Si los discos se pierden cada tres días, la red puede estar bajo presión. Necesita una persona confiable para diseñar el diseño de la red, diseñar las especificaciones de operación y mantenimiento y establecer el monitoreo. El equipo de servicio está listo las 24 horas del día, los 7 días de la semana. Encima está la verdadera plataforma de big data del grupo de plataformas.
Luego está la selección. Si tiene la solidez técnica, puede utilizar directamente el conjunto completo de la comunidad y administrarlo, monitorearlo e implementarlo usted mismo. El monitoreo de la implementación y la administración de usuarios en esta etapa no son tan simples como dos o tres nodos. La administración de la configuración y la administración de la implementación requieren plataformas y componentes especializados que revisen periódicamente las operaciones y el uso de los usuarios para decidir si expandir la capacidad, limpiar datos, etc. De lo contrario, cuando las máquinas y el negocio aumenten aún más, el equipo puede morir miserablemente, agotarse, sufrir accidentes todos los días y caer en un círculo vicioso.
Por supuesto, los grandes de alto perfil pueden buscar Cloudera y Hortonworks, y los nacionales pueden buscar Huawei Starring, lo que ahorrará muchos problemas y es adecuado para los grandes que no están en Internet. Por supuesto, las empresas de Internet también utilizan estas cosas, como Ebay.
A continuación, es posible que necesites algunos componentes importantes que te ayuden a hacer algo.
Por ejemplo, para su acceso a datos, en el pasado podía encontrar un script cronometrado o capturar registros para enviar un paquete, encontrar el servidor para recibirlo y escribirlo en HDFS. Ahora es posible que eso no funcione. Es posible que estos no tengan un alto rendimiento, no hay garantía de excepción, necesita una solución más sólida, como Flume, etc.
A medida que su negocio continúa creciendo, su jefe necesita ver más y más informes, necesita capacitación y los datos deben limpiarse, necesita programar tareas, como oozie o azkaban, etc. puede ayudarle a gestionar la programación y el seguimiento de tareas críticas.
Los analistas de datos pueden estar moviendo gradualmente sus datos de RDBMS a clústeres porque las bases de datos tradicionales no pueden acomodar los datos, pero no pueden escribir código, por lo que cargan Hive y luego muchos usuarios usan Hive, pero es solo demasiado lento, por lo que estás subiendo a un sistema de análisis interactivo como Presto, Impala o SparkSQL.
Tiene muchos analistas de datos trabajando de forma independiente y está utilizando muchos sistemas de análisis de datos que funcionan de forma independiente.
Sus científicos de datos necesitan escribir código ML y le dicen que necesita Mahout o Spark MLLib, por lo que también los implementa.
En este punto, es probable que la plataforma de datos se haya convertido en el lugar de trabajo diario de los ingenieros y la mayor parte de la empresa haya migrado allí. En este punto, es posible que se enfrente a varias preguntas diferentes.
Por ejemplo, las distintas tablas de datos para cada línea de datos comerciales son un desastre y ni usted ni la persona que escribió los datos pueden saber de dónde provienen y adónde van. Por lo tanto, es necesario configurar un sistema de gestión de metadatos.
Analiza el rendimiento y descubre que sus datos tienen cientos de columnas, varias consultas complejas y el formato de texto simple sigue siendo terriblemente lento incluso después de la compresión, por lo que obliga a los usuarios a utilizar almacenamiento en columnas, Parquet, ORC. esperar.
O descubre que su ETL es muy detallado y genera muchos datos temporales en el medio, por lo que le resulta difícil reescribir la canalización en Spark.
Entonces tal vez piense en dedicar tiempo a mantener un portal que integre todos estos componentes dispersos para brindar una experiencia de usuario unificada, como extraer datos de la base de datos a HDFS e importarlos a Hive con un solo clic. también puede hacer clic en Chua y regresar para obtenerlo; puede configurar una tarea programada con unos pocos clics y enviar automáticamente un informe al jefe cuando se ejecuta todos los días o puede iniciar una topología de Storm con un solo clic; escriba algunas consultas en la interfaz. Consultar datos de Hbase. En este punto, su plataforma de datos está lista.
Por supuesto, habrá obstáculos en el camino. Cada día te enfrentas a nuevos problemas y desafíos, de lo contrario te quedarías sin trabajo, ¿verdad?
Te das cuenta de que la comunidad está resolviendo constantemente los problemas que encuentras, por lo que tus arquitectos dedican mucho tiempo todos los días a seguir a la comunidad para comprender qué nuevas herramientas están surgiendo y qué empresas están lanzando qué proyectos resuelven. algunos problemas y tal vez puedas usarlos.
Te sentirás en paz en medio de todo este caos. Una característica importante de la plataforma Hadoop es que tiene muchos inconvenientes. Funciones especialmente nuevas para proyectos recién lanzados. Para las personas del grupo de plataformas, si el jefe sabe que esta es una plataforma con muchos obstáculos naturales, puede estar muy feliz, porque seguir a la comunidad, ayudar a corregir errores e interactuar juntos son en realidad cosas muy reales y pueden mejorar la empresa. influencia. Por supuesto, si tu jefe no entiende, tienes que confiar en ti mismo. Reclutar algunos conductores experimentados que puedan tomar la iniciativa cuando surjan problemas es el enfoque correcto. Por supuesto, la acumulación técnica del equipo tiene que mantenerse al día, porque la plataforma de datos todavía está en tiempos difíciles. Si no realiza un seguimiento en tres días, no sabrá cómo es el mundo. Cualquier nueva tecnología es pit, pit, pit, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker, tinker. Si se trata de una tecnología para negocios clave, hay que ser cauteloso y cauteloso. El director técnico debe tener suficiente acumulación, ser capaz de gestionar y conocer los beneficios y riesgos.