MySQL to BigQuery: INT to FLOAT?

Hi team,

Do you know why the INT data type in MySQL when synced to BigQuery destination they are gets converted to FLOAT? Is there any way to change this behavior?

MySQL schema:

BigQuery Schema:

This behavior is expected. Airbyte converts integer to number (Airbyte Protocol) and after changes to a type that supports the data type number. This needs to work with all sources to all destinations, imagine that the max int in MySQL is not supported by Bigquery so Airbyte needs to create a specific mapping from every database to each destination.

If you need a parity of data mapping you can export the normalization module of Airbyte and change it as your wish. Check documentation here:

This is so awful. Since this is the very basic expectation from an ETL tool. See this from Fivetran that correctly use INTEGER in BigQuery:

It’s a very daunting task to create a custom normalization for each and every table we have in so many data sources only for making them INTEGER. Why your competitors like Fivetran could handle mapping INT to INTEGER?

On the other hand, we are recently using Airbyte Cloud, and weirdly we don’t see the custom transformation section at all. Why?

If this is not possible for you to change this awful behavior perhaps we are inevitable to switch to them :sob:

1 Like

Arash this is a limitation of Airbyte, probably in the future will be possible to have a better mapping among sources and destinations.
Custom transformation is not available in Airbyte Cloud.