thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: #mapreduce
elastic/elasticsearch-hadoop ★ 1971 993 APPLICATION

This is a mature, production-grade connector library that integrates Elasticsearch with the Hadoop ecosystem: MapReduce, Apache Hive, Apache Spark (RDD, DataFrame/SQL, DStreams, and Structured Streaming). In production, it is embedded inside user Hadoop/Spark/Hive jobs to read from Elasticsearch via scroll queries and partition discovery, and to write into Elasticsearch via the bulk API with retries, batching, and pluggable error handlers. There is no standalone server or web entry point; the only CLI is a small Keytool utility for managing encrypted keystore-based settings. Architecturally, the library is modular. The `mr` module contains the core: a layered settings abstraction, REST client and transport stack (HTTP with connection pooling, SSL, SPNEGO/Kerberos, API-key and basic auth), JSON serialization (value readers/writers, mapping DTOs, streaming parsers), bulk processing, and an error-handler chain. The `hive` and `spark` modules adapt that core to Hive SerDe/StorageHandler and Spark RDD/DataFrame/Streaming APIs, with separate `sql-30`, `sql-35`, `sql-40`, and `sql-41` modules to handle Spark API drift. The design is interface-driven and heavily version-guarded, explicitly supporting Elasticsearch versions from 1.x through 9.x. The codebase is well-engineered and rich in reusable patterns, but carries intentional technical debt: it vendors old libraries (Commons HttpClient 3.0.1, Jackson 1.8.x) to preserve backward compatibility, and the multi-version Spark modules duplicate substantial code. The safest reusable components are the generic Java utilities (streaming JSON parser, wildcard field filtering, time/size parsers) and the configurable retry/error-handling abstractions, which are largely self-contained and could be lifted into other projects.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
donnemartin/system-design-primer ★ 371787 58626 APPLICATION

This repository is an educational reference and study guide for system design interviews. It is not a deployable application or data pipeline. It provides a structured index of system design topics, solution sketches for common design problems (e.g., pastebin, Twitter, web crawler), and Python code snippets illustrating key patterns like LRU caching, hash tables, BFS on social graphs, and MapReduce. The material is oriented toward preparing engineers for technical interviews, with back-of-the-envelope calculations, REST API designs, and scalability discussions. The code examples are minimal, self-contained, and demonstrate fundamental computer science patterns, but are not production-grade software. The repository also includes Anki flashcard decks for spaced repetition.

RATING: 7.6/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: