Search in sources :

Example 6 with DisplayData

use of org.apache.beam.sdk.transforms.display.DisplayData in project beam by apache.

the class TextIOTest method testWriteWithWritableByteChannelFactory.

@Test
@Category(NeedsRunner.class)
public void testWriteWithWritableByteChannelFactory() throws Exception {
    Coder<String> coder = StringUtf8Coder.of();
    String outputName = "file.txt";
    Path baseDir = Files.createTempDirectory(tempFolder, "testwrite");
    PCollection<String> input = p.apply(Create.of(Arrays.asList(LINES2_ARRAY)).withCoder(coder));
    final WritableByteChannelFactory writableByteChannelFactory = new DrunkWritableByteChannelFactory();
    TextIO.Write write = TextIO.write().to(baseDir.resolve(outputName).toString()).withoutSharding().withWritableByteChannelFactory(writableByteChannelFactory);
    DisplayData displayData = DisplayData.from(write);
    assertThat(displayData, hasDisplayItem("writableByteChannelFactory", "DRUNK"));
    input.apply(write);
    p.run();
    final List<String> drunkElems = new ArrayList<>(LINES2_ARRAY.length * 2 + 2);
    for (String elem : LINES2_ARRAY) {
        drunkElems.add(elem);
        drunkElems.add(elem);
    }
    assertOutputFiles(drunkElems.toArray(new String[0]), null, null, 1, baseDir, outputName + writableByteChannelFactory.getFilenameSuffix(), write.getShardTemplate());
}
Also used : Path(java.nio.file.Path) WritableByteChannelFactory(org.apache.beam.sdk.io.FileBasedSink.WritableByteChannelFactory) ArrayList(java.util.ArrayList) DisplayData(org.apache.beam.sdk.transforms.display.DisplayData) Category(org.junit.experimental.categories.Category) Test(org.junit.Test)

Example 7 with DisplayData

use of org.apache.beam.sdk.transforms.display.DisplayData in project beam by apache.

the class TextIOTest method testWriteDisplayDataValidateThenFooter.

@Test
public void testWriteDisplayDataValidateThenFooter() {
    TextIO.Write write = TextIO.write().to("foo").withFooter("myFooter");
    DisplayData displayData = DisplayData.from(write);
    assertThat(displayData, hasDisplayItem("fileFooter", "myFooter"));
}
Also used : DisplayData(org.apache.beam.sdk.transforms.display.DisplayData) Test(org.junit.Test)

Example 8 with DisplayData

use of org.apache.beam.sdk.transforms.display.DisplayData in project beam by apache.

the class GroupByKeyTest method testDisplayData.

@Test
public void testDisplayData() {
    GroupByKey<String, String> groupByKey = GroupByKey.create();
    GroupByKey<String, String> groupByFewKeys = GroupByKey.createWithFewKeys();
    DisplayData gbkDisplayData = DisplayData.from(groupByKey);
    DisplayData fewKeysDisplayData = DisplayData.from(groupByFewKeys);
    assertThat(gbkDisplayData.items(), empty());
    assertThat(fewKeysDisplayData, hasDisplayItem("fewKeys", true));
}
Also used : DisplayData(org.apache.beam.sdk.transforms.display.DisplayData) Test(org.junit.Test)

Example 9 with DisplayData

use of org.apache.beam.sdk.transforms.display.DisplayData in project beam by apache.

the class ParDoTest method testWithOutputTagsDisplayData.

@Test
public void testWithOutputTagsDisplayData() {
    DoFn<String, String> fn = new DoFn<String, String>() {

        @ProcessElement
        public void proccessElement(ProcessContext c) {
        }

        @Override
        public void populateDisplayData(Builder builder) {
            builder.add(DisplayData.item("fnMetadata", "foobar"));
        }
    };
    ParDo.MultiOutput<String, String> parDo = ParDo.of(fn).withOutputTags(new TupleTag<String>(), TupleTagList.empty());
    DisplayData displayData = DisplayData.from(parDo);
    assertThat(displayData, includesDisplayDataFor("fn", fn));
    assertThat(displayData, hasDisplayItem("fn", fn.getClass()));
}
Also used : Builder(org.apache.beam.sdk.transforms.display.DisplayData.Builder) UsesStatefulParDo(org.apache.beam.sdk.testing.UsesStatefulParDo) UsesTimersInParDo(org.apache.beam.sdk.testing.UsesTimersInParDo) StringUtils.byteArrayToJsonString(org.apache.beam.sdk.util.StringUtils.byteArrayToJsonString) Matchers.containsString(org.hamcrest.Matchers.containsString) DisplayData(org.apache.beam.sdk.transforms.display.DisplayData) Test(org.junit.Test)

Example 10 with DisplayData

use of org.apache.beam.sdk.transforms.display.DisplayData in project beam by apache.

the class ParDoTest method testDoFnWithContextDisplayData.

@Test
public void testDoFnWithContextDisplayData() {
    DoFn<String, String> fn = new DoFn<String, String>() {

        @ProcessElement
        public void proccessElement(ProcessContext c) {
        }

        @Override
        public void populateDisplayData(Builder builder) {
            builder.add(DisplayData.item("fnMetadata", "foobar"));
        }
    };
    SingleOutput<String, String> parDo = ParDo.of(fn);
    DisplayData displayData = DisplayData.from(parDo);
    assertThat(displayData, includesDisplayDataFor("fn", fn));
    assertThat(displayData, hasDisplayItem("fn", fn.getClass()));
}
Also used : Builder(org.apache.beam.sdk.transforms.display.DisplayData.Builder) StringUtils.byteArrayToJsonString(org.apache.beam.sdk.util.StringUtils.byteArrayToJsonString) Matchers.containsString(org.hamcrest.Matchers.containsString) DisplayData(org.apache.beam.sdk.transforms.display.DisplayData) Test(org.junit.Test)

Aggregations

DisplayData (org.apache.beam.sdk.transforms.display.DisplayData)117 Test (org.junit.Test)115 DisplayDataEvaluator (org.apache.beam.sdk.transforms.display.DisplayDataEvaluator)16 PCollection (org.apache.beam.sdk.values.PCollection)11 ByteString (com.google.protobuf.ByteString)9 Category (org.junit.experimental.categories.Category)9 Matchers.containsString (org.hamcrest.Matchers.containsString)6 Duration (org.joda.time.Duration)6 TableRow (com.google.api.services.bigquery.model.TableRow)4 Params (org.apache.beam.sdk.io.DefaultFilenamePolicy.Params)3 BigQueryHelpers.toJsonString (org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers.toJsonString)3 Builder (org.apache.beam.sdk.transforms.display.DisplayData.Builder)3 Instant (org.joda.time.Instant)3 TableSchema (com.google.api.services.bigquery.model.TableSchema)2 RowFilter (com.google.bigtable.v2.RowFilter)2 ArrayList (java.util.ArrayList)2 WritableByteChannelFactory (org.apache.beam.sdk.io.FileBasedSink.WritableByteChannelFactory)2 ParDo (org.apache.beam.sdk.transforms.ParDo)2 StringUtils.byteArrayToJsonString (org.apache.beam.sdk.util.StringUtils.byteArrayToJsonString)2 ImmutableSet (com.google.common.collect.ImmutableSet)1