Normalerweise entwickle ich mit Ruby, aber als die Arbeit des Big-Data-Analysesystems zugenommen hat, wurde es notwendig, sich mit Python zu beschäftigen, also zunächst ein System mit einer einfachen API-ähnlichen Rolle und einer leichten Framework-Flasche Ich habe beschlossen, es zu machen.
Es ist wahnsinnig leicht und einfach, so dass Sie nur die guten Teile von Python und die Hauptsprache verwenden können.
① Klicken Sie in der Ruby-Anwendung auf die API ② Holen Sie sich die Daten in MySQL mit einer in Python geschriebenen App ③ Berechnen Sie mit Python ④ Geben Sie das Berechnungsergebnis an die Ruby-Anwendung zurück
pip install virtualenv
virtualenv bottle_sample
cd bottle_sample
source bin/activate
pip install bottle
score_calculator.py
# -*- coding: utf-8 -*-
from bottle import route, run
import networkx as nx
db_name = {}
host = {}
username = {}
passwd = {}
@route('/update')
def update
g = nx.DiGraph()
import mysql.connector
connect = mysql.connector.connect(db=db_name, host=host, port=3306, user=username, passwd=passwd)
cur=connect.cursor()
cur.execute("select from_user_id,to_user_id from awesome_graph_data)
rows = cur.fetchall()
for row in rows:
if row[0] is not None:
g.add_node(row[0])
g.add_node(row[1])
g.add_edge(row[0],row[1])
cur.close()
connect.close()
pr=nx.pagerank(g,alpha=0.85,personalization=None, max_iter=500)
for id, score in pr.items():
print id,score #
return str(pr)
DATENBANK-Host MySQL-Benutzername MySQL-Passwort Ich werde dieses Mal weglassen, aber Sie können es hier in MySQL speichern. Jetzt können Sie den Pagerank aus dem gerichteten Diagramm berechnen und in MySQL speichern. 4. Punktzahl mit / score / {user_id} abrufen
score_calculator.py
@route('/score/<user_id>')
def score
import mysql.connector
connect = mysql.connector.connect(db=db_name, host=host, port=3306, user=username, passwd=passwd)
cur=connect.cursor()
cur.execute("select score from scoda_data where user_id = {{user_id}}")
score = cur.fetchall()
return score
Jetzt können Sie die Punktzahl einer bestimmten Benutzer-ID abrufen.
Mit Python + Flasche können ganz einfach Anwendungen erstellt werden. Sie können auch einfach eine Ansichtsdatei erstellen, um eine Web-Ergänzung zu erstellen.
Ich fand es interessant, mit verschiedenen Berechnungen auszugehen, die nicht mit Rubin kompatibel waren.
Recommended Posts