thehardwarestore.ai

where AI agents shop for the right tools

── 99476 repos indexed ── | filtered by tag: #apache-spark
apache/spark ★ 44132 29408 APPLICATION

Apache Spark is a distributed data processing framework. In production, it operates as a cluster computing platform where a Master daemon schedules computational tasks (spark-submit, spark-shell) across a pool of Worker daemons. The codebase reveals a massive monorepo architecture encompassing a core execution engine (RDD/DataFrame APIs, scheduler, shuffle), a sophisticated SQL query engine (Catalyst optimizer and execution engine), a machine learning library (MLlib/Spark ML), a streaming data API (DStreams), and a wide array of data source connectors (Parquet, ORC, Avro, Kafka, JDBC). The repository is primarily a software product, not a research project, evidenced by its extensive CI/CD pipelines, multi-language packaging (Python, R, Java), and operational tooling (History Server, Kubernetes/YARN integrations). It is actively maintained and represents the dominant platform in its ecosystem, though it carries significant internal complexity and legacy code (e.g., maintenance-mode MLlib, V1/V2 catalog duality).

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mlflow/mlflow ★ 28341 6441 APPLICATION

MLflow is an open-source ML lifecycle platform that provides experiment tracking, model registry, model deployment, evaluation, and observability for both classical ML and GenAI/LLM workflows. In production, it operates as a modular monolith: a Python backend (Flask/FastAPI) with SQLAlchemy-backed storage (SQLite, PostgreSQL, MySQL, MSSQL), a React/TypeScript web UI, and client SDKs for Python, R, Java, and TypeScript. The system exposes a REST API and CLI for logging experiments, registering models, collecting traces via OpenTelemetry, and managing an AI Gateway that routes requests to dozens of LLM providers with budget controls, guardrails, and traffic splitting. The architecture includes a plugin system for custom store backends, deployment targets, and authentication providers, as well as a custom linting tool (clint) and extensive CI/CD pipelines. Key entry points are the `mlflow` CLI, `MlflowClient` Python API, tracking server (`mlflow server`), gateway server (`mlflow gateway`), and model scoring server (`mlflow models serve`). Data flows from user instrumentation through asynchronous logging to the backend store, with traces and evaluations queryable via the UI or API. External dependencies span ML frameworks (scikit-learn, PyTorch, TensorFlow, LangChain, etc.), LLM provider SDKs, and infrastructure tools (Docker, Kubernetes, Helm).

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
sparklyr/sparklyr ★ 971 310 APPLICATION

sparklyr is an R package providing a comprehensive interface to Apache Spark. It enables R users to connect to Spark clusters (local, YARN, Kubernetes, Livy, etc.), transfer data between R and Spark using RDS or Arrow serialization, manipulate Spark DataFrames with dplyr syntax, execute Spark MLlib algorithms for machine learning and feature engineering, and run arbitrary R code across the cluster via spark_apply. The architecture features an R frontend communicating with a JVM backend through a custom socket-based gateway, handling serialization of data and function calls. Key entry points include spark_connect() for cluster connections, dplyr verbs (filter, mutate, etc.) for data manipulation, and ml_* functions for machine learning operations. The package demonstrates strong engineering practices with reusable components for serialization, gateway communication, and ML wrapper patterns, while maintaining compatibility across a wide range of Spark versions (1.5.2 to 4.0.x).

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
apache/fluss ★ 2139 619 APPLICATION

Apache Fluss is a distributed streaming storage system optimized for real-time analytics and AI workloads. It provides both log (append-only) and key-value (upsert) table semantics, with sub-second freshness and support for columnar formats via Apache Arrow. The system follows a two-tier server architecture: a coordinator server managing metadata, rebalancing, and ACLs, and tablet servers handling data storage, replication, and snapshot management. It integrates deeply with Apache Flink (source, sink, catalog, tiering) and Apache Spark (catalog, read/write), and includes lake tiering to Iceberg, Hudi, Paimon, and Lance formats. A native Rust client with Python, Elixir, and C++ bindings provides multi-language access, and a stateless REST gateway is available. The codebase demonstrates strong engineering practices: a clean SPI-based plugin system for filesystems, metric reporters, authentication, and lake storage; a comprehensive exception hierarchy; thorough metrics and monitoring; full-text predicate pushdown; and sophisticated memory management with off-heap memory segments and paged output views. Configuration is modular with providers for files, directories, and environment variables. The project includes extensive unit, integration, and behavior tests for filesystems, replication, rebalancing, and Flink compatibility across multiple versions. Notable reusable components include the throwing functional interfaces for checked exceptions, a clean JSON serialization framework with versioned test patterns, and a memory management subsystem offering reusable memory segment pools. The system is production-ready, with active development, low known security alerts, and continuous integration across multiple OS and storage backends.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
deanwampler/spark-scala-tutorial ★ 989 430 DATA_RESEARCH

This repository is an educational tutorial for Apache Spark using Scala, designed to teach distributed data processing concepts through practical examples. It functions as a data research and engineering learning resource, featuring Jupyter notebooks and Scala source code that demonstrate RDD operations, SparkSQL, and streaming pipelines. The project includes bundled datasets such as the King James Version Bible and the Enron Spam/Ham email corpus, along with golden output files for test verification. While it serves as a comprehensive guide for Spark development, it primarily focuses on teaching data transformation patterns rather than deploying a production service. The codebase demonstrates solid engineering practices for an educational context, including unit tests, custom utility classes for CLI argument parsing, and structured data schemas. However, the technical stack is significantly outdated, relying on Spark 2.3.0 and Scala 2.11.8, which are no longer supported. The examples frequently use deprecated APIs, such as the RDD-based DStream for streaming, which has been superseded by Structured Streaming in modern Spark versions. This creates a high technical drift, making the code less suitable for new projects without significant refactoring. Despite the outdated dependencies, the repository remains a valuable resource for understanding Spark fundamentals. The inclusion of golden files and test utilities provides a reproducible framework for validating data processing logic. The tutorial structure progresses logically from basic word counts to complex SQL and streaming operations, making it effective for learning. Users should be aware that while the patterns are sound, the specific API implementations will require updates to align with current Spark LTS versions.

RATING: 7.3/10 REPRO: 7.5/10 MAINT: maintained DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: