# data transformation

Published articles for data transformation.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Using Polars in unison with Databricks Unity Catalog

DevFeed: [Using Polars in unison with Databricks Unity Catalog](<https://devfeed.tech/articles/using-polars-in-unison-with-databricks-unity-catalog-28613.md>)

Original publisher: [Read original article](<https://www.marvelousmlops.io/p/using-polars-in-unison-with-databricks>)

Author: Maria Vechtomova

Published: 2025-05-24T13:57:40Z

Content type: tutorial

Language: en

Sources: [MarvelousMLOps](<https://devfeed.tech/sources/marvelousmlops.md>)

Topics: [databricks](<https://devfeed.tech/topics/databricks.md>), [data transformation](<https://devfeed.tech/topics/data-transformation.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [data-transformation](<https://devfeed.tech/tags/data-transformation.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [performance](<https://devfeed.tech/tags/performance.md>), [spark](<https://devfeed.tech/tags/spark.md>)

### AI overview

This tutorial explains how to read data from Databricks Unity Catalog directly into Polars dataframes using PyArrow and Deltalake, avoiding an intermediate PySpark dataframe. It also presents a TPC-H benchmark comparing Polars with PySpark or Spark SQL for some data-transformation workloads, with reported potential performance improvements and cost savings for certain data sizes.

### Source excerpt

The advent of Polars is not surprising given the performance it delivers.

## Concise Link Descriptions in netlab Topologies

DevFeed: [Concise Link Descriptions in netlab Topologies](<https://devfeed.tech/articles/concise-link-descriptions-in-netlab-topologies-11125.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2025/01/netlab-link-definitions/>)

Published: 2025-01-20T07:22:00Z

Content type: tutorial

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Network](<https://devfeed.tech/topics/network.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>)

Tags: [data-transformation](<https://devfeed.tech/tags/data-transformation.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [netlab](<https://devfeed.tech/tags/netlab.md>), [network](<https://devfeed.tech/tags/network.md>), [ospf](<https://devfeed.tech/tags/ospf.md>), [router](<https://devfeed.tech/tags/router.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

This tutorial explains how netlab represents links between lab devices and the shorthand formats available for defining them in YAML. It covers hyphen-separated node strings, node lists, dictionary-based link definitions, link attributes, and interface parameters, while showing that all formats are transformed into a common interfaces-based data model.

### Source excerpt

One of the goals we're always trying to achieve when developing netlab features is to make the lab topologies as concise as possible1. Among other things, netlab supports numerous ways of describing links between lab devices, allowing you to be as succinct as possible. A bit of a background first: In the end, netlab collects all links in the links list before starting the data transformation process. Every entry in the links list is a dictionary. That dictionary can contain link attributes and must contain a list of interfaces connected to the link. Every interface must have a node (specifying the lab device it belongs to) and could contain additional interface attributes. Read more ...

## A behind-the-scenes look at building interactive analysis capabilities in Benchling

DevFeed: [A behind-the-scenes look at building interactive analysis capabilities in Benchling](<https://devfeed.tech/articles/a-behind-the-scenes-look-at-building-interactive-analysis-capabilities-in-benchling-20123.md>)

Original publisher: [Read original article](<https://benchling.engineering/a-behind-the-scenes-look-at-building-interactive-analysis-capabilities-in-benchling-fa6ec1bab1e5?source=rss----3d4aa8fb07ea---4>)

Author: Wonja Fairbrother

Published: 2024-06-11T13:01:25Z

Content type: article

Language: en

Sources: [Benchling](<https://devfeed.tech/sources/benchling.md>)

Topics: [data-processing](<https://devfeed.tech/topics/data-processing.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Amazon EKS](<https://devfeed.tech/topics/amazon-eks.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [API](<https://devfeed.tech/topics/api.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [apache-arrow](<https://devfeed.tech/tags/apache-arrow.md>), [apache-parquet](<https://devfeed.tech/tags/apache-parquet.md>), [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [backend](<https://devfeed.tech/tags/backend.md>), [data](<https://devfeed.tech/tags/data.md>), [data-analysis](<https://devfeed.tech/tags/data-analysis.md>), [data-transformation](<https://devfeed.tech/tags/data-transformation.md>), [data-visualization](<https://devfeed.tech/tags/data-visualization.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [json](<https://devfeed.tech/tags/json.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [s3](<https://devfeed.tech/tags/s3.md>), [storage](<https://devfeed.tech/tags/storage.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

This article explains the architecture and design decisions behind Benchling's Interactive Analysis capabilities. The system lets scientists select data from multiple sources, transform and analyze it in real time, and visualize results within Benchling. Its architecture uses the Benchling web application, a stateless service running on EKS, temporary S3 storage, and a JSON-based transformation API.

### Source excerpt

Authors: Wonja Fairbrother and Eli Levine Science is iterative. To design the next experiment, scientists need to analyze the results of previous ones. Interactive Analysis in Benchling allows scientists to perform real-time data transformation, visualization, and analysis without having to transfer it into other systems. In this post we will describe the architecture behind interactive analysis capabilities in Benchling and give a peek into the decision journey we took along the way¹. Interactive Analysis allows scientists to: 1. Select data from many sources: Benchling entity and results data Instrument data Notebook tables Data upload via both API and UI 2. Transform, visualize, and analyze data in real time, without leaving Benchling: Data transformations: filtering, aggregations, window functions, etc. Visualizations: line chart, bar chart, scatter plot, etc. Scientific analysis methods: IC50 and various curve fitting functions Overall architecture The architecture backing Interactive Analysis consists of: The Benchling web application An auto-scaling stateless internal service running on EKS that performs the transformations Temporary S3 storage locations for input and output data, shared between the web app and the service The frontend of the application is responsible for taking in input datasets and transformation configurations from users. The backend of the web application collects all the input data from the appropriate sources, serializes and uploads the data to S3, and sends a synchronous transformation request to the service. The service's API consists of one main endpoint that takes in a JSON payload of transformation parameters. The service can accept a single transformation, or a list of many transformations to perform. In this endpoint, the service downloads and deserializes the input data, performs the transformation with an analysis engine, and serializes and uploads the resulting data to S3. Each request spins up its own self-contained in-memor

## Testing Network Automation Data Transformation

DevFeed: [Testing Network Automation Data Transformation](<https://devfeed.tech/articles/testing-network-automation-data-transformation-11009.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2024/05/network-automation-testing/>)

Published: 2024-05-20T06:08:00Z

Content type: tutorial

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Network](<https://devfeed.tech/topics/network.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [Python](<https://devfeed.tech/topics/python.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [bug](<https://devfeed.tech/tags/bug.md>), [data-transformation](<https://devfeed.tech/tags/data-transformation.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [netlab](<https://devfeed.tech/tags/netlab.md>), [network-automation](<https://devfeed.tech/tags/network-automation.md>), [python](<https://devfeed.tech/tags/python.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [testing](<https://devfeed.tech/tags/testing.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

The article explains how netlab tests the transformation of high-level network automation data into device data models. It describes pre-commit and pre-push checks, GitHub Actions, YAML and Python validation, transformation tests, error-handling tests, and regression tests created from fixed bugs.

### Source excerpt

Every complex enough network automation solution has to introduce a high-level (user-manageable) data model that is eventually transformed into a low-level (device) data model. High-level overview of the process The transformation code (business logic) is one of the most complex pieces of a network automation solution, and there's only one way to ensure it works properly: you test the heck out of it ;) Let me show you how we solved that challenge in netlab. Read more ...

## Swift Result Builders: Creating Custom DSLs for Binary Formatted Data

DevFeed: [Swift Result Builders: Creating Custom DSLs for Binary Formatted Data](<https://devfeed.tech/articles/swift-result-builders-creating-custom-dsls-for-binary-formatted-data-23995.md>)

Original publisher: [Read original article](<https://quickbirdstudios.com/blog/swift-resultbuilder-data/>)

Author: Paul Kraft

Published: 2023-08-03T14:22:38Z

Content type: tutorial

Language: en

Sources: [QuickBird Studios Blog](<https://devfeed.tech/sources/quickbird-studios-blog.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Declarative programming](<https://devfeed.tech/topics/declarative-programming.md>), [data](<https://devfeed.tech/topics/data.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [Internet](<https://devfeed.tech/topics/internet.md>), [P2P](<https://devfeed.tech/topics/p2p.md>)

Tags: [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [communication](<https://devfeed.tech/tags/communication.md>), [data-transformation](<https://devfeed.tech/tags/data-transformation.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [internet](<https://devfeed.tech/tags/internet.md>), [ios](<https://devfeed.tech/tags/ios.md>), [post](<https://devfeed.tech/tags/post.md>), [programming](<https://devfeed.tech/tags/programming.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This tutorial explains Swift result builders and declarative programming, then applies custom result builders to encoding binary-formatted data. It also introduces DataKit, a Swift library for declaratively specifying binary message formats for encoding and decoding.

### Source excerpt

SwiftUI has revolutionized how we build UI, introducing a more intuitive, declarative approach. Instead of prescribing a series of steps to reach an end goal, we describe the outcome and let the program determine the path The post Swift Result Builders: Creating Custom DSLs for Binary Formatted Data appeared first on QuickBird Studios.

## Interfaces 101 : Parsing Command Flags Ep. 9

DevFeed: [Interfaces 101 : Parsing Command Flags Ep. 9](<https://devfeed.tech/articles/interfaces-101-parsing-command-flags-ep-9-22219.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/03/interfaces-101-parsing-command-flags-ep-9.html>)

Published: 2023-03-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Code](<https://devfeed.tech/topics/code.md>), [client](<https://devfeed.tech/topics/client.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [data-transformation](<https://devfeed.tech/tags/data-transformation.md>), [flag](<https://devfeed.tech/tags/flag.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [learn](<https://devfeed.tech/tags/learn.md>), [unmarshalling](<https://devfeed.tech/tags/unmarshalling.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

A video tutorial explains how to decode a command-line flag representing an address into a user-defined Go struct. It covers the interface methods involved and validates the supplied flag value.

### Source excerpt

Introduction In episode 8, Miki developed a Go HTTP client that had a method to check the health of a theoretical API. The method would construct the request URL and return an error based on the response code received from the server. Miki then created a type that would mock Go's http.RoundTripper interface and replace his client's transport with said type to test it. To improve the efficacy, Miki's stub will simulate an erroneous response to see if his client's Health method is working as intended.

## Designing Go Interfaces Around Behavior and Concrete Data

DevFeed: [Designing Go Interfaces Around Behavior and Concrete Data](<https://devfeed.tech/articles/interface-values-are-valueless-22133.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2018/03/interface-values-are-valueless.html>)

Published: 2018-03-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [data](<https://devfeed.tech/topics/data.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [data-transformation](<https://devfeed.tech/tags/data-transformation.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [performance](<https://devfeed.tech/tags/performance.md>), [programming](<https://devfeed.tech/tags/programming.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This article presents a data-oriented approach to designing interfaces in Go. It argues that developers should focus on interface behavior and its relationship with concrete data rather than implementation details or broad abstraction layers.

### Source excerpt

Introduction I've been seeing a lot of question about interfaces lately on Slack. Most of the time the answers are technical and focus on implementation details. Implementation is important to help with debugging, but implementation doesn't help with design. When it comes to designing code with interfaces, behavior has to be the main focus. In this post, I hope to provide a different way to think about interfaces and how to design code with them. I want you to stop focusing on the implementation details and focus on the relationship interfaces have with concrete data.