如何从 Amazon simpleDB int 特定列顺序对数据进行排序



我正在使用Amazon的SimpleDB Java客户端从SimpleDB读取数据。我遇到的问题是,即使我在 SelectRequest 中按某种顺序指定了列,如下所示:

SelectRequest req = new SelectRequest("SELECT TIMESTAMP, TYPE, APP, http_status, USER_ID from mydata");
SElectResult res = _sdb.select(req);
..

它按以下列顺序返回数据:

 APP, TIMSTAMP, TYPE, USER_ID, http_status,

似乎它自动按升序对列重新排序。有什么方法可以按照我在选择子句中指定的顺序强制执行吗?

返回的列不是有序列表,而是一组无序属性。你无法控制他们回来的顺序。SELECT 旨在即使在查询中的某些属性对于每个(或任何)返回的项目都不存在的情况下也能正常工作。在这些情况下,您无论如何都无法依赖订单。我意识到,如果您已经构建了数据集以使属性始终存在,那将是一种小小的安慰。

但是,由于您提前知道所需的顺序,因此以正确的顺序将数据从结果中提取出来应该很容易。它毕竟只是XML,或者在Java客户端的情况下,是新解析的XML。

选择操作返回与选择表达式匹配的项名称的一组属性。

适用于 SELECT 的 SimpleDB 文档

最新更新