Нежелательное поведение при перезагрузке модифицированных узлов в aws-neptune

Я использую массовый загрузчик для загрузки данных из файлов CSV на S3 в кластер Neptune DB. Данные загружены успешно. Однако, когда я перезагружаю данные с измененными значениями свойств некоторых узлов, новое значение не заменяет старое, а скорее добавляется к нему, превращая его в список значений, разделенных запятой. Например:

Загружены начальные значения:

~id,~label,ip:string,creationTime:date
2,user,"1.2.3.4",2019-02-13

Если я перезагружу этот узел с другим ip:

2,user,"5.6.7.8",2019-02-13

Затем я выполняю следующий обход: g.V(2).valueMap() и получаю: ip=[1.2.3.4, 5.6.7.8], creationTime=[2019-02-13]

Хотя такое поведение может быть полезным для некоторых случаев использования, в большинстве случаев оно нежелательно. Я хочу, чтобы новое значение заменило старое. Я не смог найти в документации никакой ссылки на поведение загрузчика в случае перезагрузки узлов, и в запросе API нет соответствующего параметра для настройки. Как я могу перезагрузить узлы, перезаписав существующие?


person Muli    schedule 13.02.2019    source источник


Ответы (2)


в настоящее время загрузчик Neptune использует мощность Set. Чтобы обновить существующее свойство, лучше всего использовать Gremlin через конечную точку HTTP или WS.

В Gremlin вы можете указать, что хотите использовать единичную мощность (таким образом, заменяя, а не добавляя к значению свойства). Примером может быть

g.V('2').property(single,"ip","5.6.7.8")

Надеюсь, это поможет, Кельвин

person Kelvin Lawrence    schedule 20.02.2019
comment
Спасибо, Кельвин. Я также обратился в AWS, и они подтвердили, что Set в настоящее время является единственной возможной конфигурацией мощности для массового загрузчика. - person Muli; 04.03.2019

Обновление: Нептун теперь поддерживает массовую загрузку с одним числом элементов. Просто установите

updateSingleCardinalityProperties = TRUE

ИСТОЧНИК: https://docs.aws.amazon.com/neptune/latest/userguide/load-api-reference-load.html

person bwmbrown    schedule 12.12.2019