Я использую Erlang для взаимодействия с Cassandra, и я не могу заставить команду get_slice возвращать список всех столбцов строки. Я использую:Как получить свойства из Кассандры с помощью get_slice в Эрланге?
X = thrift_client:call(C,
'get_slice',
[ "Keyspace1",
K,
#columnParent{column_family="KeyValue"},
#slicePredicate{},
1
]),
: но я вернусь:
invalidRequestException,<<"predicate column_names and slice_range may not both be null">>
: Тем не менее, с помощью интерфейса Cassandra-кли это работает отлично. Есть идеи?
Обновлено:
Я внес изменения в пример Erlang, чтобы отразить exmaple Java, данное:
get_props (K) -> {ОК, C} = thrift_client: start_link ("127.0.0.1", 9160 , cassandra_thrift),
S = #sliceRange{start="",finish="",reversed=false,count=100},
X = thrift_client:call(C,
'get_slice',
[ "Keyspace1",
K,
#columnParent{column_family="KeyValue"},
#slicePredicate{slice_range=S},
1
]),
X.
: и теперь это работает. Обратите внимание на добавление линии:
S = {#sliceRange начать = "", отделка = "", обратная = ложь, считай = 100}
Спасибо. Я обновил вопрос. Во всяком случае, я попробовал еще раз, но он все еще не работает. – Zubair
timeout ... сколько столбцов (для ключа «K») вы ожидаете вернуться? миллионы? – Schildmeijer
2 колонны. В cassandra-cli я возвращаюсь: cassandra> get Keyspace1.KeyValue ['name'] => (column = value, value = zubair2, timestamp = 1) => (column = user, value = root, timestamp = 1272193083806000) – Zubair