Background








Youtube Trending Videos Analysis



Averigua cómo hacer que tus vídeos de YouTube sean más virales gracias a esta herramienta que utiliza tecnología Big Data











Sobre el Proyecto

La idea de este proyecto es ayudar a empresas o particulares que utilicen YouTube con regularidad para saber cómo darle una mayor viralidad y rendimiento a los vídeos que deseen publicar, haciendo que incrementen el número de Me gusta y de visualizaciones.

Esto se llevará a cabo a través del uso de un Dataset que contiene los 200 vídeos más populares del día de varios meses y varias regiones (India, USA, Gran Bretaña, Alemania, Canadá, Francia, Rusia, Brasil, México, Corea del Sur y Japón); con diversos parámetros como el título del vídeo, el título del canal, fecha de publicación, etiquetas, visualizaciones, Me Gusta y No me Gusta, comentarios, etc.

Necesidad del Big Data

Con una cantidad tan enorme de información (aproximadamente 803 mil vídeos), se requiere del Data Science y Big Data para procesar rápidamente una cantidad tan gigantesca de información.

A su vez necesitamos de Procesamiento Paralelo para conseguir procesar toda esta información lo más rápido y eficazmente posible


Datos utilizados

Para obtener las métricas que buscamos, partimos de un Dataset que contiene alrededor de 803k vídeos repartidos en 11 países (almacenados en ficheros CSV distintos para cada país) además de un informe con las categorías más populares de la región (almacenado en JSON) alojado en Kaggle , una plataforma gratuita para obtener diversos Dataset para trabajos de procesamiento de Big Data.

Cada vídeo almacenado en nuestro dataset está definido por las siguientes variables:

video_id, title, publishedAt, channelId, channelTitle, categoryId, trending_date, tags, view_count, likes, dislikes, comment_count, thumbnail_link, comments_disabled, ratings_disabled, description

Y cada categoría almacenada está definida por estas variables:

kind, etag, id, snippet (title, assignable, channelId)

Como podemos ver en las variables, hay varias que son relevantes para la finalidad de este proyecto, aunque también hay varias no tan útiles como la descripción del vídeo o el link hacia la miniatura del mismo. Y ya que hay ciertas variables que no nos van a resultar útiles (y que para obtener estadísticas globales el mismo vídeo puede aparecer varias veces), tendremos que hacer una limpieza de los datos que estaremos usando.


Aplicación Desarrollada

La aplicación está basada en una arquitectura de microservicios, creando pequeños scripts adicionales que hacen un estudio específico cada uno. La idea es tener una aplicación lo más modularizada posible donde sus módulos sean lo más independientes posible de los demás. También cada módulo generará una salida en un formato de gráficas y tablas, para que sea amigable con el usuario y más fácil de visualizar. Actualmente la aplicación completa obtiene las siguientes métricas:

Cómo se ejecuta la aplicación

Para ejecutar esta aplicación se requiere tener instalado Python y Apache Spark en modo local, además de diferentes librerías que permiten generar los gráficos de cada estudio. Los pasos para realizar la instalación son los siguientes (partiendo desde tener Python instalado y ejecutamos un SO Linux):

Pasos adicionales para desplegar en un cluster Cloud

Para desplegar la aplicación en un entorno Cloud, se deben seguir estos pasos adicionales. Para información adicional se puede consultar esta página del soporte técnico de Google Cloud


Resultados Obtenidos

Frecuencia de visualización de cada categoría a nivel mundial
Frecuencia de categorías
Gráfica para analizar la longitud del título del vídeo
Frecuencia de longitud de título
Gráfica para analizar la hora de publicación de un video por frecuencia
Frecuencia de hora de publicación
Top 10 videos más vistos
Top mas vistos
Top 10 videos más gustados
Top mas gustados
Top 10 videos más comentados
Top mas comentados
Gráfica de correlación entre número de visitas y Me Gusta
Correlacion con Likes
Gráfica de correlación entre número de visitas y No Me Gusta
Correlacion con Dislikes
Top 10 Etiquetas con más visualizaciones por país
Top etiquetas
Gráfica para analizar el porcentaje de mayúsculas en los títulos de los videos
Porcentaje Mayusculas

Informe de Rendimiento

Tabla de rendimiento
Tabla de cálculo del rendimiento medio obtenido para cada script de la aplicación

Como podemos observar en los rendimientos obtenidos por los diferentes scripts, tanto en su ejecución regional como global; y tanto en una instalación local* como en un cluster** de Google Cloud, las diferencias de rendimiento entre estos dos es notable; pues de media al usar una instalación local tarda 9,5 segundos en terminar la ejecución mientras que en el Cluster de Cloud tarda alrededor de 4,5 segundos.

Esto son 5 segundos de diferencia que, en caso de tener un conjunto de datos de mayor magnitud haría que la diferencia se hiciese aún más grande. Además, si se contase con información de más países, el tiempo de cálculo de los resultados a nivel mundial se incrementaría más.

A través de estos resultados podemos visualizar la importancia de las tecnologías Cloud y del procesamiento paralelo y su contribución a que los resultados que necesitamos al procesar Big Data no pierdan su valor útil por tiempos de procesamiento innecesariamente prolongados.

*: Máquina con 4GB de RAM y un procesador de 2 núcleos y 4 hilos a 2GHz

**: Clúster con una máquina maestra y dos trabajadoras, todas del tipo n1-standard-4 (4 núcleos virtuales y 15GB de RAM cada máquina)


Sobre Nosotros

Somos un grupo de estudiantes de la Facultad de Informática de la Universidad Complutense de Madrid estudiando la asignatura Optativa General Cloud y Big Data durante el curso 2021-22

Quienes formamos parte del grupo

Sergio Crespillo Campos
  • Sergio Crespillo
  • Marcos Matute Fernandez
  • Marcos Matute
  • Camilo Andres D'isidoro
  • Camilo D'isidoro
  • Alvaro Plaza Sanz
  • Álvaro Plaza Sanz
  • Lluc Bonet Segui
  • Lluc Bonet Seguí