Warehouses and Lakes
Warehouses and Lakes

How to load data from Azure Blob Storage to BigQuery

Learn how to use Airbyte to synchronize your Azure Blob Storage data into BigQuery within minutes.

TL;DR

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:

  1. set up Azure Blob Storage as a source connector (using Auth, or usually an API key)
  2. set up BigQuery as a destination connector
  3. define which data you want to transfer and how frequently

You can choose to self-host the pipeline using Airbyte Open Source or have it managed for you with Airbyte Cloud.

This tutorial’s purpose is to show you how.

What is Azure Blob Storage

Azure Blob Storage is a cloud-based storage solution provided by Microsoft Azure. It is designed to store large amounts of unstructured data such as text, images, videos, and audio files. Blob Storage is highly scalable and can store data of any size, from a few bytes to terabytes. It provides a cost-effective way to store and access data from anywhere in the world. Blob Storage also offers features such as data encryption, access control, and data redundancy to ensure data security and availability. It can be used for a variety of applications such as backup and disaster recovery, media storage, and data archiving.

What is BigQuery

BigQuery is an enterprise data warehouse that draws on the processing power of Google Cloud Storage to enable fast processing of SQL queries through massive datasets. BigQuery helps businesses select the most appropriate software provider to assemble their data, based on the platforms the business uses. Once a business’ data is acculumated, it is moved into BigQuery. The company controls access to the data, but BigQuery stores and processes it for greater speed and convenience.

Prerequisites

  1. A Azure Blob Storage account to transfer your customer data automatically from.
  2. A BigQuery account.
  3. An active Airbyte Cloud account, or you can also choose to use Airbyte Open Source locally. You can follow the instructions to set up Airbyte on your system using docker-compose.

Airbyte is an open-source data integration platform that consolidates and streamlines the process of extracting and loading data from multiple data sources to data warehouses. It offers pre-built connectors, including Azure Blob Storage and BigQuery, for seamless data migration.

When using Airbyte to move data from Azure Blob Storage to BigQuery, it extracts data from Azure Blob Storage using the source connector, converts it into a format BigQuery can ingest using the provided schema, and then loads it into BigQuery via the destination connector. This allows businesses to leverage their Azure Blob Storage data for advanced analytics and insights within BigQuery, simplifying the ETL process and saving significant time and resources.

Step 1: Set up Azure Blob Storage as a source connector

1. First, navigate to the Airbyte website and create an account.
2. Once you have logged in, click on the "Sources" tab on the left-hand side of the screen.
3. Scroll down until you find the "Azure Blob Storage" connector and click on it.
4. Click on the "Create Connection" button.
5. Enter a name for your connection and fill in the required fields, such as your Azure Blob Storage account name and access key.
6. Test the connection to ensure that it is working properly.
7. Once the connection has been successfully tested, click on the "Save & Sync" button to save your connection and begin syncing data.
8. You can then configure your sync settings, such as the frequency of syncing and which data to include.
9. Once you have configured your sync settings, click on the "Save & Sync" button again to start syncing your data from Azure Blob Storage to Airbyte.

Step 2: Set up BigQuery as a destination connector

1. First, navigate to the Airbyte dashboard and select the "Destinations" tab on the left-hand side of the screen.

2. Scroll down until you find the "BigQuery" destination connector and click on it.

3. Click the "Create Destination" button to begin setting up your BigQuery destination.

4. Enter your Google Cloud Platform project ID and service account credentials in the appropriate fields.

5. Next, select the dataset you want to use for your destination and enter the table prefix you want to use.

6. Choose the schema mapping for your data, which will determine how your data is organized in BigQuery.

7. Finally, review your settings and click the "Create Destination" button to complete the setup process.

8. Once your destination is created, you can begin configuring your source connectors to start syncing data to BigQuery.

9. To do this, navigate to the "Sources" tab on the left-hand side of the screen and select the source connector you want to use.

10. Follow the prompts to enter your source credentials and configure your sync settings.

11. When you reach the "Destination" step, select your BigQuery destination from the dropdown menu and choose the dataset and table prefix you want to use.

12. Review your settings and click the "Create Connection" button to start syncing data from your source to your BigQuery destination.

Should you build or buy your data pipelines?

Download our free guide and discover the best approach for your needs, whether it's building your ELT solution in-house or opting for Airbyte Open Source or Airbyte Cloud.

Download now

Step 3: Set up a connection to sync your Azure Blob Storage data to BigQuery

Once you've successfully connected Azure Blob Storage as a data source and BigQuery as a destination in Airbyte, you can set up a data pipeline between them with the following steps:

  1. Create a new connection: On the Airbyte dashboard, navigate to the 'Connections' tab and click the '+ New Connection' button.
  2. Choose your source: Select Azure Blob Storage from the dropdown list of your configured sources.
  3. Select your destination: Choose BigQuery from the dropdown list of your configured destinations.
  4. Configure your sync: Define the frequency of your data syncs based on your business needs. Airbyte allows both manual and automatic scheduling for your data refreshes.
  5. Select the data to sync: Choose the specific Azure Blob Storage objects you want to import data from towards BigQuery. You can sync all data or select specific tables and fields.
  6. Select the sync mode for your streams: Choose between full refreshes or incremental syncs (with deduplication if you want), and this for all streams or at the stream level. Incremental is only available for streams that have a primary cursor.
  7. Test your connection: Click the 'Test Connection' button to make sure that your setup works. If the connection test is successful, save your configuration.
  8. Start the sync: If the test passes, click 'Set Up Connection'. Airbyte will start moving data from Azure Blob Storage to BigQuery according to your settings.

Remember, Airbyte keeps your data in sync at the frequency you determine, ensuring your BigQuery data warehouse is always up-to-date with your Azure Blob Storage data.

Use Cases to transfer your Azure Blob Storage data to BigQuery

Integrating data from Azure Blob Storage to BigQuery provides several benefits. Here are a few use cases:

  1. Advanced Analytics: BigQuery’s powerful data processing capabilities enable you to perform complex queries and data analysis on your Azure Blob Storage data, extracting insights that wouldn't be possible within Azure Blob Storage alone.
  2. Data Consolidation: If you're using multiple other sources along with Azure Blob Storage, syncing to BigQuery allows you to centralize your data for a holistic view of your operations, and to set up a change data capture process so you never have any discrepancies in your data again.
  3. Historical Data Analysis: Azure Blob Storage has limits on historical data. Syncing data to BigQuery allows for long-term data retention and analysis of historical trends over time.
  4. Data Security and Compliance: BigQuery provides robust data security features. Syncing Azure Blob Storage data to BigQuery ensures your data is secured and allows for advanced data governance and compliance management.
  5. Scalability: BigQuery can handle large volumes of data without affecting performance, providing an ideal solution for growing businesses with expanding Azure Blob Storage data.
  6. Data Science and Machine Learning: By having Azure Blob Storage data in BigQuery, you can apply machine learning models to your data for predictive analytics, customer segmentation, and more.
  7. Reporting and Visualization: While Azure Blob Storage provides reporting tools, data visualization tools like Tableau, PowerBI, Looker (Google Data Studio) can connect to BigQuery, providing more advanced business intelligence options. If you have a Azure Blob Storage table that needs to be converted to a BigQuery table, Airbyte can do that automatically.

Wrapping Up

To summarize, this tutorial has shown you how to:

  1. Configure a Azure Blob Storage account as an Airbyte data source connector.
  2. Configure BigQuery as a data destination connector.
  3. Create an Airbyte data pipeline that will automatically be moving data directly from Azure Blob Storage to BigQuery after you set a schedule

With Airbyte, creating data pipelines take minutes, and the data integration possibilities are endless. Airbyte supports the largest catalog of API tools, databases, and files, among other sources. Airbyte's connectors are open-source, so you can add any custom objects to the connector, or even build a new connector from scratch without any local dev environment or any data engineer within 10 minutes with the no-code connector builder.

We look forward to seeing you make use of it! We invite you to join the conversation on our community Slack Channel, or sign up for our newsletter. You should also check out other Airbyte tutorials, and Airbyte’s content hub!

What should you do next?

Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:

flag icon
Easily address your data movement needs with Airbyte Cloud
Take the first step towards extensible data movement infrastructure that will give a ton of time back to your data team. 
Get started with Airbyte for free
high five icon
Talk to a data infrastructure expert
Get a free consultation with an Airbyte expert to significantly improve your data movement infrastructure. 
Talk to sales
stars sparkling
Improve your data infrastructure knowledge
Subscribe to our monthly newsletter and get the community’s new enlightening content along with Airbyte’s progress in their mission to solve data integration once and for all.
Subscribe to newsletter

You may be able to improve your analytics capabilities by moving data from Azure SQL Database, into a centralized and unified data warehouse such as BigQuery. As discussed in Airbyte’s article on data integration, moving data from across the enterprise into a centralized data analytics platform provides the following benefits:

  • A unified view of data from across the enterprise, and a single source of truth.
  • A platform that is purpose built for running large analytics jobs.
  • A single location to transform and join data from across the enterprise.
  • Improved security – limit the number of people that require access to operational systems such as Azure SQL Database, as they will be able to access and analyze the required data in BigQuery.

In this tutorial, you will learn how to build a data replication pipeline from Azure SQL Database to Google’s BigQuery, without writing any code. Let’s get started!

Prerequisites

  1. A Microsoft Azure account to create a SQL Server using Azure. Because Azure SQL Database is built on SQL Server database engine, the instructions given in this tutorial should also be applicable to Microsoft SQL Server.
  2. A Google cloud account to create a BigQuery data warehouse.
  3. This tutorial was created using Airbyte cloud. Alternatively, you can choose to run Airbyte locally. You can follow the instructions to set up Airbyte on your system using docker-compose.

Step 1: Set up SQL Server as an Airbyte Source

Create an SQL Server host on Azure.  Once you log in to the Azure Portal, choose to create an SQL database from the dashboard

Choose Create option from the SQL databases page.

Create a server to host our database in it. From the Database details section, choose Create new server.

We will use SQL Authentication for authentication methods, creating a new username and password as shown below.

Once the server setup is complete, let’s add other details. For Subscription, choose Free Trial if you don’t already have a paid plan. Next, a new Resource group needs to be created to store all our resources related to our database.

Choose Next: Networking to move forward. Make sure to pick Public Endpoint for the Connectivity method.

Next, under Additional Settings, you can load sample tables by choosing Sample under Use existing data. We will use data from this table to sync to BigQuery later in the tutorial.

Once you are done with configurations, Choose Create to create the database, this step may take a few minutes. Once Azure creates the database for us, you can view more details.

Let’s run a sample SQL query by going to the Query Editor and logging in with the username/password you just created. Then run an SQL query as shown below:.

Azure doesn't allow connections to the database from IPs unless they are listed in the firewall settings. Therefore we need to add Airbyte’s public IP addresses to the firewall settings.

To whitelist the IPs, click on Add a firewall rule and add the same IP address for both start and end address.

Step 2: Configure Azure SQL Database as a source

You will now add the newly created Azure SQL Database as an Airbyte Source. Login to your Airbyte Cloud Dashboard and, select Sources on the left bar, then click on +New source. After selecting Microsoft SQL Server as your source , you should complete the UI as shown in the  image below:

ℹ️  Since Azure SQL Database uses the SQL Server engine, using the MSSQL source connector works.

Once you have entered all the necessary details, choose Set up source.

Step 3: Set up BigQuery

To set up a big query Airbyte destination, we need first to create a BigQuery dataset to load our books dataset.

Login in to your Google cloud dashboard. From the Welcome page, choose the Run a query in BigQuery button.

From the 3-dot menu of your cloud project, choose the only option to create a dataset


For Dataset ID, choose a descriptive name like mongodb_dataset. Only alphanumeric names are allowed as dataset ID names.

Choose the dataset location from the menu and click Create Dataset. You should now be able to see a newly created dataset. Take note of the Dataset ID you just entered since we will need it later to set up BigQuery as an Airbyte Destination.

Getting the appropriate account keys to access our BigQuery project is the only thing left. Choose API & Services from the Quick Access menu in your cloud dashboard.

From the credential menu, choose to create a new Service account.

Pick a valid name for your Service account and click Create and continue.

Next, we need to specify what resources can be accessed from this service account. From the available roles,  BigQuery Data Editor and BigQuery Job User should be sufficient. Alternatively BigQuery Admin should work (and is shown in the image below), but for security should not be used in production systems..

Click Done, and you should see a new service account.

Choose this newly created service account email and add a new key by clicking the Add Key button.

From the Create private key pop-up, choose JSON.

Once you select Create, a new file must have been downloaded to your system. The final step involves creating a new Airbyte destination.

Step 4: Configure BigQuery as a destination

From your Airbyte dashboard, choose Destinations and, select New Destination, pick BigQuery from the available options.

Next, under Service Account Key JSON, copy the contents of the whole credentials file. Finally, click Set up destination once you are done with the changes.

Step 5: Set up Airbyte Connection from Azure to BigQuery

The final step for this tutorial involves building a connection between our newly setup SQL Server and our BigQuery warehouse. To achieve this, go to Connections and choose to set up a New connection.

Select the source and destination that we just created, and Airbyte will show you the tables (called streams in Airbyte) that can be synced.

Once you have selected the namespaces to sync, Choose Set up connection, and Airbyte should automatically start syncing data. Once the sync is complete, Airbyte will tell you the status of the rows synced.

With the sample data in Azure SQL Database, around 6083 rows were synced to BigQuery. Once normalization has completed, you can go to the BigQuery console to verify and run a sample SQL query such as the following:

Wrapping Up

To summarize, this tutorial has shown you how to:

  1. Set up Azure SQL Server.
  2. Configure Azure SQL Server as an Airbyte source.
  3. Set up a Google BigQuery as a data warehouse.
  4. Configure BigQuery as an Airbyte destination.
  5. Create an Airbyte connection that replicates data from a Azure SQL Database to BigQuery.

With Airbyte the data integration possibilities are endless, and we look forward to seeing you make use of it! We invite you to join the conversation on our community Slack Channel, to participate in discussions on Airbyte’s discourse, or to sign up for our newsletter. You may also be interested in Airbyte tutorials and Airbyte’s blog!

What should you do next?

Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:

flag icon
Easily address your data movement needs with Airbyte Cloud
Take the first step towards extensible data movement infrastructure that will give a ton of time back to your data team. 
Get started with Airbyte for free
high five icon
Talk to a data infrastructure expert
Get a free consultation with an Airbyte expert to significantly improve your data movement infrastructure. 
Talk to sales
stars sparkling
Improve your data infrastructure knowledge
Subscribe to our monthly newsletter and get the community’s new enlightening content along with Airbyte’s progress in their mission to solve data integration once and for all.
Subscribe to newsletter

Frequently Asked Questions

What data can you extract from Azure Blob Storage?

Azure Blob Storage's API provides access to various types of data, including:
1. Unstructured data: This includes any type of data that does not have a predefined data model or structure, such as text, images, videos, and audio files.
2. Structured data: This includes data that has a predefined data model or structure, such as tables, columns, and rows.
3. Semi-structured data: This includes data that has some structure, but not enough to fit into a traditional relational database, such as JSON, XML, and CSV files.
4. Metadata: This includes information about the data stored in Azure Blob Storage, such as file size, creation date, and last modified date.
5. Access control data: This includes information about who has access to the data stored in Azure Blob Storage and what level of access they have.
6. Logging data: This includes information about the activities performed on the data stored in Azure Blob Storage, such as read and write operations, and access attempts.Overall, Azure Blob Storage's API provides access to a wide range of data types, making it a versatile and flexible storage solution for various types of applications and use cases.

What data can you transfer to BigQuery?

You can transfer a wide variety of data to BigQuery. This usually includes structured, semi-structured, and unstructured data like transaction records, log files, JSON data, CSV files, and more, allowing robust, scalable data integration and analysis.

What are top ETL tools to transfer data from Azure Blob Storage to BigQuery?

The most prominent ETL tools to transfer data from Azure Blob Storage to BigQuery include:

  • Airbyte
  • Fivetran
  • Stitch
  • Matillion
  • Talend Data Integration

These tools help in extracting data from Azure Blob Storage and various sources (APIs, databases, and more), transforming it efficiently, and loading it into BigQuery and other databases, data warehouses and data lakes, enhancing data management capabilities.