Challenge Overview
TopCoder paltform uses Logstash service which allows to pull data from single or multiple sources and store to different data stores. The first task here is to read data from a log file and store inside elasticsearch (which is setup locally). This task is already done and the logstash configuration file is attached.
Next time, for deltas, it tries to load data into ElasticSearch, we should even handle deltas (updation and deletion) without fully replacing the elasticsearch record.
Elasticsearch download: https://www.elastic.co/downloads/elasticsearch
Logstash download: https://www.elastic.co/downloads/logstash
Logstash input, filter and output plugin documentation is available here:
1. input plugins - https://www.elastic.co/guide/en/logstash/current/input-plugins.html
2. filter plugins - https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
3. Output plugins - https://www.elastic.co/guide/en/logstash/current/output-plugins.html
There are 1 file formats in this challenge - users. The logs should be stored into elasticsearch store.
Final Submission Guidelines
Task 1) This is already implemented. Please see the attached configuration file:
For users, please use the following records:
ChallengeId Roles userId
30049004 Approver 151743
30049004 Copilot 151743
30049004 Iterative Reviewer 151743
30049004 Manager 262467
The Json structure to be stored inside elasticsearch is shown below:
"id"
:
151743
,
"roles"
: [
"Approver"
,
"Copilot"
,
"Iterative Reviewer"
]
},
{
]
30049004 Manager 151742
The Json structure which needs to be stored inside elasticsearch is shown below:
"id"
:
151743
,
"roles"
: [
"Approver"
,
"Copilot"
, "Iterative Review", "
Manager"]
},
{
{
]
30049004 Copilot 151743
The Json structure which needs to be stored inside elasticsearch is shown below:
"id"
:
151743
,
"roles"
: [
"Approver"
,
"Iterative Reviewer", "
Manager"]
},
{
]