-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquery_cass.py
49 lines (39 loc) · 1.3 KB
/
query_cass.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import ssl
import pandas as pd
from cassandra.cluster import Cluster
node_ip = #put node ip
cluster = Cluster([node_ip])
session = cluster.connect()
#Creates KEYSPACE
session.execute("""
CREATE KEYSPACE twitter
WITH REPLICATION = { 'class' : 'SimpleStrategy' , 'replication_factor' : 1};
""")
#Displays list of Keyspaces(DB's) in Cassandra / use link to see schema/cluster/list of tables etc(system views)
#http://docs.datastax.com/en/cql/3.1/cql/cql_using/use_query_system_c.html
session.execute('USE SYSTEM')
dblist = session.execute('SELECT keyspace_name FROM schema_keyspaces;')
#Puts List of Kespaces into Tabular form with pandas
fields = ['Keyspaces']
result = pd.DataFrame(list(dblist), columns = fields)
#Creates Table in twitter Keyspace
session.execute('USE twitter')
session.execute("""
CREATE TABLE tweets (
id int,
screenname varchar,
userurl varchar,
created_at ascii,
text varchar,
timestampms timestamp,
curr_timems timestamp,
PRIMARY KEY (id, screenname)
);
""")
#Get some data and put in pandas
session.execute('USE twitter')
tweets = session.execute("""
SELECT * FROM n_tweets LIMIT 5;
""")
fields = ['id','text','tweettimestamp','userid','user_sn','user_url']
result = pd.DataFrame(list(tweets), columns = fields)