Search in sources :

Example 1 with KafkaSupervisorIOConfig

use of org.apache.druid.indexing.kafka.supervisor.KafkaSupervisorIOConfig in project druid by druid-io.

the class KafkaSamplerSpecTest method testSample.

@Test(timeout = 30_000L)
public void testSample() {
    insertData(generateRecords(TOPIC));
    KafkaSupervisorSpec supervisorSpec = new KafkaSupervisorSpec(null, DATA_SCHEMA, null, new KafkaSupervisorIOConfig(TOPIC, new JsonInputFormat(JSONPathSpec.DEFAULT, null, null), null, null, null, kafkaServer.consumerProperties(), null, null, null, null, true, null, null, null, null), null, null, null, null, null, null, null, null, null, null, null);
    KafkaSamplerSpec samplerSpec = new KafkaSamplerSpec(supervisorSpec, new SamplerConfig(5, null), new InputSourceSampler(), OBJECT_MAPPER);
    SamplerResponse response = samplerSpec.sample();
    Assert.assertEquals(5, response.getNumRowsRead());
    Assert.assertEquals(3, response.getNumRowsIndexed());
    Assert.assertEquals(5, response.getData().size());
    Iterator<SamplerResponse.SamplerResponseRow> it = response.getData().iterator();
    Assert.assertEquals(new SamplerResponse.SamplerResponseRow(new SamplerTestUtils.MapAllowingNullValuesBuilder<String, Object>().put("timestamp", "2008").put("dim1", "a").put("dim2", "y").put("dimLong", "10").put("dimFloat", "20.0").put("met1", "1.0").build(), new SamplerTestUtils.MapAllowingNullValuesBuilder<String, Object>().put("__time", 1199145600000L).put("dim1", "a").put("dim1t", null).put("dim2", "y").put("dimLong", 10L).put("dimFloat", 20.0F).put("rows", 1L).put("met1sum", 1.0).build(), null, null), it.next());
    Assert.assertEquals(new SamplerResponse.SamplerResponseRow(new SamplerTestUtils.MapAllowingNullValuesBuilder<String, Object>().put("timestamp", "2009").put("dim1", "b").put("dim2", "y").put("dimLong", "10").put("dimFloat", "20.0").put("met1", "1.0").build(), new SamplerTestUtils.MapAllowingNullValuesBuilder<String, Object>().put("__time", 1230768000000L).put("dim1", "b").put("dim1t", null).put("dim2", "y").put("dimLong", 10L).put("dimFloat", 20.0F).put("rows", 1L).put("met1sum", 1.0).build(), null, null), it.next());
    Assert.assertEquals(new SamplerResponse.SamplerResponseRow(new SamplerTestUtils.MapAllowingNullValuesBuilder<String, Object>().put("timestamp", "2010").put("dim1", "c").put("dim2", "y").put("dimLong", "10").put("dimFloat", "20.0").put("met1", "1.0").build(), new SamplerTestUtils.MapAllowingNullValuesBuilder<String, Object>().put("__time", 1262304000000L).put("dim1", "c").put("dim1t", null).put("dim2", "y").put("dimLong", 10L).put("dimFloat", 20.0F).put("rows", 1L).put("met1sum", 1.0).build(), null, null), it.next());
    Assert.assertEquals(new SamplerResponse.SamplerResponseRow(new SamplerTestUtils.MapAllowingNullValuesBuilder<String, Object>().put("timestamp", "246140482-04-24T15:36:27.903Z").put("dim1", "x").put("dim2", "z").put("dimLong", "10").put("dimFloat", "20.0").put("met1", "1.0").build(), null, true, "Encountered row with timestamp[246140482-04-24T15:36:27.903Z] that cannot be represented as a long: [{timestamp=246140482-04-24T15:36:27.903Z, dim1=x, dim2=z, dimLong=10, dimFloat=20.0, met1=1.0}]"), it.next());
    Assert.assertEquals(new SamplerResponse.SamplerResponseRow(null, null, true, "Unable to parse row [unparseable] into JSON"), it.next());
    Assert.assertFalse(it.hasNext());
}
Also used : SamplerConfig(org.apache.druid.indexing.overlord.sampler.SamplerConfig) SamplerResponse(org.apache.druid.client.indexing.SamplerResponse) SamplerTestUtils(org.apache.druid.indexing.overlord.sampler.SamplerTestUtils) JsonInputFormat(org.apache.druid.data.input.impl.JsonInputFormat) KafkaSupervisorIOConfig(org.apache.druid.indexing.kafka.supervisor.KafkaSupervisorIOConfig) InputSourceSampler(org.apache.druid.indexing.overlord.sampler.InputSourceSampler) KafkaSupervisorSpec(org.apache.druid.indexing.kafka.supervisor.KafkaSupervisorSpec) InitializedNullHandlingTest(org.apache.druid.testing.InitializedNullHandlingTest) Test(org.junit.Test)

Example 2 with KafkaSupervisorIOConfig

use of org.apache.druid.indexing.kafka.supervisor.KafkaSupervisorIOConfig in project druid by druid-io.

the class KafkaSamplerSpecTest method testInvalidKafkaConfig.

@Test
public void testInvalidKafkaConfig() {
    KafkaSupervisorSpec supervisorSpec = new KafkaSupervisorSpec(null, DATA_SCHEMA, null, new KafkaSupervisorIOConfig(TOPIC, new JsonInputFormat(JSONPathSpec.DEFAULT, null, null), null, null, null, // invalid bootstrap server
    ImmutableMap.of("bootstrap.servers", "127.0.0.1"), null, null, null, null, true, null, null, null, null), null, null, null, null, null, null, null, null, null, null, null);
    KafkaSamplerSpec samplerSpec = new KafkaSamplerSpec(supervisorSpec, new SamplerConfig(5, null), new InputSourceSampler(), OBJECT_MAPPER);
    expectedException.expect(SamplerException.class);
    expectedException.expectMessage("Invalid url in bootstrap.servers");
    samplerSpec.sample();
}
Also used : JsonInputFormat(org.apache.druid.data.input.impl.JsonInputFormat) KafkaSupervisorIOConfig(org.apache.druid.indexing.kafka.supervisor.KafkaSupervisorIOConfig) SamplerConfig(org.apache.druid.indexing.overlord.sampler.SamplerConfig) InputSourceSampler(org.apache.druid.indexing.overlord.sampler.InputSourceSampler) KafkaSupervisorSpec(org.apache.druid.indexing.kafka.supervisor.KafkaSupervisorSpec) InitializedNullHandlingTest(org.apache.druid.testing.InitializedNullHandlingTest) Test(org.junit.Test)

Aggregations

JsonInputFormat (org.apache.druid.data.input.impl.JsonInputFormat)2 KafkaSupervisorIOConfig (org.apache.druid.indexing.kafka.supervisor.KafkaSupervisorIOConfig)2 KafkaSupervisorSpec (org.apache.druid.indexing.kafka.supervisor.KafkaSupervisorSpec)2 InputSourceSampler (org.apache.druid.indexing.overlord.sampler.InputSourceSampler)2 SamplerConfig (org.apache.druid.indexing.overlord.sampler.SamplerConfig)2 InitializedNullHandlingTest (org.apache.druid.testing.InitializedNullHandlingTest)2 Test (org.junit.Test)2 SamplerResponse (org.apache.druid.client.indexing.SamplerResponse)1 SamplerTestUtils (org.apache.druid.indexing.overlord.sampler.SamplerTestUtils)1