2012-10-03 2 views
0

MultigetSliceQuery를 사용하여 ColumnSliceIterator의 예를 찾고 있습니다. 나는 아무 것도 찾지 못 하느냐? 어떤 제안?MultigetSliceQuery를 사용하는 ColumnSliceIterator

SliceQuery의 예제가 많이 있지만 여기에는 하나의 키만 언급 할 수 있습니다. 여러 행 키에 대한 쿼리를 찾고 있습니다.

답변

0

재미있는 도움을

감사합니다, 당신은 동시에 여러 행 키에 열 조각을하고 싶어. 내가 생각할 수있는 유일한 방법은 100 행의 열 조각을 수행하려는 경우 astyanax를 사용하여 100 개의 비동기 쿼리 (열 슬라이스)를 수행 한 다음 미래에 걸쳐 모든 열 조각이 어쨌든 같은 시간;). asynch apis가있을 때 하나의 API 호출을 가질 필요가 없습니다.

우리는 PlayOrm이 Scalable-SQL과 조인을 할 때 비 연속적인 get과 비슷한 것을 사용합니다.

후, 딘

+0

답장을 보내 주셔서 감사합니다. 하지만 우리는 나란히 hector와 astyanax를 사용할 수 있습니까 –

0

당신이 필요에 대한 반복자는 없다. 당신은 모든 무거운 짐을 꾸려야 할 것입니다. . (모든 문자열을 가정 할 때) 이런 식으로 뭔가 :

MultigetSliceQuery<String, String, String> query = HFactory.createMultigetSliceQuery(keyspace, StringSerializer.get(), StringSerializer.get(), StringSerializer.get()()); 
List<String> keys = new ArrayList<String>(); 
// add my keys 
query.setColumnFamily("my cf").setKeys(keys).setRange(startColumn, endColumn, false, count); 
// can also use setColumnNames(...) instead of setRange() to get specific columns 
Rows<String,String,String> resultRows = query.execute().get(); 
for (Row<String, String, String> row : resultRows) { 
    for (HColumn<String, ByteBuffer> col: row.getColumnSlice().getColumns()) { 
     System.out.println(" " + col.getName() + ":" + col.getValue()); 
    } 
}    

당신은 매우 많은 수의 열이있는 경우 모든 열을 받고 각 행을 반복해야 할 수도 있기 때문에, 그것은 까다로운 가져옵니다.

+0

답장을 보내 주셔서 감사합니다. 이것은 MultiGetSliceQuery에서 데이터를 읽는 전통적인 방법입니다. 하지만 MultiGetSliceQuery에서 ColumnSlice iterator (페이지 매김)를 찾고있다. –

+0

맞다. 현재 필요한 반복자가 없다. 그러나 ColumnSliceIterator의 소스는 매우 간단하며 ColumnSliceIterator를 템플릿으로 사용하고 위와 유사한 코드를 추가하여 자신 만의 ColumnMultiSliceIterator를 만들 수 있습니다. – libjack

0

나는 결과를 가지고 있지만, 그것은 여기

내가 마지막에받은 열 이름이 시간 주요 현명한, 즉 1 행 키의 열 이름/값 2 행 키의 열 이름/값을 행 제공 우표 값 및 열 값은 일반 문자열

내가 상관없이 행 키의 열 이름을 정렬 할 ... 카산드라에서 그렇게 할 수있는 시설 (전 기능의 벽 종류를 만드는 중이라서)가

+0

이것은 모두에게 내 질문입니다. –