| drop dataverse fuzzyjoin if exists; |
| |
| create dataverse fuzzyjoin; |
| |
| use dataverse fuzzyjoin; |
| |
| create type UserType as open { |
| uid: int32, |
| name: string, |
| lottery_numbers: [int32], |
| interests: <string> |
| } |
| |
| create type VisitorType as open { |
| vid: int32, |
| name: string, |
| lottery_numbers: [int32], |
| interests: <string> |
| } |
| |
| create nodegroup group1 if not exists on nc1, nc2; |
| |
| create dataset Users(UserType) partitioned by key uid on group1; |
| create dataset Visitors(VisitorType) partitioned by key vid on group1; |
| |
| load dataset Users from nc1:'data/users-visitors-small/users.json'; |
| load dataset Visitors from nc1:'data/users-visitors-small/visitors.json'; |
| |
| write output to nc1:'rttest/fuzzyjoin_user-vis-int-vis-user-lot-aqlplus_1.adm'; |
| |
| set simthreshold '.5f'; |
| |
| for $user in dataset('Users') |
| for $visitor in dataset('Visitors') |
| for $user2 in dataset('Users') |
| where $user.interests ~= $visitor.interests and $visitor.lottery_numbers ~= $user2.lottery_numbers |
| order by $user.uid, $visitor.vid, $user2.uid |
| return {'user': $user, 'visitor': $visitor, 'user2': $user2} |