Skip to main content

Local CSV

danger

This destination is meant to be used on a local workstation and won't work on Kubernetes

Overview​

This destination writes data to a directory on the local filesystem on the host running Airbyte. By default, data is written to /tmp/airbyte_local. To change this location, modify the LOCAL_ROOT environment variable for Airbyte.

caution

Please make sure that Docker Desktop has access to /tmp (and /private on a MacOS, as /tmp has a symlink that points to /private. It will not work otherwise). You allow it with "File sharing" in Settings -> Resources -> File sharing -> add the one or two above folder and hit the "Apply & restart" button.

Sync Overview​

Output schema​

Each stream will be output into its own file. Each file will contain 3 columns:

  • _airbyte_ab_id: a uuid assigned by Airbyte to each event that is processed.
  • _airbyte_emitted_at: a timestamp representing when the event was pulled from the data source.
  • _airbyte_data: a json blob representing with the event data.

Performance considerations​

This integration will be constrained by the speed at which your filesystem accepts writes.

Supported sync modes​

Sync modeSupported?
Full Refresh - OverwriteYes
Full Refresh - AppendYes
Full Refresh - Overwrite + DedupedNo
Incremental Sync - AppendYes
Incremental Sync - Append + DedupedNo

Getting Started​

The destination_path will always start with /local whether it is specified by the user or not. Any directory nesting within local will be mapped onto the local mount.

By default, the LOCAL_ROOT env variable in the .env file is set /tmp/airbyte_local.

The local mount is mounted by Docker onto LOCAL_ROOT. This means the /local is substituted by /tmp/airbyte_local by default.

Example:​

  • If destination_path is set to /local/cars/models
  • the local mount is using the /tmp/airbyte_local default
  • then all data will be written to /tmp/airbyte_local/cars/models directory.

Access Replicated Data Files​

If your Airbyte instance is running on the same computer that you are navigating with, you can open your browser and enter file:///tmp/airbyte_local to look at the replicated data locally. If the first approach fails or if your Airbyte instance is running on a remote server, follow the following steps to access the replicated files:

  1. Access the scheduler container using docker exec -it airbyte-server bash
  2. Navigate to the default local mount using cd /tmp/airbyte_local
  3. Navigate to the replicated file directory you specified when you created the destination, using cd /{destination_path}
  4. List files containing the replicated data using ls
  5. Execute cat {filename} to display the data in a particular file

You can also copy the output file to your host machine, the following command will copy the file to the current working directory you are using:

docker cp airbyte-server:/tmp/airbyte_local/{destination_path}/{filename}.csv .

Note: If you are running Airbyte on Windows with Docker backed by WSL2, you have to use similar step as above or refer to this link for an alternative approach.

Namespace support​

This destination does not support namespaces.

Reference​

Config fields reference

Field
Type
Property name
string
destination_path
object
delimiter_type

Changelog​

Expand to review
VersionDatePull RequestSubject
1.0.22025-03-2155906Upgrade to airbyte/java-connector-base:2.0.1 for M4 compatibility.
1.0.12024-12-1849864Use a base image: airbyte/java-connector-base:1.0.0
1.0.02022-12-2017998Breaking changes: non backwards compatible. Adds delimiter dropdown.
0.2.102022-06-2013932Merging published connector changes
0.2.92022-02-1410256Add ExitOnOutOfMemoryError to java connectors and bump versions
0.2.82021-07-213555Checkpointing: Partial Success in BufferedStreamConsumer (Destination)
0.2.72021-06-093973add AIRBYTE_ENTRYPOINT for kubernetes support
0.2.62021-05-253290Checkpointing: Worker use destination (instead of source) for state
0.2.52021-05-103327don't split lines on LSEP unicode characters when reading lines in destinations
0.2.42021-05-103289bump all destination versions to support outputting messages
0.2.32021-03-312668Add SupportedDestinationSyncModes to destination specs objects
0.2.22021-03-192460Destinations supports destination sync mode
0.2.02021-03-092238Upgrade all connectors (0.2.0) so protocol allows future / unknown properties
0.1.82021-01-291882Local File Destinations UX change with destination paths
0.1.72021-01-201737Rename destination tables
0.1.62021-01-191708Add metadata prefix to destination internal columns
0.1.52020-12-121294Incremental CSV destination
0.1.42020-11-301038Change jdbc sources to discover more than standard schemas
0.1.32020-11-201021Incremental Docs and Data Model Update
0.1.22020-11-18998Adding incremental to the data model
0.1.12020-11-10895bump versions: all destinations and source exchange rate
0.1.02020-10-21676Integrations Reorganization: Connectors