簡體   English   中英

Spark Cassandra Connector通過分區鍵查詢

[英]Spark Cassandra Connector query by partition key

什么是使用Spark Connector通過分區鍵查詢cassandra的理想方法。 我正在使用將密鑰傳遞到where ,但這會導致cassandra在引擎蓋下添加ALLAOW FILTERING ,從而導致超時。

當前設置:

csc.cassandraTable[DATA]("schema", "table").where("id =?", "xyz").map(     x=> print(x))

這里的id是分區鍵(不是主鍵),我有一個復合主鍵,僅使用分區鍵進行查詢

更新:是的,我對此有例外:

一致性為LOCAL_ONE的讀取查詢期間,Cassandra失敗(需要1個響應,但僅響應0個副本,其中1個失敗)

我的分區都沒有超過1000條記錄,並且我正在運行一個cassandra節點

如果在整個分區鍵上使用where子句,則ALLOW FILTERING不會影響您的查詢。 如果查詢超時,則可能意味着您的分區非常大或未指定完整的分區鍵

編輯:

Cassandra failure during read query at consistency LOCAL_ONE (1 responses were required but only 0 replica responded, 1 failed)

意味着您的查詢將被發送到沒有您要查找的數據副本的計算機。 通常,這意味着密鑰空間的復制設置不正確或連接主機不正確。 LOCAL_ONELOCAL部分意味着僅當LOCAL_DC上的數據可用時,查詢才能成功LOCAL_DC

考慮到這一點,您有3個選擇

  1. 更改查詢的初始連接目標
  2. 更改密鑰空間的復制
  3. 更改查詢的一致性級別

由於您只有一台機器,因此更改密鑰空間的復制可能是正確的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM