2013-05-01 3 views
0
val CF_USER_STATS = new ColumnFamily[java.lang.Long, String]("Standard2", LongSerializer.get, StringSerializer.get) 

val m: MutationBatch = keyspace.prepareMutationBatch() 

m.withRow(CF_USER_STATS, "acct1234").incrementCounterColumn("CounterColumn1", 1) 

m.execute() 

위의 내용은 Cassandra의 카운터로 사용하기위한 열 패밀리를 생성합니다. 어떤 이유를 들어, 컴파일은 다음과 실패 : 설명 귀하의 경우 이제astyanax 클라이언트를 사용하여 스칼라 코드를 컴파일 할 때 문제가 발생했습니다.

ColumnFamily<String, String> CF = 
    new ColumnFamily<String, String>(
    "Standard1",    // Column Family Name 
    StringSerializer.get(), // Key Serializer 
    StringSerializer.get()); // Column Serializer 

type mismatch; 
[error] found : com.netflix.astyanax.model.ColumnFamily[Long,String] 
[error] required: com.netflix.astyanax.model.ColumnFamily[Comparable[_ >: String with Long <: Comparable[_ >: String with Long <: Comparable[_ >: String with Long <: java.io.Serializable] with java.io.Serializable] with java.io.Serializable] with java.io.Serializable,String] 
[error] Note: Long <: Comparable[_ >: String with Long <: Comparable[_ >: String with Long <: Comparable[_ >: String with Long <: java.io.Serializable] with java.io.Serializable] with java.io.Serializable] with java.io.Serializable, but Java-defined class ColumnFamily is invariant in type K. 
[error] You may wish to investigate a wildcard type such as `_ <: Comparable[_ >: String with Long <: Comparable[_ >: String with Long <: Comparable[_ >: String with Long <: java.io.Serializable] with java.io.Serializable] with java.io.Serializable] with java.io.Serializable`. (SLS 3.2.10) 
[error] m.withRow(CF_USER_STATS, "acct1234") 

답변

0

아 스티 아낙 스 ColumnFamily 구문, 당신은 문자열로 rowkey에게로 긴 타입과 열을 언급하고 업데이트하는 동안 한 귀하의 문자열로 키를 사용하는 카운터, 그 이유는이 유형 불일치입니다.

관련 문제