【发布时间】:2018-04-14 15:19:39
【问题描述】:
下面是我的脚本
CREATE TABLE alrashed.tbl_alerts_details (
alert_id int,
action_required int,
alert_agent_id int,
alert_agent_type_id int,
alert_agent_type_name text,
alert_definer_desc text,
alert_definer_name text,
alert_source text,
alert_state text,
col_1 text,
col_2 text,
col_3 text,
col_4 text,
col_5 text,
current_escalation_level text,
date_part date,
device_id text,
driver map<text, text>,
is_processed int,
is_real_time int,
location map<text, text>,
seq_no int,
severity text,
time_stamp timestamp,
transporter map<text, text>,
transporter_name text,
trip_id int,
updated_on timestamp,
vehicle map<text, text>,
vehicle_type_name text,
PRIMARY KEY (alert_id)
) WITH read_repair_chance = 0.0
AND dclocal_read_repair_chance = 0.1
AND gc_grace_seconds = 864000
AND bloom_filter_fp_chance = 0.01
AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
AND comment = ''
AND compaction = { 'class' : 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold' : 32, 'min_threshold' : 4 }
AND compression = { 'chunk_length_in_kb' : 64, 'class' : 'org.apache.cassandra.io.compress.LZ4Compressor' }
AND default_time_to_live = 0
AND speculative_retry = '99PERCENTILE'
AND min_index_interval = 128
AND max_index_interval = 2048
AND crc_check_chance = 1.0;
当我运行这个查询时,我得到了
在一致性 LOCAL_ONE 读取查询期间 Cassandra 失败(需要 1 个响应,但只有 0 个副本响应,1 个失败)错误
这是我用 Java 编写的 cassandra 查询:
select
count( * )
from
tbl_alerts_details
where
alert_state = 'ACKNOWLEDGE'
and date_part >= '2017-10-01'
and date_part <= '2017-10-31'
and is_real_time = 1
and alert_agent_type_name = 'VEHICLE' ALLOW FILTERING
【问题讨论】:
-
能否请您检查一下 Cassandra 日志,看看它是否有任何错误。例如,如果它有这样的东西:groups.google.com/a/lists.datastax.com/d/msg/…
-
我检查了显示的 cassandra 日志 在查询“SELECT * FROM alrashed.tbl_alerts_details WHERE alert_state = ACKNOWLEDGE AND date_part >= 2017-08-01 AND LIMIT 5000”期间扫描了超过 100001 个墓碑(最后扫描的行分区关键是(185587));查询中止
-
墓碑太多了。您可能应该重新考虑您的数据模型。如果它适合您的用例,则可以降低表上的 gc_grace_seconds (但您必须了解这意味着什么,否则可能对您非常不利,并且数据可能会在删除后重新出现)。如果您是 Cassandra 的新手,我可以为您指出一些很棒的学习资源。
标签: java cassandra-3.0