Как заказать данные обратно из Amazon simpleDB int в определенном порядке столбцов - PullRequest
1 голос
/ 10 мая 2011

Я использую Java-клиент Amazon SimpleDB для чтения данных из 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?

1 Ответ

0 голосов
/ 10 мая 2011

Возвращаемые столбцы - не упорядоченный список , а неупорядоченный набор атрибутов. Вы не можете контролировать порядок, в котором они возвращаются. SELECT предназначен для работы даже в тех случаях, когда некоторые атрибуты в вашем запросе не существуют для каждого (или любого) возвращенного элемента. В тех случаях, в частности, вы не сможете рассчитывать на заказ в любом случае. Я понимаю, что это небольшое утешение, если вы структурировали свой набор данных так, чтобы атрибуты всегда присутствовали.

Однако, поскольку вы заранее знаете желаемый порядок, будет довольно легко извлечь данные из результата в правильном порядке. В конце концов, это всего лишь XML, а в случае клиента Java - только что проанализированный XML.

Операция Select возвращает набор атрибутов для ItemNames, которые соответствуют выражению select.

SimpleDB документы для SELECT

...