List of usage examples for com.amazonaws.services.dynamodbv2.model WriteRequest WriteRequest
public WriteRequest(DeleteRequest deleteRequest)
From source file:amazon.dynamodb.config.DynamoDBManager.java
License:Open Source License
public BatchWritePointResult batchWritePoints(List<PutPointRequest> putPointRequests) { BatchWriteItemRequest batchItemRequest = new BatchWriteItemRequest(); List<WriteRequest> writeRequests = new ArrayList<WriteRequest>(); for (PutPointRequest putPointRequest : putPointRequests) { long geohash = S2Manager.generateGeohash(putPointRequest.getGeoPoint()); long hashKey = S2Manager.generateHashKey(geohash, config.getHashKeyLength()); String geoJson = GeoJsonMapper.stringFromGeoObject(putPointRequest.getGeoPoint()); PutRequest putRequest = putPointRequest.getPutRequest(); AttributeValue hashKeyValue = new AttributeValue().withN(String.valueOf(hashKey)); putRequest.getItem().put(config.getHashKeyAttributeName(), hashKeyValue); putRequest.getItem().put(config.getRangeKeyAttributeName(), putPointRequest.getRangeKeyValue()); AttributeValue geohashValue = new AttributeValue().withN(Long.toString(geohash)); putRequest.getItem().put(config.getGeohashAttributeName(), geohashValue); AttributeValue geoJsonValue = new AttributeValue().withS(geoJson); putRequest.getItem().put(config.getGeoJsonAttributeName(), geoJsonValue); WriteRequest writeRequest = new WriteRequest(putRequest); writeRequests.add(writeRequest); }//from w w w . j ava2 s. co m Map<String, List<WriteRequest>> requestItems = new HashMap<String, List<WriteRequest>>(); requestItems.put(config.getTableName(), writeRequests); batchItemRequest.setRequestItems(requestItems); BatchWriteItemResult batchWriteItemResult = config.getDynamoDBClient().batchWriteItem(batchItemRequest); BatchWritePointResult batchWritePointResult = new BatchWritePointResult(batchWriteItemResult); return batchWritePointResult; }
From source file:dynamok.sink.DynamoDbSinkTask.java
License:Apache License
private Map<String, List<WriteRequest>> toWritesByTable(Iterator<SinkRecord> recordIterator) { final Map<String, List<WriteRequest>> writesByTable = new HashMap<>(); for (int count = 0; recordIterator.hasNext() && count < config.batchSize; count++) { final SinkRecord record = recordIterator.next(); final WriteRequest writeRequest = new WriteRequest(toPutRequest(record)); writesByTable.computeIfAbsent(tableName(record), k -> new ArrayList<>(config.batchSize)) .add(writeRequest);//from w ww .j a va2 s. c om } return writesByTable; }
From source file:mx.iteso.desi.cloud.keyvalue.DynamoDBStorage.java
License:Apache License
@Override public void sync() { Map<String, List<WriteRequest>> requestItems = new HashMap<>(); List<WriteRequest> requestList = new ArrayList<>(); requestItems.put(dbName, requestList); for (int i = 0; i < attributes.size(); i++) { if (i % BATCH_SIZE == 0) { requestList.add(new WriteRequest(new PutRequest(attributes.get(i)))); BatchWriteItemRequest bwir = new BatchWriteItemRequest(requestItems); System.out.println("Result: " + client.batchWriteItem(bwir)); requestItems = new HashMap<>(); requestList = new ArrayList<>(); requestItems.put(dbName, requestList); } else {//ww w .ja v a2 s . c om requestList.add(new WriteRequest(new PutRequest(attributes.get(i)))); } } if (requestList.size() > 0) { BatchWriteItemRequest bwir = new BatchWriteItemRequest(requestItems); System.out.println("Result: " + client.batchWriteItem(bwir)); requestItems = new HashMap<>(); requestList = new ArrayList<>(); requestItems.put(dbName, requestList); } }
From source file:org.kairosdb.datastore.dynamodb.WriteBuffer.java
License:Apache License
public void addData(Map<String, AttributeValue> entry) { m_mutatorLock.lock();/* www. j av a 2 s . c o m*/ try { waitOnBufferFull(); m_bufferCount++; m_writeBuffer.add(new WriteRequest(new PutRequest(entry))); } finally { m_mutatorLock.unlock(); } }