Details

    • Sub-task
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • None
    • Not applicable
    • sdk-java-core
    • None

    Description

      The output of this task is to refactor org.apache.beam.sdk.io.gcp.bigquery.BigQuerySchemaIOProvider [1] to implement SchemaTransform [2] and SchemaTransformProvider interfaces [3].

      Please see https://issues.apache.org/jira/browse/BEAM-14168 for more information on additional work remaining after this task is complete.

      As a result of this task there will be:
      1. one class deletion and four classes created for the PR reflecting whether we are reading from or writing to BigQuery, via BigQueryIO.Read and BigQueryIO.Write, respectively.

      • delete: sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySchemaIOProvider.java
      • create: sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySchemaTransformReadConfiguration.java
      • create: sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySchemaTransformReadProvider.java
      • create: sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySchemaTransformWriteConfiguration.java
      • create: sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySchemaTransformWriteProvider.java

      2. The testing strategy will leverage the use of the org.apache.beam.sdk.transforms.display.DisplayData class instead of using the org.apache.beam.sdk.io.gcp.testing.FakeBigQueryServices.
      We will test whether the input of BigQuerySchemaTransformReadConfiguration yields a BigQueryIO.Read with correct query, tableSpec, useLegacySQL (defaulted to false), and queryLocation values.
      We will test whether the input of BigQuerySchemaTransformWriteConfiguration yields a BigQueryIO.Write with correct tableReference, createDisposition, and writeDisposition values.

      References:

      1 - sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySchemaIOProvider.java
      2 - SchemaTransform
      3 - SchemaTransformProvider

      Attachments

        Issue Links

          Activity

            People

              damondouglas Damon Douglas
              laraschmidt Lara Schmidt
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 9h 50m
                  9h 50m