blob: 55543246f466a0d92db6101ecdfdea90e9a0434e [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""
Import sample data for recommended user engine
"""
import predictionio
import argparse
import random
SEED = 3
def import_events(client):
random.seed(SEED)
count = 0
print(client.get_status())
print("Importing data...")
# generate 50 users, with user ids u1,u2,....,u50
user_ids = ["u%s" % i for i in range(1, 51)]
for user_id in user_ids:
print("Set user", user_id)
client.create_event(
event="$set",
entity_type="user",
entity_id=user_id
)
count += 1
# each user randomly follows 10 users
for user_id in user_ids:
for followed_user in random.sample(user_ids, 10):
print "User", user_id ,"follows User", followed_user
client.create_event(
event="follow",
entity_type="user",
entity_id=user_id,
target_entity_type="user",
target_entity_id=followed_user
)
count += 1
print("%s events are imported." % count)
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description="Import sample data for recommended user engine")
parser.add_argument('--access_key', default='invald_access_key')
parser.add_argument('--url', default="http://localhost:7070")
args = parser.parse_args()
print(args)
client = predictionio.EventClient(
access_key=args.access_key,
url=args.url,
threads=5,
qsize=500)
import_events(client)