

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”
If you haven't already, install DuckDB and the AWS Command Line Interface (CLI) on your local machine.
DuckDB:
- You can download the DuckDB binary or use a package manager to install it. For Python, you can install it using pip:
```shell
pip install duckdb
```
AWS CLI:
- Follow the instructions on the AWS website to install the AWS CLI for your operating system.
- Configure the AWS CLI by running `aws configure` and entering your AWS Access Key, Secret Key, and default region.
Use the AWS CLI to download the data from S3 to your local system. Replace `s3://your-bucket-name/your-data-file` with the path to your S3 data file.
```shell
aws s3 cp s3://your-bucket-name/your-data-file /local/path/to/your-data-file
```
Before importing the data into DuckDB, ensure that it's in a format compatible with DuckDB. Common formats include CSV, Parquet, and JSON. If necessary, convert your data to one of these formats using a tool like `pandas` in Python or a command-line utility like `awk` or `sed`.
Start the DuckDB command-line interface or use the DuckDB client in your programming language of choice. The following example uses the DuckDB CLI.
```shell
duckdb
```
Once in the DuckDB CLI, you can create a database and table to store your data:
```sql
CREATE DATABASE mydatabase;
USE mydatabase;
CREATE TABLE mytable (...); -- Replace with the appropriate table schema
```
Now, you can import the data into DuckDB. If your data is in CSV format, you can use the following command:
```sql
COPY mytable FROM '/local/path/to/your-data-file' (FORMAT CSV, HEADER);
```
For other formats like Parquet or JSON, you can adjust the `FORMAT` parameter accordingly.
After importing the data, you can run some queries to ensure that the data has been imported correctly:
```sql
SELECT * FROM mytable LIMIT 10;
```
Once you've verified that the data is correctly imported into DuckDB, you can remove the local copy of the data file if it's no longer needed:
```shell
rm /local/path/to/your-data-file
```
Now that your data is in DuckDB, you can use it for your analysis or application. DuckDB is designed for analytical queries, so you can start running your aggregation, join, and analytical queries on the data.
```sql
SELECT COUNT(*), some_column FROM mytable GROUP BY some_column;
```
Tips:
- Always validate the data schema and ensure that it matches the schema defined in your DuckDB table.
- If you're dealing with large datasets, consider compressing the file before downloading it from S3 to save bandwidth and time.
- Make sure you have enough storage space on your local machine for the downloaded data.
- If you're automating this process, you can write a script that encapsulates these steps and handles errors or retries as needed.
By following these steps, you can move data from S3 to DuckDB without using third-party connectors or integrations. Remember to handle data securely and comply with data governance policies applicable to your organization or project.
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: