Pyspark 如何在CQL中验证所有行是否已成功地从CSV复制到Cassandra表***SELECT语句不会返回所有结果
我试图通过使用公共数据集来理解卡桑德拉。 我已经将CSV中的150万行插入到我本地Cassandra实例的一个表中,其中REPLICATION={'class':'SimpleStrategy','REPLICATION_factor':1}Pyspark 如何在CQL中验证所有行是否已成功地从CSV复制到Cassandra表***SELECT语句不会返回所有结果,pyspark,cassandra,cql,Pyspark,Cassandra,Cql,我试图通过使用公共数据集来理解卡桑德拉。 我已经将CSV中的150万行插入到我本地Cassandra实例的一个表中,其中REPLICATION={'class':'SimpleStrategy','REPLICATION_factor':1} 该表是用 我得到确认,150万行已被处理。 但是当我在桌子上跑步时,我总是最多跑182行。  第二,这个数字对我来说毫无意义。我从卡桑德拉的架构和质疑的角度遗漏了什么 最后,我还尝试从pyspark shell中读取相同的Cassandra表,它似乎也
该表是用 我得到确认,150万行已被处理。 但是当我在桌子上跑步时,我总是最多跑182行。  第二,这个数字对我来说毫无意义。我从卡桑德拉的架构和质疑的角度遗漏了什么
最后,我还尝试从pyspark shell中读取相同的Cassandra表,它似乎也读取了182行。您的主键是
主键(状态、严重性)
。使用此主键定义,处于相同严重性的相同状态的事故的所有行将相互覆盖。您的数据集中可能只有182种不同的(状态、严重性)组合
您可以包括另一个集群列来记录唯一的事故,如事故id
本博客强调了主键的重要性,并提供了一些示例:
您可以尝试使用nodetool tablestats us\u获取有关名称空间和表的总大小的信息。可能您的某些主键存在于多行上,并且会不断被覆盖。是的,您的答案是正确的。我用
主键(state,ID)
重新创建了表,并且在CQL查询中返回了更多的行。谢谢你@bswynn和@Ersoy