cassandra long ordering因负long而关闭?还是我做错了?
我在卡桑德拉身上看到了以下几个价值观(我意识到,我有意加入各种东西来看看会发生什么)。注意:所有8字节的值都是长的,其他几个是一些字符串。对于正长,甚至UTF8字符串,排序顺序似乎都很好。然而,负长排在列表的最后cassandra long ordering因负long而关闭?还是我做错了?,cassandra,Cassandra,我在卡桑德拉身上看到了以下几个价值观(我意识到,我有意加入各种东西来看看会发生什么)。注意:所有8字节的值都是长的,其他几个是一些字符串。对于正长,甚至UTF8字符串,排序顺序似乎都很好。然而,负长排在列表的最后 RowKey: 6d796f6e655f696e646578 => (column=000000000000000a, value=, timestamp=1343228055671000) => (column=0000000000000014, value=, time
RowKey: 6d796f6e655f696e646578
=> (column=000000000000000a, value=, timestamp=1343228055671000)
=> (column=0000000000000014, value=, timestamp=1343228055671000)
=> (column=0000000000000028, value=, timestamp=1343228055671000)
=> (column=000000000000003c, value=, timestamp=1343228055671000)
=> (column=00000000000000c8, value=, timestamp=1343228055671000)
=> (column=0000000000000154, value=, timestamp=1343228055671000)
=> (column=00000000000001f4, value=, timestamp=1343228055671000)
=> (column=0000000000000226, value=, timestamp=1343228055671000)
=> (column=00000000000002bc, value=, timestamp=1343228055671000)
=> (column=000000746bb814ee, value=, timestamp=1343228055671000)
=> (column=30303030303030303030, value=, timestamp=1343228055671000)
=> (column=61, value=, timestamp=1343228055671000)
=> (column=617364667364, value=, timestamp=1343228055671000)
=> (column=6565656565, value=, timestamp=1343228055671000)
=> (column=657772776572657772657772, value=, timestamp=1343228055671000)
=> (column=fffffffffffffe0c, value=, timestamp=1343228055671000)
=> (column=ffffffffffffff38, value=, timestamp=1343228055671000)
=> (column=ffffffffffffffd8, value=, timestamp=1343228055671000)
现在,如果我告诉cassandra假设类型为long,那么同一行就会出现这样的情况,缺少一组列(我真的不知道cassandra为什么删除了负列??)
两个问题:
Dean列的顺序基于列族的比较器。当您告诉cassandra cli采用某种类型时,它只会更改列的显示方式,而不会更改顺序
尝试使用comparator=LongType创建新的列族。这将按照您期望的顺序(LONG\u MIN..LONG\u MAX)对列进行排序 列的顺序基于列族的比较器。当您告诉cassandra cli采用某种类型时,它只会更改列的显示方式,而不会更改顺序
尝试使用comparator=LongType创建新的列族。这将按照您期望的顺序(LONG\u MIN..LONG\u MAX)对列进行排序 好的,很好的信息,但是当我将它设置为显示long时,为什么它不显示负的long呢?嗯,在这个命令“假设time_索引comparator为long”之后,顺序仍然不正确;也许这是关键的comparator,而不是列名?这个命令是什么?drop/create修复了它,negative现在显示…不知道为什么negative有一次停止显示..这很奇怪。请注意,您的注释
可能是键比较器
可能是错误的,因为键(用于“行”)通常不是使用数据内容排序的,而是使用诸如内容MD5之类的散列键。您必须更改默认值以避免这种行为,这是一个群集设置,这意味着它必须在创建群集时进行设置。好的,很好的信息,但是为什么在我将其设置为显示长时它不显示负长?嗯,在这个命令“假定时间为长”之后,顺序仍然不正确也许这是关键的比较器,而不是列名?这个命令是什么?drop/create修复了它,negative现在显示…不知道为什么negative有一次停止显示..这很奇怪。请注意,您的注释可能是键比较器
可能是错误的,因为键(用于“行”)通常不是使用数据内容排序的,而是使用诸如内容MD5之类的散列键。您必须更改默认值以避免该行为,这是一个群集设置,这意味着必须在创建群集时进行设置。
RowKey: 6d796f6e655f696e646578
=> (column=10, value=, timestamp=1343228055671000)
=> (column=20, value=, timestamp=1343228055671000)
=> (column=40, value=, timestamp=1343228055671000)
=> (column=60, value=, timestamp=1343228055671000)
=> (column=200, value=, timestamp=1343228055671000)
=> (column=340, value=, timestamp=1343228055671000)
=> (column=500, value=, timestamp=1343228055671000)
=> (column=550, value=, timestamp=1343228055671000)
=> (column=700, value=, timestamp=1343228055671000)
=> (column=500023432430, value=, timestamp=1343228055671000)