ADBC in practice: Building a Data Transfer CLI tool using Go, Apache Arrow and dbc
This video is made in partnership with Columnar, creator of the dbc cli tool that lets you easily manage your ADBC drivers as well as fantastic quick starts for ADBC. * dbc tool: https://docs.columnar.tech/dbc/ * ADBC agent skills: https://console.columnar.tech/agent-skills * columnar: https://columnar.tech/ I used to write a new Python script basically every time I needed to move data from one system to another. It worked, but it was annoying, brittle, and I kept reinventing the same “transfer” logic over and over. So in this video, I walk you through how I solved my own problem by building Fletch: a Go CLI powered by Apache Arrow ADBC, with dbc for driver management, and an interface that works well for both humans and AI agents. This is not a “here’s my product” video and it’s not a step-by-step tutorial on building the CLI from scratch. It’s me showing the thinking behind the build, the key decisions that made it click, and then demoing the workflow I wanted in the first place. What I cover: - The problem: constant one-off scripts + messy multi-hop transfers (storage, APIs, etc.) - Why ADBC + Arrow changed the game for me (direct connections + columnar buffers) - Why I picked Go for this particular tool (CLI ergonomics + fast iteration) - Why I used dbc as the driver installer/manager - The “agent-friendly CLI” idea: deterministic flags/commands + great help output - A quick Go + ADBC quickstart to understand the moving pieces - Demo: install the binary, list drivers, test a connection, run an interactive transfer - Demo: letting an agent run the exact transfer workflow end-to-end Video Links: * Substack article: https://open.substack.com/pub/thefulldatastack/p/building-my-first-data-tool-with?utm_campaign=post-expanded-share&utm_medium=web * Intro to ADBC Video: https://youtu.be/qjK4mb6sZ2E?si=nPG-M7iQ3NGE2r65 * Training an ML Model with ADBC: https://youtu.be/J6CawwGwdyk?si=M_o6FqJtYdSJGPxk Find me here: * My bespoke devrel company: https://www.earlysignal.tech/ * My LinkedIn: https://www.linkedin.com/in/hoytemerson/ * Substack: https://thefulldatastack.substack.com/?utm_campaign=profile_chips ### Timestamps 0:00 Why I built a data transfer CLI (no more one-off scripts) 0:23 Intro to ADBC and why it matters 3:05 The “cold start” pain of writing scripts for every transfer 5:45 Introducing Fletch (Go + ADBC + agent mode) 7:48 Columnar's dbc: driver installation and quickstart flow 9:10 Agent skills for dbc and ADBC 11:02 Apache Arrow as a modern data primitive 12:30 Feature requirements: drivers, dbc, TUI, flags, README 22:38 What makes a CLI “agent-friendly” (tokens, help flags, determinism) 26:01 Using `fletch help` and subcommands 26:42 Listing installed drivers 27:26 Testing a database connection 29:03 Interactive transfer demo (TUI) 32:34 Transfer result summary 33:00 Running the workflow with an agent (end-to-end automation) 35:09 Wrap-up