我想用python脚本在cassandra中导入一个csv文件。我已经知道如何使用cqlsh中的copy命令在cassandra中导入csv。
我的csv文件的数据类型:timestamp,timestamp,decimal,decimal,decimal,decimal,decimal,decimal
我已经有了一个代码,我只是缺少如何将csv文件导入cassandra中
KEYSPACE = "test_cassandra"
cluster = Cluster(['127.0.0.1'])
session = cluster.connect()
log.info("creating keyspace . . .")
session.execute("""
CREATE KEYSPACE IF NOT EXISTS %s
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}
""" % KEYSPACE)
log.info("setting keyspace . . .")
session.set_keyspace(KEYSPACE)
log.info("creating table . . .")
session.execute("""
CREATE TABLE IF NOT EXISTS test_NYC_taxi (
pickup timestamp,
dropoff timestamp,
distance decimal,
fare decimal,
p_long decimal,
p_lat decimal,
d_long decimal,
d_lat decimal,
PRIMARY KEY(pickup, dropoff, distance));
""")
prepared = session.prepare("""
INSERT INTO test_nyc_taxi (pickup, dropoff, distance, fare, p_long, p_lat, d_long, d_lat)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
""")
任何帮助都将不胜感激。:)
2条答案
按热度按时间c3frrgcw1#
你走对了路。唯一需要添加的是一个文件读取器(我将您的数据保存为
.csv
一个for循环遍历它,然后导入datetime
包来转换准备语句的日期。这对我有用:
w9apscun2#
用python代码打开csv文件读取器。遍历行并调用insert语句。请检查下面的链接。
https://stackoverflow.com/a/19828117/1358551