Moving data from BigQuery to other destinations is a common challenge for data engineering teams. Whether you need to sync data to a different data warehouse, feed analytics tools, or maintain data consistency across platforms, choosing the right ETL tool is crucial. This guide examines the most effective BigQuery ETL tools, helping you pick the right solution for your specific data movement needs.
What is Google BigQuery?
Google BigQuery is a serverless data warehouse that lets you analyze massive datasets using SQL. While it's fantastic at storing and querying data, its built-in ETL capabilities are limited.
Sure, BigQuery offers basic data export through UI downloads, the bq command-line tool, and the BigQuery API. You can save query results to formats like CSV, JSON, or Avro. But let's face it - these native options fall short when you need:
- Automated, scheduled data transfers
- Complex data transformations before loading
- Real-time data synchronization
- Support for diverse destination systems
- Advanced error handling and monitoring
I remember trying to use BigQuery's native export for a real-time analytics pipeline - spoiler alert: it didn't end well. That's exactly why third-party ETL tools have become essential for serious data engineering teams who need reliable, scalable data movement from BigQuery.
What is BigQuery ETL?
BigQuery ETL is the process of extracting data from BigQuery, transforming it according to your needs, and loading it into various destination systems. ETL is typically used for batch processing and is most commonly associated with traditional data warehouses.
How data integration from BigQuery to a data warehouse can help
Companies might do BigQuery ETL for several reasons:
- Business intelligence: BigQuery data may need to be loaded into a data warehouse for analysis, reporting, and business intelligence purposes.
- Data Consolidation: Companies may need to consolidate data with other systems or applications to gain a more comprehensive view of their business operations
- Compliance: Certain industries may have specific data retention or compliance requirements, which may necessitate extracting data for archiving purposes.
Overall, ETL from BigQuery allows companies to leverage the data for a wide range of business purposes, from integration and analytics to compliance and performance optimization.
Criterias to select the right BigQuery ETL solution for you
As a company, you don't want to use one separate data integration tool for every data source you want to pull data from. So you need to have a clear integration strategy and some well-defined evaluation criteria to choose your BigQuery ETL solution.
Here is our recommendation for the criteria to consider:
- Connector need coverage: does the ETL tool extract data from all the multiple systems you need, should it be any cloud app or Rest API, relational databases or noSQL databases, csv files, etc.? Does it support the destinations you need to export data to - data warehouses, databases, or data lakes?
- Connector extensibility: for all those connectors, are you able to edit them easily in order to add a potentially missing endpoint, or to fix an issue on it if needed?
- Ability to build new connectors: all data integration solutions support a limited number of data sources.
- Support of change data capture: this is especially important for your databases.
- Data integration features and automations: including schema change migration, re-syncing of historical data when needed, scheduling feature
- Efficiency: how easy is the user interface (including graphical interface, API, and CLI if you need them)?
- Integration with the stack: do they integrate well with the other tools you might need - dbt, Airflow, Dagster, Prefect, etc. - ?
- Data transformation: Do they enable to easily transform data, and even support complex data transformations? Possibly through an square integration with dbt
- Level of support and high availability: how responsive and helpful the support is, what are the average % successful syncs for the connectors you need. The whole point of using ETL solutions is to give back time to your data team.
- Data reliability and scalability: do they have recognizable brands using them? It also shows how scalable and reliable they might be for high-volume data replication.
- Security and trust: there is nothing worse than a data leak for your company, the fine can be astronomical, but the trust broken with your customers can even have more impact. So checking the level of certification (SOC2, ISO) of the tools is paramount. You might want to expand to Europe, so you would need them to be GDPR-compliant too.
Top 10 BigQuery ETL tools
Here are the top BigQuery ETL tools based on their popularity and the criteria listed above:
1. Airbyte
Airbyte is the leading open-source ELT platform, created in July 2020. Airbyte offers the largest catalog of data connectors—350 and growing—and has 40,000 data engineers using it to transfer data, syncing several PBs per month, as of June 2023. Major users include brands such as Siemens, Calendly, Angellist, and more. Airbyte integrates with dbt for its data transformation, and Airflow/Prefect/Dagster for orchestration. It is also known for its easy-to-use user interface, and has an API and Terraform Provider available.
What's unique about Airbyte?
Their ambition is to commoditize data integration by addressing the long tail of connectors through their growing contributor community. All Airbyte connectors are open-source which makes them very easy to edit. Airbyte also provides a Connector Development Kit to build new connectors from scratch in less than 30 minutes, and a no-code connector builder UI that lets you build one in less than 10 minutes without help from any technical person or any local development environment required..
Airbyte also provides stream-level control and visibility. If a sync fails because of a stream, you can relaunch that stream only. This gives you great visibility and control over your data.
Data professionals can either deploy and self-host Airbyte Open Source, or leverage the cloud-hosted solution Airbyte Cloud where the new pricing model distinguishes databases from APIs and files. Airbyte offers a 99% SLA on Generally Available data pipelines tools, and a 99.9% SLA on the platform.
2. Fivetran
Fivetran is a closed-source, managed ELT service that was created in 2012. Fivetran has about 300 data connectors and over 5,000 customers.
Fivetran offers some ability to edit current connectors and create new ones with Fivetran Functions, but doesn't offer as much flexibility as an open-source tool would.
What's unique about Fivetran?
Being the first ELT solution in the market, they are considered a proven and reliable choice. However, Fivetran charges on monthly active rows (in other words, the number of rows that have been edited or added in a given month), and are often considered very expensive.
Here are more critical insights on the key differentiations between Airbyte and Fivetran
3. Stitch Data
Stitch is a cloud-based platform for ETL that was initially built on top of the open-source ETL tool Singer.io. More than 3,000 companies use it.
Stitch was acquired by Talend, which was acquired by the private equity firm Thoma Bravo, and then by Qlik. These successive acquisitions decreased market interest in the Singer.io open-source community, making most of their open-source data connectors obsolete. Only their top 30 connectors continue to be maintained by the open-source community.
What's unique about Stitch?
Given the lack of quality and reliability in their connectors, and poor support, Stitch has adopted a low-cost approach.
Here are more insights on the differentiations between Airbyte and Stitch, and between Fivetran and Stitch.
4. Matillion
Matillion is a self-hosted ELT solution, created in 2011. It supports about 100 connectors and provides all extract, load and transform features. Matillion is used by 500+ companies across 40 countries.
What's unique about Matillion?
Being self-hosted means that Matillion ensures your data doesn’t leave your infrastructure and stays on premise. However, you might have to pay for several Matillion instances if you’re multi-cloud. Also, Matillion has verticalized its offer from offering all ELT and more. So Matillion doesn't integrate with other tools such as dbt, Airflow, and more.
Here are more insights on the differentiations between Airbyte and Matillion.
5. Airflow
Apache Airflow is an open-source workflow management tool. Airflow is not an ETL solution but you can use Airflow operators for data integration jobs. Airflow started in 2014 at Airbnb as a solution to manage the company's workflows. Airflow allows you to author, schedule and monitor workflows as DAG (directed acyclic graphs) written in Python.
What's unique about Airflow?
Airflow requires you to build data pipelines on top of its orchestration tool. You can leverage Airbyte for the data pipelines and orchestrate them with Airflow, significantly lowering the burden on your data engineering team.
Here are more insights on the differentiations between Airbyte and Airflow.
6. Informatica PowerCenter
Informatica PowerCenter is an ETL tool that supported data profiling, in addition to data cleansing and data transformation processes. It was also implemented in their customers' infrastructure, and is also an Enterprise product, so hard to implement without any self-serve option.
7. Microsoft SQL Server Integration Services (SSIS)
MS SQL Server Integration Services is the Microsoft alternative from within their Microsoft infrastructure. It offers ETL, and not ELT and its benefits.
8. Rivery
Rivery is another cloud-based ELT solution. Founded in 2018, it presents a verticalized solution by providing built-in data transformation, orchestration and activation capabilities. Rivery offers 150+ connectors, so a lot less than Airbyte. Its pricing approach is usage-based with Rivery pricing unit that are a proxy for platform usage. The pricing unit depends on the connectors you sync from, which makes it hard to estimate.
9. HevoData
HevoData is another cloud-based ELT solution. Even if it was founded in 2017, it only supports 150 integrations, so a lot less than Airbyte. HevoData provides built-in data transformation capabilities, allowing users to apply transformations, mappings, and enrichments to the data before it reaches the destination. Hevo also provides data activation capabilities by syncing data back to the APIs.
10. Meltano
Meltano is an open-source orchestrator dedicated to data integration, spined off from Gitlab on top of Singer’s taps and targets. Since 2019, they have been iterating on several approaches. Meltano distinguishes itself with its focus on DataOps and the CLI interface. They offer a SDK to build connectors, but it requires engineering skills and more time to build than Airbyte’s CDK. Meltano doesn’t invest in maintaining the connectors and leave it to the Singer community, and thus doesn’t provide support package with any SLA.
All those ETL tools are not specific to BigQuery, you might also find some other specific data loader for BigQuery data. But you will most likely not want to be loading data from only BigQuery in your data stores.
Which data can you extract from BigQuery?
BigQuery provides access to a wide range of data types, including:
1. Structured data: This includes data that is organized into tables with defined columns and data types, such as CSV, JSON, and Avro files.
2. Semi-structured data: This includes data that has some structure, but not necessarily a fixed schema, such as XML and JSON files.
3. Unstructured data: This includes data that has no predefined structure, such as text, images, and videos.
4. Time-series data: This includes data that is organized by time, such as stock prices, weather data, and sensor readings.
5. Geospatial data: This includes data that is related to geographic locations, such as maps, GPS coordinates, and spatial databases.
6. Machine learning data: This includes data that is used to train machine learning models, such as labeled datasets and feature vectors.
7. Streaming data: This includes data that is generated in real-time, such as social media feeds, IoT sensor data, and log files.
Overall, BigQuery's API provides access to a wide range of data types, making it a powerful tool for data analysis and machine learning.
How to start pulling data in minutes from BigQuery
If you decide to test Airbyte, you can start analyzing your BigQuery data within minutes in three easy steps:
Step 1: Set up BigQuery as a source connector
1. First, you need to have a Google Cloud Platform account and a project with BigQuery enabled.
2. Go to the Google Cloud Console and create a new service account with the necessary permissions to access your BigQuery data.
3. Download the JSON key file for the service account and keep it safe.
4. Open Airbyte and go to the Sources page.
5. Click on the "Create a new source" button and select "BigQuery" from the list of available sources.
6. Enter a name for your source and click on "Next".
7. In the "Connection Configuration" section, enter the following information:
- Project ID: the ID of your Google Cloud Platform project
- JSON Key: copy and paste the contents of the JSON key file you downloaded earlier
- Dataset: the name of the dataset you want to connect to
8. Click on "Test Connection" to make sure everything is working correctly.
9. If the test is successful, click on "Create Source" to save your configuration.
10. You can now use your BigQuery source connector to extract data from your dataset and load it into Airbyte for further processing.
Step 2: Set up a destination for your extracted BigQuery data
Choose from one of 50+ destinations where you want to import data from your BigQuery source. This can be a cloud data warehouse, data lake, database, cloud storage, or any other supported Airbyte destination.
Step 3: Configure the BigQuery data pipeline in Airbyte
Once you've set up both the source and destination, you need to configure the connection. This includes selecting the data you want to extract - streams and columns, all are selected by default -, the sync frequency, where in the destination you want that data to be loaded, among other options.
And that's it! It is the same process between Airbyte Open Source that you can deploy within 5 minutes, or Airbyte Cloud which you can try here, free for 14-days.
Conclusion
This article outlined the criteria that you should consider when choosing a data integration solution for BigQuery ETL/ELT. Based on your requirements, you can select from any of the top 10 ETL/ELT tools listed above. We hope this article helped you understand why you should consider doing BigQuery ETL and how to best do it.
What should you do next?
Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:
Frequently Asked Questions
What is ETL?
ETL, an acronym for Extract, Transform, Load, is a vital data integration process. It involves extracting data from diverse sources, transforming it into a usable format, and loading it into a database, data warehouse or data lake. This process enables meaningful data analysis, enhancing business intelligence.
BigQuery is a cloud-based data warehousing and analytics platform that allows users to store, manage, and analyze large amounts of data in real-time. It is a fully managed service that eliminates the need for users to manage their own infrastructure, and it offers a range of features such as SQL querying, machine learning, and data visualization. BigQuery is designed to handle petabyte-scale datasets and can be used for a variety of use cases, including business intelligence, data exploration, and predictive analytics. It is a powerful tool for organizations looking to gain insights from their data and make data-driven decisions.
BigQuery provides access to a wide range of data types, including:
1. Structured data: This includes data that is organized into tables with defined columns and data types, such as CSV, JSON, and Avro files.
2. Semi-structured data: This includes data that has some structure, but not necessarily a fixed schema, such as XML and JSON files.
3. Unstructured data: This includes data that has no predefined structure, such as text, images, and videos.
4. Time-series data: This includes data that is organized by time, such as stock prices, weather data, and sensor readings.
5. Geospatial data: This includes data that is related to geographic locations, such as maps, GPS coordinates, and spatial databases.
6. Machine learning data: This includes data that is used to train machine learning models, such as labeled datasets and feature vectors.
7. Streaming data: This includes data that is generated in real-time, such as social media feeds, IoT sensor data, and log files.
Overall, BigQuery's API provides access to a wide range of data types, making it a powerful tool for data analysis and machine learning.
This can be done by building a data pipeline manually, usually a Python script (you can leverage a tool as Apache Airflow for this). This process can take more than a full week of development. Or it can be done in minutes on Airbyte in three easy steps: set it up as a source, choose a destination among 50 available off the shelf, and define which data you want to transfer and how frequently.
The most prominent ETL tools to extract data include: Airbyte, Fivetran, StitchData, Matillion, and Talend Data Integration. These ETL and ELT tools help in extracting data from various sources (APIs, databases, and more), transforming it efficiently, and loading it into a database, data warehouse or data lake, enhancing data management capabilities.
What is ELT?
ELT, standing for Extract, Load, Transform, is a modern take on the traditional ETL data integration process. In ELT, data is first extracted from various sources, loaded directly into a data warehouse, and then transformed. This approach enhances data processing speed, analytical flexibility and autonomy.
Difference between ETL and ELT?
ETL and ELT are critical data integration strategies with key differences. ETL (Extract, Transform, Load) transforms data before loading, ideal for structured data. In contrast, ELT (Extract, Load, Transform) loads data before transformation, perfect for processing large, diverse data sets in modern data warehouses. ELT is becoming the new standard as it offers a lot more flexibility and autonomy to data analysts.