Hey there! Welcome to Knowledge Lens Intern Training Program.
This Assignment will serve as a quick refresher on the usage of NoSQL and Time-series databases.
There are three tasks in this assignment, on completion of which you'll learn:
* How to interact with Mongo DB
* Using Pandas Dataframe and generating your own excel reports
* Leveraging Kairos Time-series database for data ingestion and querying the same
* Publishing and Consuming messages via MQTT protocol
* Caching mechanism using Redis DB
Happy Coding! :tada:
## Task 1: Working with Mongo - Advanced
## :pushpin: Task 1: Working with Mongo - Advanced
## Areas covered:
### :golf: Areas covered:
- Working with NoSQL
- Working with NoSQL
- Working with Pandas
- Working with Pandas
### :books: Description:
## Description:
You are given with a dataset of a restaurant review in the form of a JSON file. The end goal of the project is to create an API interface that will provide the following:
You are given with a dataset of a restaurant review in the form of a JSON file. The end goal of the project is to create an API interface that will provide the following:
1. Business name with maximum number of highest average review.
1. Business name with maximum number of highest average review.
...
@@ -18,75 +31,86 @@ You are given with a dataset of a restaurant review in the form of a JSON file.
...
@@ -18,75 +31,86 @@ You are given with a dataset of a restaurant review in the form of a JSON file.
*[Generating Excel Sheets from a Pandas Dataframe](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_excel.html)
https://pymongo.readthedocs.io/en/stable/
*[How to return files on FastAPI response](https://fastapi.tiangolo.com/advanced/custom-response/#fileresponse)
*[PyMongo Official Documentation](https://pymongo.readthedocs.io/en/stable/)
_________________________________
## Task 2: Working with Timeseries
## :pushpin: Task 2: Working with Time-series
### :golf: Areas covered:
- Timeseries Operation
- Working with Timeseries
- Working with Pandas
### :books: Description:
You are given with a dataset of weather in the form of a CSV file. The end goal of the project is to create an API interface that will provide the following:
You are given with a dataset of weather in the form of a CSV file. The end goal of the project is to create an API interface that will provide the following:
...
@@ -99,24 +123,32 @@ Sample Document:
...
@@ -99,24 +123,32 @@ Sample Document:
|31/12/2004 01:00|13478 |
|31/12/2004 01:00|13478 |
|31/12/2004 02:00|12865 |
|31/12/2004 02:00|12865 |
### Tools to use:
### :wrench: Tools to use:
1. Pycharm / VSCode
1. Pycharm / VSCode
2. Pandas
2. Pandas
3. Kairos
### :mag: References:
*[How to query Kairos DB using Metrics](https://kairosdb.github.io/docs/restapi/QueryMetrics.html)