Cassandra Products JSON | Fresco Play

Author: neptune | 29th-Oct-2023
#Hackerrank #Problem Solving

Cassandra is a powerful NoSQL database system that's well-suited for handling large volumes of data. In this blog, we'll go through a series of common tasks related to managing data in Cassandra. We'll address each query and provide a detailed solution with explanations to help you get started.


Problem Statements with solution:

1. Create a Keyspace

To create a keyspace named 'electric' with class 'SimpleStrategy' and replication factor 1, you can use the following command in the Cassandra Query Language Shell (cqlsh):


    CREATE KEYSPACE IF NOT EXISTS electric

    WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};


This command ensures that the keyspace is created only if it doesn't already exist.


2. Create a Table

Now, let's create a table named 'products' with the specified columns and data types:


- id (int, primary key)

- category (text)

- name (text)

- price (int)

- discount (text)

- companyname (text)


To create this table, use the following command:


    CREATE TABLE IF NOT EXISTS electric.products (

    id int PRIMARY KEY,

    category text,

    name text,

    price int,

    discount text,

    companyname text

    );


3. Insert Data from JSON

If you have a JSON file named 'products.json' with data to insert into the 'products' table, you can use the following CQL command:


    COPY electric.products (id, category, name, price, discount, companyname)

    FROM 'products.json' WITH HEADER = true;


Make sure that the 'products.json' file is in the same directory as cqlsh or provide the full path to the file. The `WITH HEADER = true` option assumes that the first row of the JSON file contains column headers.


To check if the data is loaded successfully, you can query the 'products' table.

4. Query for Discounted Products

To retrieve the details of products available for discounts (where `discount` is true) and save the results in 'discount_products.txt', use the following command:


    cqlsh -e "SELECT * FROM electric.products WHERE discount = 'true'" > discount_products.txt


This command executes a SELECT query and redirects the output to 'discount_products.txt'.


5. Find the Maximum Price

To get the maximum price among the specified products and store the result in 'max_price.txt', use the following command:


    cqlsh -e "SELECT MAX(price) FROM electric.products" > max_price.txt


This command calculates the maximum price and saves it to 'max_price.txt'.

6. Products Belonging to Haier

If you want to retrieve the details of products belonging to the company 'Haier' and store the results in 'haier_products.txt', use the following command:


    cqlsh -e "SELECT * FROM electric.products WHERE companyname = 'Haier'" > haier_products.txt


This command filters the products based on the company name and saves the results in 'haier_products.txt'.


7. Washing Machine Products

To get the details of products categorized as 'Washing machine' and store the results in 'washingmachine_products.txt', use the following command:


    cqlsh -e "SELECT * FROM electric.products WHERE category = 'Washing machine'" > washingmachine_products.txt


This command filters the products based on the category and saves the results in 'washingmachine_products.txt'.


By following these steps, you can efficiently manage your data in Cassandra, from creating keyspaces and tables to querying and exporting specific data based on your needs.





Related Blogs
1. Basic SQL Select Query of Hacker Rank.
Author: neptune | 20th-Apr-2022
#SQL #Hackerrank
Problem Statement : Query all columns for all American cities in the CITY table with populations larger than 100000. The CountryCode for America is USA...

Modified 0-1 knapsack problem | Frsco Play Hackerrank
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
An automobile mechanic wants to buy a set of spare parts from a manufacturing unit. Goal is to maximise the amount of money the mechanic can earn...

AngularJS - Know Tech Frameworks | Fresco Play
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
Build an application that displays the framework details using AngularJS routing. We will build an application that displays the Tech Frontend and Backend frameworks...

PySpark Milestone Black Friday Sales Data | Fresco Play Hackerrank
Author: neptune | 05th-Nov-2023
#Data Science #Hackerrank
Welcome to the Spark Challenge. You are provided with the Black Friday sales data and we as a big data developer needs to analyze and fetch the required data...

Python - Number Based Problem | Hackerrank
Author: neptune | 17th-Aug-2023
#Hackerrank #Problem Solving
Determine whether the number in descending order is a prime or not. If the number is a prime, then print "Sorted Number is a prime number," otherwise, print "Sorted Number is not a prime number."..

View More