cqlsh không cho phép truy vấn lồng nhau vì vậy tôi không thể xuất dữ liệu đã chọn sang csv .. Tôi đang cố gắng xuất dữ liệu đã chọn (khoảng 200.000 hàng với một cột đơn) từ cassandra :Nhận các khóa phân vùng riêng biệt từ bảng C *
echo "SELECT distinct imei FROM listener.snapshots;" > select.cql bin/cqlsh -f select.cql > output.txt
và nó chỉ bị mắc kẹt vĩnh viễn mà không cần bất kỳ lỗi, và các tập tin không phát triển.
nếu tôi sử dụng strace trên dòng cuối cùng tôi nhận được nhiều hàng như:
select(0, NULL, NULL, NULL, {0, 2000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 4000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 8000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 16000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 32000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 1000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 2000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 4000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 8000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 16000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 32000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 1000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 2000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 4000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 8000}) = 0 (Timeout)
và --debug chỉ cho tôi:
cqlsh --debug -f select.cql > output.txt
Using CQL driver: <module 'cassandra' from '/usr/share/dse/resources/cassandra/bin/../lib/cassandra-driver-internal-only-2.5.1.zip/cassandra-driver-2.5.1/cassandra/__init__.py'>
gì là sai? Có cách nào tốt hơn để nhận các khóa phân vùng riêng biệt từ bảng C * lớn không?
Hãy thử strace để xem nó bị kẹt ở đâu. cqlsh có lẽ sẽ đặt giới hạn truy vấn của bạn theo mặc định để nó có thể không phải là cách tốt nhất để làm điều này. – phact
@phact vui lòng xem chỉnh sửa của tôi :) – Rada
Có thể thử cqlsh --debug. Tôi không chắc tại sao không có bộ mô tả tệp trong strace của bạn chọn https://gist.github.com/tonyc/1384523 – phact