Caching and Denormalising User Metadata
Last updated
Last updated
Various data products in sunbird depends on the user metadata which are generated on joining different tables from core cassandra and LP cassandra. The logic for joining the table and fetching the information per user type is complex.
Fetch the information from cassandra table, compute all the required fields in the flink job (user-cache-updater job) and update all the fields to the redis cache.
Field Name | Type | Table Name | Description | |
---|---|---|---|---|
1 | User-ID | String | User | It indicates user unique Identifier |
2 | Mobile Number | String | User | User phone number in an encrypted format |
3 | Email ID | String | User | User mail id in an encrypted format |
4 | ID | String | User | User unique identifier |
5 | First Name | String | User | User first name |
6 | Last Name | String | User | User Last Name |
7 | Phone Verified | String | User | It indicates whether user is verified the phone number or not |
8 | Email Verified | String | User | It indicates whether user is verified the email or not |
9 | Flags Value | Int | User |
|
10 | Framework | Map[String, List[String]] | User | User framework |
11 | Rootorgid | String | User | User root org id (can be used to differentiate between custodian and state user) |
12 | CreatedBy | String | User | User created By |
13 | Subject | List[String] | User | User subjects |
14 | Language | List[String] | User | User Language |
15 | Grade | List[String] | User | User grades |
16 | Roles | List[String] | User | User roles |
17 | Status | Int | User | User status |
18 | Webpages | List[Map[String, String]] | User |
|
19 | Createddate | String | User | User created date |
20 | Emailverified | Boolean | User | User email is verified or not |
21 | Isdeleted | Boolean | User | User is deleted or not |
22 | Locationids | List[Strings] | User |
|
23 | Updateddate | String | User | User last updated date |
24 | Profilevisibility | String | User | User profile visibility |
25 | Loginid | String | User | User login id |
26 | Username | String | User | It’s a combination of user first name and last name columns |
27 | External-ID | String | User_external_identity |
|
28 | School Name | String | Custodian User: User_external_identity State User: Organisation |
|
29 | School UDISE Code | String | Custodian User: User_external_identity State User: Organisation |
|
30 | State Name | String | Location |
|
31 | District Name | String | Location |
|
32 | Block Name | String | Location |
|