

Building your pipeline or Using Airbyte
Airbyte is the only open source solution empowering data teams to meet all their growing custom business demands in the new AI era.
- Inconsistent and inaccurate data
- Laborious and expensive
- Brittle and inflexible
- Reliable and accurate
- Extensible and scalable for all your needs
- Deployed and governed your way
Start syncing with Airbyte in 3 easy steps within 10 minutes



Take a virtual tour
Demo video of Airbyte Cloud
Demo video of AI Connector Builder
What sets Airbyte Apart
Modern GenAI Workflows
Move Large Volumes, Fast
An Extensible Open-Source Standard
Full Control & Security
Fully Featured & Integrated
Enterprise Support with SLAs
What our users say


"The intake layer of Datadog’s self-serve analytics platform is largely built on Airbyte.Airbyte’s ease of use and extensibility allowed any team in the company to push their data into the platform - without assistance from the data team!"


“Airbyte helped us accelerate our progress by years, compared to our competitors. We don’t need to worry about connectors and focus on creating value for our users instead of building infrastructure. That’s priceless. The time and energy saved allows us to disrupt and grow faster.”


“We chose Airbyte for its ease of use, its pricing scalability and its absence of vendor lock-in. Having a lean team makes them our top criteria. The value of being able to scale and execute at a high level by maximizing resources is immense”
1. Log in to your AWS Management Console.
2. Navigate to the S3 service.
3. Locate the bucket containing the data you want to move.
4. Ensure that the data is in a format that BigQuery supports, such as CSV, JSON, Avro, or Parquet. If it's not, you'll need to convert it to a supported format.
1. Generate a pre-signed URL for the S3 object(s) if you want to download them without making them public. Use AWS CLI or SDKs to generate the URL:
```
aws s3 presign s3://your-bucket-name/your-object-key --expires-in 3600
```
2. Download the data from S3 to a local machine or a compute instance if you need to perform additional operations on the data before moving it to BigQuery.
3. Alternatively, you can directly use the S3 object URL in the next steps if you have the necessary permissions set up.
1. Log in to your Google Cloud Platform Console.
2. Create a new project or select an existing one where you want to import the data.
3. Enable the BigQuery API for your project if it's not already enabled.
4. Create a BigQuery dataset where you will store your imported data:
- Navigate to BigQuery.
- Click on your project name.
- Click "Create dataset" and fill in the necessary details.
1. Install and initialize the Google Cloud SDK on the machine where you have downloaded the S3 data.
2. Authenticate with Google Cloud:
```
gcloud auth login
```
3. Create a Google Cloud Storage bucket where you will temporarily store the data:
```
gsutil mb gs://your-gcs-bucket-name
```
4. Upload the data from your local machine or compute instance to GCS:
```
gsutil cp /path/to/your/data/file gs://your-gcs-bucket-name
```
1. Navigate to the BigQuery console in your Google Cloud Platform.
2. Select your dataset and click on "Create table".
3. In the Create table form, set the following options:
- Source: Choose "Google Cloud Storage" and input the GCS URI of your file (e.g., `gs://your-gcs-bucket-name/your-file-name`).
- File format: Select the appropriate format of your data (CSV, JSON, Avro, or Parquet).
- Table name: Specify the name of the table you want to create.
- Table type: Choose "Native table".
4. Configure the schema: You can either manually specify the schema or let BigQuery auto-detect it if your data format supports it.
5. Advanced options: Set other options as needed, such as partitioning and clustering.
6. Click on "Create table".
1. After the table is created, you can run a simple query to verify that the data has been imported correctly:
```
SELECT * FROM your_dataset.your_table LIMIT 10;
```
2. Inspect the results to ensure that the data looks as expected.
1. Delete the temporary files from GCS to avoid incurring storage costs:
```
gsutil rm gs://your-gcs-bucket-name/your-file-name
```
2. Optionally, delete the GCS bucket if you created it solely for this task:
```
gsutil rb gs://your-gcs-bucket-name
```
Additional Notes
- Ensure that you have the necessary permissions in both AWS and GCP to perform these operations.
- Consider automating this process with scripts if you need to repeat it periodically.
- Monitor the costs associated with data transfer and storage in both AWS and GCP.
- If you're dealing with large datasets, consider using Google Cloud's `bq` command-line tool's `load` command for more efficient data loading.
By following these steps, you should be able to move data from Amazon S3 to Google BigQuery without using third-party connectors or integrations. Remember to handle your data securely and comply with any data governance policies your organization may have.
FAQs
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.
Amazon S3 (Simple Storage Service) is a cloud-based object storage service that provides developers and IT teams with secure, durable, and scalable storage for their data. It allows users to store and retrieve any amount of data from anywhere on the web, making it easy to build and scale applications, backup and archive data, and analyze data. S3 is designed to provide high availability and durability, with data automatically replicated across multiple availability zones within a region. It also offers a range of features such as versioning, lifecycle policies, and access control to help users manage their data effectively.
Amazon S3's API provides access to a wide range of data types, including:
1. Object data: This includes the actual files stored in S3 buckets, such as images, videos, documents, and other types of files.
2. Metadata: S3 stores metadata about each object, including information such as the object's size, creation date, and last modified date.
3. Access control data: S3 provides access control mechanisms to restrict access to objects in a bucket. The API provides access to information about access control policies and permissions.
4. Bucket data: S3 buckets are containers for objects. The API provides access to information about buckets, such as their names, creation dates, and region.
5. Logging data: S3 can log access requests to objects in a bucket. The API provides access to these logs, which can be used for auditing and compliance purposes.
6. Inventory data: S3 can generate inventory reports that provide information about the objects stored in a bucket. The API provides access to these reports.
7. Metrics data: S3 can generate metrics about the usage of a bucket, such as the number of requests and the amount of data transferred. The API provides access to these metrics.
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.
What should you do next?
Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey: