Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-13400

JDBC IO does not support UUID and JSONB PostgreSQL types and OTHER JDBC types in general

Details

    • Improvement
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • 2.34.0
    • 2.37.0
    • io-java-jdbc
    • None

    Description

      The following exception occurs when trying to read rows from table which contains fields with type JSONB and UUID. They have JDBCType OTHER.

      java.lang.UnsupportedOperationException: Converting OTHER to Beam schema type is not supported
          at org.apache.beam.sdk.io.jdbc.SchemaUtil.jdbcTypeToBeamFieldConverter(SchemaUtil.java:161)
          at org.apache.beam.sdk.io.jdbc.SchemaUtil.toBeamSchema(SchemaUtil.java:172)
          at org.apache.beam.sdk.io.jdbc.JdbcIO$ReadRows.inferBeamSchema(JdbcIO.java:655)
          at org.apache.beam.sdk.io.jdbc.JdbcIO$ReadRows.expand(JdbcIO.java:632)
          at org.apache.beam.sdk.io.jdbc.JdbcIO$ReadRows.expand(JdbcIO.java:551)
          at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:548)
          at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:499)
          at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:56)

      I suppose the issue is quite important because the UUID type is widespread in PostgeSQL.

       

      Actual for Oracle BLOB as well.

      Attachments

        Issue Links

          Activity

            People

              Vitaly Ivanov Vitaly Ivanov
              Vitaly Ivanov Vitaly Ivanov
              Votes:
              0 Vote for this issue
              Watchers:
              2 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 - 5h 20m
                  5h 20m