Package com.cloudera.cdk.data

Examples of com.cloudera.cdk.data.PartitionKey


      entity.put("field2", "field2_" + i);
      dao.put(entity);
    }

    for (int i = 0; i < 10; ++i) {
      PartitionKey key = dao.getPartitionStrategy().partitionKey(
          "part1_" + Integer.toString(i), "part2_" + Integer.toString(i));
      GenericRecord genericRecord = dao.get(key);
      assertEquals("field1_" + i, genericRecord.get("field1").toString());
      assertEquals("field2_" + i, genericRecord.get("field2").toString());
    }

    int cnt = 0;
    EntityScanner<GenericRecord> entityScanner = dao.getScanner();
    entityScanner.open();
    try {
      for (GenericRecord entity : entityScanner) {
        assertEquals("field1_" + cnt, entity.get("field1").toString());
        assertEquals("field2_" + cnt, entity.get("field2").toString());
        cnt++;
      }
      assertEquals(10, cnt);
    } finally {
      entityScanner.close();
    }

    cnt = 5;
    PartitionKey startKey = dao.getPartitionStrategy().partitionKey("part1_5");
    entityScanner = dao.getScanner(startKey, null);
    entityScanner.open();
    try {
      for (GenericRecord entity : entityScanner) {
        assertEquals("field1_" + cnt, entity.get("field1").toString());
        assertEquals("field2_" + cnt, entity.get("field2").toString());
        cnt++;
      }
      assertEquals(10, cnt);
    } finally {
      if (entityScanner != null) {
        entityScanner.close();
      }
    }

    PartitionKey key = dao.getPartitionStrategy().partitionKey("part1_5",
        "part2_5");
    dao.delete(key);
    GenericRecord deletedRecord = dao.get(key);
    assertNull(deletedRecord);
  }
View Full Code Here


    for (TestRecord testRecord : this.createSpecificEntities(10)) {
      assertTrue(dao.put(testRecord));
    }

    for (int i = 0; i < 10; ++i) {
      PartitionKey partitionKey = dao.getPartitionStrategy().partitionKey(
          "part1_" + i, "part2_" + i);
      TestRecord record = dao.get(partitionKey);
      assertEquals("field1_" + i, record.getField1());
      assertEquals("field2_" + i, record.getField2());
      assertEquals(TestEnum.ENUM3, record.getEnum$());
      assertEquals("field3_value_1_" + i,
          record.getField3().get("field3_key_1_" + i));
      assertEquals("field3_value_2_" + i,
          record.getField3().get("field3_key_2_" + i));
      assertEquals("embedded1_" + i, record.getField4().getEmbeddedField1());
      assertEquals(i, (long) record.getField4().getEmbeddedField2());
      assertEquals(2, record.getField5().size());
      // check 1st subrecord
      assertEquals("subfield1_" + i, record.getField5().get(0).getSubfield1());
      assertEquals(i, (long) record.getField5().get(0).getSubfield2());
      assertEquals("subfield3_" + i, record.getField5().get(0).getSubfield3());
      assertEquals("subfield4_" + i, record.getField5().get(1).getSubfield1());
      assertEquals(i, (long) record.getField5().get(1).getSubfield2());
      assertEquals("subfield6_" + i, record.getField5().get(1).getSubfield3());
    }

    int cnt = 0;
    EntityScanner<TestRecord> entityScanner = dao.getScanner();
    entityScanner.open();
    try {
      for (TestRecord entity : entityScanner) {
        assertEquals("field1_" + cnt, entity.getField1());
        assertEquals("field2_" + cnt, entity.getField2());
        cnt++;
      }
      assertEquals(10, cnt);
    } finally {
      entityScanner.close();
    }

    // Test scanner with null keys
    PartitionKey key1 = dao.getPartitionStrategy().partitionKey("part1_5");
    entityScanner = dao.getScanner(key1, null);
    entityScanner.open();
    assertEquals("field1_5", entityScanner.iterator().next().getField1());

    entityScanner = dao.getScanner(null, key1);
    entityScanner.open();
    assertEquals("field1_0", entityScanner.iterator().next().getField1());

    PartitionKey deleteKey = dao.getPartitionStrategy().partitionKey("part1_5",
        "part2_5");
    dao.delete(deleteKey);
    assertNull(dao.get(deleteKey));
  }
View Full Code Here

    TestIncrement entity = TestIncrement.newBuilder().setKeyPart1("part1")
        .setKeyPart2("part2").setField1(10).build();
    assertTrue(dao.put(entity));

    PartitionKey key = dao.getPartitionStrategy()
        .partitionKey("part1", "part2");
    long incrementResult = dao.increment(key, "field1", 5);
    assertEquals(15L, incrementResult);
    assertEquals(15L, (long) dao.get(key).getField1());
  }
View Full Code Here

    TestRecord entity = createSpecificEntity("part1", "part2");
    assertTrue(dao.put(entity));

    // now fetch the entity twice. Change one, and do a put. Change the other,
    // and the second put should fail.
    PartitionKey key = dao.getPartitionStrategy()
        .partitionKey("part1", "part2");
    TestRecord recordRef1 = TestRecord.newBuilder(dao.get(key))
        .setField1("part1_1").build();
    TestRecord recordRef2 = TestRecord.newBuilder(dao.get(key))
        .setField1("part1_2").build();
View Full Code Here

        .setField4(embeddedRecord).setField5(new ArrayList<ArrayRecord>())
        .build();

    assertTrue(dao.put(entity));

    PartitionKey key = dao.getPartitionStrategy()
        .partitionKey("part1", "part2");
    TestRecord record = dao.get(key);

    assertEquals("field1", record.getField1());
    assertEquals("field2", record.getField2());
View Full Code Here

      TestRecord entity = createSpecificEntity("part1_" + i, "part2_" + i);
      assertTrue(dao.put(entity));
    }

    // get and put it a couple of times to build up versions
    PartitionKey key = dao.getPartitionStrategy().partitionKey("part1_5",
        "part2_5");
    TestRecord entity = dao.get(key);
    dao.put(entity);
    entity = dao.get(key);
    dao.put(entity);
View Full Code Here

      batch.put(entity);
    }
    batch.close();

    for (int i = 0; i < 100; i++) {
      PartitionKey key = dao.getPartitionStrategy().partitionKey("part1_" + i,
          "part2_" + i);
      TestRecord record = dao.get(key);
      assertEquals("field1_" + i, record.getField1().toString());
    }
  }
View Full Code Here

    SchemaManager afterManager = new DefaultSchemaManager(tablePool);
    Dao<GenericRecord> afterDao = new GenericAvroDao(tablePool, tableName,
        "TestRecord", afterManager);

    // Create an entity with each dao.
    PartitionKey key1 = createKey(dao.getPartitionStrategy(), 1);
    GenericRecord entity1 = createGenericEntity(1, testRecordv2);
    for (GenericRecord rec : (List<GenericRecord>) entity1.get("field5")) {
      rec.put("subfield4", new Utf8(String.valueOf(2)));
    }
    dao.put(entity1);
    PartitionKey key2 = createKey(dao.getPartitionStrategy(), 2);
    GenericRecord entity2 = createGenericEntity(2, goodMigrationRecordAddField);
    entity2.put("fieldToAdd1", 2);
    entity2.put("fieldToAdd2", 2);
    for (GenericRecord rec : (List<GenericRecord>) entity2.get("field5")) {
      rec.put("subfield4", new Utf8(String.valueOf(2)));
View Full Code Here

    TestIncrement entity = TestIncrement.newBuilder().setKeyPart1("part1")
        .setKeyPart2("part2").setField1(10).build();
    dao.put(entity);

    PartitionKey key = dao.getPartitionStrategy()
        .partitionKey("part1", "part2");
    dao.increment(key, "field1", 10);
    assertEquals(20L, (long) dao.get(key).getField1());

    dao.increment(key, "field1", 5);
View Full Code Here

    // Test put
    assertTrue(dao.put(compositeRecord));
   
    // validate deleting one of the records doesn't delete the entire row
    PartitionKey key = dao.getPartitionStrategy().partitionKey("1", "1");
    subRecord2Dao.delete(key);
    subRecord1 = subRecord1Dao.get(key);
    assertNotNull(subRecord1);
    assertNull(subRecord2Dao.get(key));
   
View Full Code Here

TOP

Related Classes of com.cloudera.cdk.data.PartitionKey

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.