Java Code Examples for org.apache.kudu.client.KuduTable#newUpsert()
The following examples show how to use
org.apache.kudu.client.KuduTable#newUpsert() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SchemaEmulationByTableNameConvention.java From presto with Apache License 2.0 | 6 votes |
@Override public void createSchema(KuduClient client, String schemaName) { if (DEFAULT_SCHEMA.equals(schemaName)) { throw new SchemaAlreadyExistsException(schemaName); } else { try { KuduTable schemasTable = getSchemasTable(client); KuduSession session = client.newSession(); try { Upsert upsert = schemasTable.newUpsert(); upsert.getRow().addString(0, schemaName); session.apply(upsert); } finally { session.close(); } } catch (KuduException e) { throw new PrestoException(GENERIC_INTERNAL_ERROR, e); } } }
Example 2
Source File: KuduSink.java From sylph with Apache License 2.0 | 6 votes |
private static Supplier<Operation> getOperationCreater(String mode, KuduTable kuduTable) { //INSERT OR UPSET OR UPDATE OR DELETE switch (mode.toUpperCase()) { case "INSERT": return () -> kuduTable.newInsert(); case "UPSET": return () -> kuduTable.newUpsert(); case "UPDATE": return () -> kuduTable.newUpdate(); case "DELETE": return () -> kuduTable.newDelete(); default: throw new IllegalArgumentException(); } }
Example 3
Source File: NativeKuduClientSession.java From presto-kudu with Apache License 2.0 | 6 votes |
@Override public void createSchema(String schemaName) { if (DEFAULT_SCHEMA.equals(schemaName)) { throw new SchemaAlreadyExistsException(schemaName); } else { try { KuduTable schemasTable = getSchemasTable(); KuduSession session = client.newSession(); try { Upsert upsert = schemasTable.newUpsert(); fillSchemaRow(upsert.getRow(), schemaName); session.apply(upsert); } finally { session.close(); } } catch (KuduException e) { throw new PrestoException(GENERIC_INTERNAL_ERROR, e); } } }
Example 4
Source File: KuduTarget.java From datacollector with Apache License 2.0 | 6 votes |
/** * Return Operation based on the operation code. If the code has a number * that Kudu destination doesn't support, it throws UnsupportedOperationException. * @param table * @param op * @return * @throws UnsupportedOperationException */ protected Operation getOperation(KuduTable table, int op) throws UnsupportedOperationException { Operation operation = null; switch (op) { case OperationType.INSERT_CODE: operation = table.newInsert(); break; case OperationType.UPSERT_CODE: operation = table.newUpsert(); break; case OperationType.UPDATE_CODE: operation = table.newUpdate(); break; case OperationType.DELETE_CODE: operation = table.newDelete(); break; default: LOG.error("Operation {} not supported", op); throw new UnsupportedOperationException(String.format("Unsupported Operation: %s", op)); } return operation; }
Example 5
Source File: KuduMapper.java From flink-learning with Apache License 2.0 | 5 votes |
static Operation toOperation(KuduTable table, KuduConnector.WriteMode writeMode) { switch (writeMode) { case INSERT: return table.newInsert(); case UPDATE: return table.newUpdate(); case UPSERT: return table.newUpsert(); } return table.newUpsert(); }
Example 6
Source File: KuduMapper.java From flink-learning with Apache License 2.0 | 5 votes |
static Operation toOperation(KuduTable table, KuduConnector.WriteMode writeMode) { switch (writeMode) { case INSERT: return table.newInsert(); case UPDATE: return table.newUpdate(); case UPSERT: return table.newUpsert(); } return table.newUpsert(); }
Example 7
Source File: KuduInputOperatorCommons.java From attic-apex-malhar with Apache License 2.0 | 5 votes |
public void addTestDataRows(int numRowsInEachPartition) throws Exception { int intRowKeyStepsize = Integer.MAX_VALUE / SPLIT_COUNT_FOR_INT_ROW_KEY; int splitBoundaryForIntRowKey = intRowKeyStepsize; int[] inputrowkeyPartitionEntries = new int[SPLIT_COUNT_FOR_INT_ROW_KEY + 1]; // setting the int keys that will fall in the range of all partitions for ( int i = 0; i < SPLIT_COUNT_FOR_INT_ROW_KEY; i++) { inputrowkeyPartitionEntries[i] = splitBoundaryForIntRowKey + 3; // 3 to fall into the partition next to boundary splitBoundaryForIntRowKey += intRowKeyStepsize; } inputrowkeyPartitionEntries[SPLIT_COUNT_FOR_INT_ROW_KEY] = splitBoundaryForIntRowKey + 3; AbstractKuduPartitionScanner<UnitTestTablePojo,InputOperatorControlTuple> scannerForAddingRows = unitTestStepwiseScanInputOperator.getScanner(); ApexKuduConnection aCurrentConnection = scannerForAddingRows.getConnectionPoolForThreads().get(0); KuduSession aSessionForInserts = aCurrentConnection.getKuduClient().newSession(); KuduTable currentTable = aCurrentConnection.getKuduTable(); long seedValueForTimestampRowKey = 0L; // constant to allow for data landing on first partition for unit tests for ( int i = 0; i <= SPLIT_COUNT_FOR_INT_ROW_KEY; i++) { // range key iterator int intRowKeyBaseValue = inputrowkeyPartitionEntries[i] + i; for ( int k = 0; k < 2; k++) { // hash key iterator . The table defines two hash partitions long timestampRowKeyValue = seedValueForTimestampRowKey + k; // to avoid spilling to another tablet String stringRowKeyValue = "" + timestampRowKeyValue + k; // to avoid spilling to another tablet randomly for ( int y = 0; y < numRowsInEachPartition; y++) { Upsert aNewRow = currentTable.newUpsert(); PartialRow rowValue = aNewRow.getRow(); // Start assigning row keys below the current split boundary. rowValue.addInt("introwkey",intRowKeyBaseValue - y - 1); rowValue.addString("stringrowkey",stringRowKeyValue); rowValue.addLong("timestamprowkey",timestampRowKeyValue); rowValue.addLong("longdata",(seedValueForTimestampRowKey + y)); rowValue.addString("stringdata", ("" + seedValueForTimestampRowKey + y)); OperationResponse response = aSessionForInserts.apply(aNewRow); } } } List<OperationResponse> insertResponse = aSessionForInserts.flush(); aSessionForInserts.close(); Thread.sleep(2000); // Sleep to allow for scans to complete }
Example 8
Source File: DafPutKudu.java From daf-kylo with GNU Affero General Public License v3.0 | 4 votes |
@Override protected Upsert upsertRecordToKudu(KuduTable kuduTable, Record record, List<String> fieldNames) throws IllegalStateException, Exception { Upsert upsert = kuduTable.newUpsert(); this.insert(kuduTable, upsert, record, fieldNames); return upsert; }
Example 9
Source File: AbstractKuduProcessor.java From nifi with Apache License 2.0 | 4 votes |
protected Upsert upsertRecordToKudu(KuduTable kuduTable, Record record, List<String> fieldNames, Boolean ignoreNull, Boolean lowercaseFields) { Upsert upsert = kuduTable.newUpsert(); buildPartialRow(kuduTable.getSchema(), upsert.getRow(), record, fieldNames, ignoreNull, lowercaseFields); return upsert; }