Ошибка запроса Cassandra COPY FROM с файлом CSV
Эта проблема:
Я пытаюсь получить это, чтобы я мог использовать Cassandra для правильной работы с Python. Я использовал игрушечный набор данных, чтобы попрактиковаться в загрузке CSV-файла в Cassandra, но безуспешно. Кассандра работает нормально, когда я не используюCOPY FROM
для файлов csv.
Я намерен использовать этот набор данных в качестве теста, чтобы убедиться, что я могу загрузить информацию файла csv в Cassandra, чтобы затем я мог загрузить в него 5 файлов csv общим объемом 2 ГБ для моего первоначально намеченного проекта.
Примечание: всякий раз, когда я использую
CREATE TABLE
а затем запуститьSELECT * FROM tvshow_data
, столбцы отображаются не в том порядке, в котором я их установил, повлияет ли это на что-нибудь или это не имеет значения?
Информация о моих установках и использовании:
- Я пробовал запустить оба
cqlsh
а такжеcassandra
с помощью административной оболочки. - У меня Python 2.7 установлен внутри
apache-cassandra-3.11.6
папка. - У меня установлена Cassandra версии 3.11.6.
- У меня установлен cassandra-driver 3.18.0 с conda.
- Я использую установленный Python 3.7 для всего, кроме каталога Cassandra.
- Я пробовал оба
CREATE TABLE tvshow
а такжеCREATE TABLE tvshow.tvshow_data
.
Мой скрипт Python:
from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect()
create_and_add_file_to_tvshow = [
"DROP KEYSPACE tvshow;",
"CREATE KEYSPACE tvshow WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};",
"USE tvshow;",
"CREATE TABLE tvshow.tvshow_data (id int PRIMARY KEY, title text, year int, age int, imdb decimal, rotten_tomatoes int, netflix int, hulu int, prime_video int, disney_plus int, is_tvshow int);",
"COPY tvshow_data (id, title, year, age, imdb, rotten_tomatoes, netflix, hulu, prime_video, disney_plus, is_tvshow) FROM 'C:tvshows.csv' WITH HEADER = true;"
]
print('\n')
for query in create_and_add_file_to_tvshow:
session.execute(query)
print(query, "\nsuccessful\n")
Результат python
ошибка:
Это ошибка, которую я получаю, когда запускаю свой код в PowerShell с помощью следующей команды: python cassandra_test.py
.
cassandra.protocol.SyntaxException: <Error from server: code=2000 [Syntax error in
CQL query] message="line 1:0 no viable alternative at input 'COPY' ([
Результат cqlsh
ошибка:
Запуск ранее заявленного cqlsh
код в create_and_add_file_to_tvshow
переменная в PowerShell после запуска cqlsh
в apache-cassandra-3.1.3/bin/
каталог, создает следующую ошибку.
Примечание. Следующая ошибка - это только первые несколько строк кода, а также последние новые строки. Я решил не включать ее, поскольку она составляла несколько сотен строк. При необходимости включу.
Starting copy of tvshow.tvshow_data with columns [id, title, year, age, imdb, rotten_tomatoes, netflix, hulu, prime_video, disney_plus, is_tvshow].
Failed to import 0 rows: IOError - Can't open 'C:tvshows.csv' for reading: no matching file found, given up after 1 attempts
Process ImportProcess-44:
PTrocess ImportProcess-41:
raceback (most recent call last):
PTPProcess ImportProcess-42:
...
...
...
AA cls._loop.add_timer(timer)
AAttributeError: 'NoneType' object has no attribute 'add_timer'
ttributeError: 'NoneType' object has no attribute 'add_timer'
AttributeError: 'NoneType' object has no attribute 'add_timer'
ttributeError: 'NoneType' object has no attribute 'add_timer'
ttributeError: 'NoneType' object has no attribute 'add_timer'
Processed: 0 rows; Rate: 0 rows/s; Avg. rate: 0 rows/s
0 rows imported from 0 files in 1.974 seconds (0 skipped).
Образец первых 10 строк файла CSV, используемых для импорта
Я попытался создать файл csv только с этими первыми двумя строками для теста игрушки, так как я не мог заставить работать что-либо еще.
id,title,year,age,imdb,rotten_tomatoes,netflix,hulu,prime_video,disney_plus,is_tvshow
0,Breaking Bad,2008,18+,9.5,96%,1,0,0,0,1
1,Stranger Things,2016,16+,8.8,93%,1,0,0,0,1
2,Money Heist,2017,18+,8.4,91%,1,0,0,0,1
3,Sherlock,2010,16+,9.1,78%,1,0,0,0,1
4,Better Call Saul,2015,18+,8.7,97%,1,0,0,0,1
5,The Office,2005,16+,8.9,81%,1,0,0,0,1
6,Black Mirror,2011,18+,8.8,83%,1,0,0,0,1
7,Supernatural,2005,16+,8.4,93%,1,0,0,0,1
8,Peaky Blinders,2013,18+,8.8,92%,1,0,0,0,1