0
HBase에 위치 (위도, 경도) 값을 저장하려고합니다. 키와 값 쌍의 HashMap에서 새로운 값을 가질 때마다 열을 추가하기로 결정했습니다. 내 HashMap에이처럼 다음HBase - 열 추가시 중복 값
는{위도 : 경도 43.7719802 : -79.5008048} :
HTable table = new HTable(hBaseConfig, TableName);
for (Map.Entry<String, String> entry : Columns.entrySet()) {
Append a = new Append(rowKey);
a.add(Bytes.toBytes("a"), Bytes.toBytes(entry.getKey()), Bytes.toBytes(entry.getValue()));
table.append(a);
}
그러나 여기(해시 맵의 샘플 JSON 표현)
그리고 내 코드입니다 값을 검색하려면 중복 저장됩니다. 나는 다음과 같이 각 값에 대해 한 셀에 여러 번 붙어 있다는 뜻입니다. -79.5008048-79.5008048-79.5008048
코드에 HBase 0.94.15-cdh4.7.0 라이브러리를 사용하고 있습니다.
누구든지이 문제를 해결하기위한 단서를 알고 있습니까?
답변 해 주셔서 감사합니다. 열이 있으면 Append가 내용을 누적하는 것 같습니다. 이 문제에 대해 각 열을 추가하기 전에 "get"을했습니다. 그러나 "풋"을 어떻게 사용할 수 있습니까? 나는 그 행의 어떤 것도 덮어 쓰고 싶지 않습니다. 난 그냥 그것에 무리를 추가하고 싶습니다. –
append와 마찬가지로 put은 행의 개별 셀에서 작동 할 수 있습니다. 하나의 셀을 연속으로 두는 것은 행의 다른 셀에는 영향을주지 않습니다. – phs
고마워요! 그것은 매력처럼 작동했습니다. –