error ... ImportError: No module named cassandra.cluster
11,079
Install cassandra driver:
pip install cassandra-driver
Author by
max scalf
Updated on June 04, 2022Comments
-
max scalf almost 2 years
I am trying to follow the below video about write-paths and when i use the sample student-files that are provided i get below error....i am really new to cassandra and trying to figure out why the excerise file not work....i have provided the error that i get(ImportError: No module named cassandra.cluster) and also the .sh and .py file...any help is appriciated...
https://academy.datastax.com/courses/understanding-cassandra-write-path/understanding-data-files
cass@cass:~/student-files/write-path/exercise-1$ ccm list *demo_1node cass@cass:~/student-files/write-path/exercise-1$ cass@cass:~/student-files/write-path/exercise-1$ ccm status Cluster: 'demo_1node' --------------------- node1: UP cass@cass:~/student-files/write-path/exercise-1$ cass@cass:~/student-files/write-path/exercise-1$ ./write_data.sh 300000 Traceback (most recent call last): File "./write_data.py", line 5, in <module> from cassandra.cluster import Cluster ImportError: No module named cassandra.cluster cass@cass:~/student-files/write-path/exercise-1$ cass@cass:~/student-files/write-path/exercise-1$ cat write_data.sh #!/bin/bash if [ $# -ne 1 ]; then echo "Usage: write_data.sh <number of keys>" exit 0 fi if [ `ccm status | grep "node1: UP" | wc -l` -ne 1 ]; then echo "Cassandra cluster not up" exit 0 fi ./write_data.py $1 cass@cass:~/student-files/write-path/exercise-1$ cass@cass:~/student-files/write-path/exercise-1$ cat write_data.py #!/usr/bin/python # This Python script will insert a number of keys into # musicdb.user from cassandra.cluster import Cluster from random import randint from sets import Set from uuid import uuid4 import os,sys,time,binascii if len(sys.argv) < 2: print "Usage: python.py <number of keys>" sys.exit() cluster = Cluster(['127.0.0.1']) session = cluster.connect() insert_row_prepare = session.prepare("INSERT INTO musicdb.user (id,preferences) VALUES(?,?)") quarter=int(int(sys.argv[1])/4) half=int(int(sys.argv[1])/2) three_quarter=int(int(sys.argv[1])/4)+int(int(sys.argv[1])/2) for x in range(0,int(sys.argv[1])): id = uuid4() set = Set([binascii.b2a_hex(os.urandom(100)),binascii.b2a_hex(os.urandom(100)),binascii.b2a_hex(os.urandom(100)), binascii.b2a_hex(os.urandom(100)),binascii.b2a_hex(os.urandom(100)),binascii.b2a_hex(os.urandom(100)), binascii.b2a_hex(os.urandom(100)),binascii.b2a_hex(os.urandom(100)),binascii.b2a_hex(os.urandom(100)), binascii.b2a_hex(os.urandom(100)),binascii.b2a_hex(os.urandom(100)),binascii.b2a_hex(os.urandom(100))]) insert_row_bind = insert_row_prepare.bind([id,set]) session.execute(insert_row_bind) if (x+1) == int(sys.argv[1]): print "100% completed - " + str(x+1) + " rows inserted." elif (x+1) == quarter: print "25% completed - " + str(x+1) + " rows inserted." elif (x+1) == half: print "50% completed - " + str(x+1) + " rows inserted." elif (x+1) == three_quarter: print "75% completed - " + str(x+1) + " rows inserted." time.sleep(1) cluster.shutdown() cass@cass:~/student-files/write-path/exercise-1$