2
2
from appdata import AppData
3
3
import predictionio
4
4
import sys
5
+ import pytz
5
6
6
- from app_config import APP_ID , API_URL , THREADS , REQUEST_QSIZE
7
-
8
- def batch_import_task (app_data , client , all_info = False ):
7
+ def batch_import_task (app_id , app_data , client , all_info = False ):
9
8
10
9
print "[Info] Importing users to PredictionIO..."
11
10
count = 0
@@ -55,11 +54,6 @@ def batch_import_task(app_data, client, all_info=False):
55
54
sys .stdout .write ('\r [Info] %s' % count )
56
55
sys .stdout .flush ()
57
56
58
- #client.identify(v.uid)
59
- #client.arecord_user_action_on_item("rate",
60
- # v.uid,
61
- # v.iid,
62
- # { "pio_rating": v.rating },)
63
57
properties = { "pio_rating" : int (v .rating ) }
64
58
req = client .acreate_event ({
65
59
"event" : "rate" ,
@@ -68,10 +62,9 @@ def batch_import_task(app_data, client, all_info=False):
68
62
"targetEntityType" : "pio_item" ,
69
63
"targetEntityId" : v .iid ,
70
64
"properties" : properties ,
71
- "appId" : APP_ID ,
72
- "eventTime" : v .t .isoformat () + 'Z'
65
+ "appId" : app_id ,
66
+ "eventTime" : v .t .replace ( tzinfo = pytz . utc ). isoformat (),
73
67
})
74
- #print req.get_response()
75
68
76
69
sys .stdout .write ('\r [Info] %s rate actions were imported.\n ' % count )
77
70
sys .stdout .flush ()
@@ -82,8 +75,10 @@ def batch_import_task(app_data, client, all_info=False):
82
75
sys .exit ("Usage: python -m examples.demo-movielens.batch_import "
83
76
"<app_id> <url>" )
84
77
78
+ app_id = int (sys .argv [1 ])
79
+
85
80
client = predictionio .EventClient (
86
- app_id = int ( sys . argv [ 1 ]) ,
81
+ app_id = app_id ,
87
82
url = sys .argv [2 ],
88
83
threads = 5 ,
89
84
qsize = 500 )
@@ -92,5 +87,5 @@ def batch_import_task(app_data, client, all_info=False):
92
87
print "Status:" , client .get_status ()
93
88
94
89
app_data = AppData ()
95
- batch_import_task (app_data , client )
90
+ batch_import_task (app_id , app_data , client )
96
91
client .close ()
0 commit comments