awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
palantir avatar

palantir/pyspark-style-guide

0
View on GitHub↗
1,249 stars·167 forks·Python·MIT·6 views

Pyspark Style Guide

The project establishes consistent naming conventions, readability standards, and structural best practices across large PySpark data transformation codebases. It provides architectural patterns and performance recommendations designed to prevent common data transformation pitfalls in distributed systems, alongside recommendations for organizing code logic and structuring expressions within large-scale data processing codebases.

The guidelines cover performance optimization through the replacement of custom user-defined functions with native operations, big data join safety by validating key uniqueness and declaring explicit join types, and data processing practices such as explicit schema enforcement, deterministic window framing, and safe handling of missing values. Additional focus areas include expression chaining decomposition and rule-based syntax analysis to flag non-idiomatic patterns.

Features

  • Code Style Guides - Establishes consistent naming conventions, readability standards, and structural best practices across large data transformation codebases.
  • Explicit Row Frame Configurations - Defines exact row or range frames for window operations to ensure predictable execution behavior.
  • Explicit Selection Boundary Schemas - Defines expected schemas at transform boundaries using explicit select operations rather than dropping columns later.
  • Early Selection Schema Contracts - Specifies expected input and output data structures early using explicit selection statements.
  • Cartesian Join Prevention - Validates key uniqueness and join types to prevent unintended Cartesian products and row explosions during distributed merges.
  • Null Value Handling - Handles missing values safely by utilizing null indicators instead of magic strings to preserve native validation.
  • Data Pipeline Optimizations - Improves execution throughput in distributed data processing pipelines by leveraging fast native operations.
  • Table Joining Operations - Manages table joins safely by verifying key uniqueness and resolving column name collisions beforehand.
  • User-Defined Functions - Replaces slow user-defined functions with native data operations to eliminate execution bottlenecks in distributed systems.
  • Native Performance Optimizations - Replaces slow custom procedural routines with built-in native operations to accelerate distributed data processing.
  • Deterministic Window Frame Bounds - Enforces explicit row and range boundaries on analytical window operations to ensure predictable distributed calculations.
  • Consistent Window Calculation Frames - Configures explicit row or range frames for window calculations to ensure consistent execution results across environments.
  • Transformation Boundary Schema Contracts - Enforces strict data structure contracts at transformation boundaries to clarify expectations for downstream processing.
  • Functional Declarative Patterning - Replaces imperative row loops with declarative functional compositions to optimize distributed execution performance.
  • Chaining Length Limits - Restricts nested operation lengths inside single statements to improve readability and encourage helper function extraction.
  • Empty String to Null Converters - Populates empty dataset columns with standard null values rather than sentinel strings to preserve semantic correctness.
  • Convention Rule AST Analyzers - Analyzes abstract syntax trees against defined coding conventions to flag non-idiomatic data frame operations.
  • SIMD Vectorised Kernels - Bypasses row-by-row interpreter bottlenecks by replacing custom procedural routines with vectorised native operations.
  • Engineering Best Practices - Provides architectural patterns and performance recommendations to prevent common data transformation pitfalls in distributed systems.
  • Python Coding Standards - Establishes coding standards for organizing logic, naming variables, and structuring expressions within Python data pipelines.

Star history

Star history chart for palantir/pyspark-style-guideStar history chart for palantir/pyspark-style-guide

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Curated searches featuring Pyspark Style Guide

Hand-picked collections where Pyspark Style Guide appears.
  • Coding style guides
  • Software engineering practices

Frequently asked questions

What does palantir/pyspark-style-guide do?

The project establishes consistent naming conventions, readability standards, and structural best practices across large PySpark data transformation codebases. It provides architectural patterns and performance recommendations designed to prevent common data transformation pitfalls in distributed systems, alongside recommendations for organizing code logic and structuring expressions within large-scale data processing codebases.

What are the main features of palantir/pyspark-style-guide?

The main features of palantir/pyspark-style-guide are: Code Style Guides, Explicit Row Frame Configurations, Explicit Selection Boundary Schemas, Early Selection Schema Contracts, Cartesian Join Prevention, Null Value Handling, Data Pipeline Optimizations, Table Joining Operations.

What are some open-source alternatives to palantir/pyspark-style-guide?

Open-source alternatives to palantir/pyspark-style-guide include: amontalenti/elements-of-python-style — This project is a comprehensive Python style guide and technical reference designed to promote the creation of clean,… rdatatable/data.table — This project is a high-performance tabular data processing framework for R, designed to handle massive datasets with… apache/pinot — Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It… kuzudb/kuzu — Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data… zakirullin/cognitive-load — This project is a collection of software engineering principles and architectural design patterns designed to minimize… kodecocodes/swift-style-guide — This project is a comprehensive set of standards for the Swift ecosystem, providing a code style guide, API design…

Open-source alternatives to Pyspark Style Guide

Similar open-source projects, ranked by how many features they share with Pyspark Style Guide.
  • amontalenti/elements-of-python-styleamontalenti avatar

    amontalenti/elements-of-python-style

    3,489View on GitHub↗

    This project is a comprehensive Python style guide and technical reference designed to promote the creation of clean, maintainable, and idiomatic code. It provides a set of opinionated guidelines and architectural patterns focusing on functional and declarative programming to reduce complexity and improve overall code quality. The guide establishes specific standards for naming conventions, module organization, and project layout. It emphasizes reducing object coupling by favoring modules and functions over deep class hierarchies and offers technical standards for writing docstrings and marku

    code-stylecodestyledocumentation
    View on GitHub↗3,489
  • rdatatable/data.tableRdatatable avatar

    Rdatatable/data.table

    3,894View on GitHub↗

    This project is a high-performance tabular data processing framework for R, designed to handle massive datasets with memory efficiency and speed. It provides an enhanced data structure that utilizes reference semantics and in-place modification to perform complex transformations without the overhead of unnecessary object copying. The library distinguishes itself through its low-level architectural optimizations, including multi-threaded parallel processing, radix-based sorting, and memory-mapped file parsing. By offloading critical data manipulation and aggregation routines to compiled C code

    R
    View on GitHub↗3,894
  • apache/pinotapache avatar

    apache/pinot

    6,098View on GitHub↗

    Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It functions as a real-time OLAP datastore, enabling interactive, user-facing analytics by ingesting and querying massive datasets from both streaming and batch sources. The system architecture relies on a centralized controller for cluster coordination and a distributed segment-based storage model to ensure horizontal scalability. The platform distinguishes itself through a hybrid ingestion pipeline that unifies real-time event streams and historical batch data into a single quer

    Java
    View on GitHub↗6,098
  • kuzudb/kuzukuzudb avatar

    kuzudb/kuzu

    3,965View on GitHub↗

    Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data management. It operates as a library within the host application process, utilizing a columnar-based storage architecture and just-in-time query compilation to execute complex graph traversals and pattern matching efficiently. By mapping database files directly into system memory, it ensures data durability and high-speed access while maintaining ACID-compliant transactional integrity. The engine distinguishes itself by integrating vector similarity search and full-text search di

    C++cypherdatabaseembeddable
    View on GitHub↗3,965
  • See all 30 alternatives to Pyspark Style Guide→