def __init__(self, sc, dataset_path):
        """Init the recommendation engine given a Spark context and a dataset path
        """

        logger.info("Starting up the Recommendation Engine: ")

        self.sc = sc

        # Load ratings data for later use
        logger.info("Loading Ratings data...")
        ratings_file_path = os.path.join(dataset_path, 'ratings.csv')
        ratings_raw_RDD = self.sc.textFile(ratings_file_path)
        ratings_raw_data_header = ratings_raw_RDD.take(1)[0]
        self.ratings_RDD = ratings_raw_RDD.filter(lambda line: line!=ratings_raw_data_header)\
            .map(lambda line: line.split(",")).map(lambda tokens: (int(tokens[0]),int(tokens[1]),float(tokens[2]))).cache()
        # Load movies data for later use
        logger.info("Loading Movies data...")
        movies_file_path = os.path.join(dataset_path, 'movies.csv')
        movies_raw_RDD = self.sc.textFile(movies_file_path)
        movies_raw_data_header = movies_raw_RDD.take(1)[0]
        self.movies_RDD = movies_raw_RDD.filter(lambda line: line!=movies_raw_data_header)\
            .map(lambda line: line.split(",")).map(lambda tokens: (int(tokens[0]),tokens[1],tokens[2])).cache()
        self.movies_titles_RDD = self.movies_RDD.map(
            lambda x: (int(x[0]), x[1])).cache()
        # Pre-calculate movies ratings counts
        self.__count_and_average_ratings()

        self.redis_utils = RedisUtils("localhost", 6379)

        # Train the model
        self.rank = 8
        self.seed = 5
        self.iterations = 10
        self.regularization_parameter = 0.1
        self.__train_model()
示例#2
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Created on 2018/09/20
@filename: main.py
@author: yanghang
Description:
"""
import sys
import os
package_path = os.getcwd()+os.sep+"utils"
sys.path.append(package_path)

from redis_utils import RedisUtils
from config_utils import ConfigUtils

if __name__ == '__main__':
    config = ConfigUtils('conf/config.ini')
    REDIS_HOST = config.get_value('redis', 'host')
    REDIS_PORT = config.get_value('redis', 'port')
    MYSQL_HOST = config.get_value('mysql', 'host')
    MYSQL_PORT = config.get_value('mysql', 'port')
    MYSQL_USERNAME = config.get_value('mysql', 'username')
    MYSQL_PASSWORD = config.get_value('mysql', 'password')
    MYSQL_DATABASE = config.get_value('mysql', 'database')
    redis = RedisUtils(REDIS_HOST,REDIS_PORT)
    redis.set_str('hello','11111')
    print(redis.get_str('hello'))
示例#3
0

class RedisConfigurationReader(ConfigurationReader):
    def __init__(self, config_file):
        super().__init__(config_file)

    def get_redis_settings(self):
        try:
            return self.configuration["redis_cache_settings"]
        except KeyError:
            raise Exception(
                'The  redis configurations are not configured, please configure in yml file'
            )


r = RedisUtils()
config = RedisConfigurationReader('./conf/redis_settings.yml')
config.read_config_file()
r.strict_connect(**config.get_redis_settings())
print(r.__dict__)

app = Flask(__name__)

example_blueprint = Blueprint("example_blueprint", __name__)

app.config['SWAGGER'] = {
    "swagger_version":
    "2.0",
    "title":
    "Flasgger",
    "headers": [