项目作者: UCloudM

项目描述 :
Analysis performed on data from the Steam platform using Apache Spark and Cloud services such as Amazon Web Services.
高级语言: Python
项目地址: git://github.com/UCloudM/Steam_Analysis_For_Gamers.git
创建时间: 2019-11-19T13:48:05Z
项目社区:https://github.com/UCloudM/Steam_Analysis_For_Gamers

开源协议:

下载





Analysis for Gamers


Steam Analysis for Gamers es un proyecto con el cual hemos realizado un procesamiento por bloques (Batch Data Processing) y su posterior análisis con datos recolectados de la plataforma de videojuegos Steam.

El proyecto consta de dos ideas principales:

  • La primera idea está basada en la recomendación de una desarrolladora de videojuegos para un género en concreto, en base a las votaciones obtenidas en juegos lanzados anteriormente por la misma desarrolladora que pertenecen a ese mismo género.

  • La segunda idea se podría dividir en dos:

    • ¿Qué juegos podríamos ejecutar en nuestro ordenador en función del procesador que tenemos?
    • ¿Qué procesador deberíamos comprar si queremos jugar a determinados juegos?

Los scripts que se han desarrollado se pueden ver en su correspondiente carpeta y son los siguientes:

  1. ├── Scripts
  2. ├── idea1
  3. ├── idea1_local.py: Fichero que realiza las recomendaciones en modo local. Este permite aprovecharse de los núcleos de tu ordenador además de tener la ruta del dataset enlazada a su carpeta.
  4. ├── idea1_cluster.py: Fichero que realiza las recomendaciones en un cluster. Está preparado para poder acceder al dataset una vez esté ubicado en el sistema de ficheros de Hadoop.
  5. ├── rankingPara_.csv: Ficheros con los resultados generados por los scripts.
  6. ├── graph.py: Fichero que permite crear las gráficas con los archivos CSV que generan los scripts mencionados anteriormente.
  7. ├── pruebas.txt: Contiene posibles desarrolladoras y géneros que podríamos meter como entrada
  8. ├── Capturas: Contiene algunos ejemplos de salida en capturas que se han hecho durante el desarrollo.
  9. ├── Gráficas: Imagenes generadas por el archivo graph.py
  10. ├── idea2.py: Fichero que realiza el tratamiento de los datasets que se utilizan en dicha idea.
  11. └──

Requisitos

  • Sistema Operativo Linux
  • Python 3
  • Apache Spark

Instalación en Ubuntu

Python

  1. $ sudo apt-get install python3

Spark

  1. $ sudo curl -O http://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz
  2. $ sudo tar xvf ./spark-2.2.0-bin-hadoop2.7.tgz
  3. $ sudo mkdir /usr/local/spark
  4. $ sudo cp -r spark-2.2.0-bin-hadoop2.7/* /usr/local/spark

Configura el entorno

Añade la siguiente línea al archivo .source:

  1. $ export PATH="$PATH:/usr/local/spark/bin"

Ejecución

Idea 1

En el caso de querer ejecutar esta idea en local, se debe ejecutar un comando como el siguiente:

  1. $ spark-submit idea1_local.py "Nombre desarrolladora" "Genero"

En el caso de querer ejecutarlo en un cluster, se debería ejecutar lo siguiente:

  1. $ spark-submit --num-executors N --executor-cores M idea1_cluster.py "Nombre desarrolladora" "Genero"

Siendo “Nombre desarrolladora” y “Genero” datos escogidos del fichero pruebas.txt. Las variables N y M dependen del cluster lanzado.

Estos dos scripts, generarán una salida en la terminal de Apache Spark y otra en un fichero con formato CSV con los resultados obtenidos.

En cuanto al script de las gráficas, valdría con poner un comando en la terminal como el siguiente:

  1. $ python3 graph.py "rankingPara_.csv" "Genero"

Siendo “rankingPara_.csv” los resultados que acabamos de generar.

Idea 2

Esta idea no se ha podido llevar a cabo en su completitud por la complejidad en el tratamiento de los datos. A pesar de esto, este tratamiento se realiza correctamente y es completamente funcional. Se puede comprobar con el siguiente comando:

  1. $ spark-submit idea2.py

Datasets

Miembros

  • Adrián Ogáyar Sánchez
  • Arturo Barbero Pérez
  • Jesús Verdúguez Gervaso
  • Pedro Martínez Gamero