elastic/elasticsearch-hadoop

:elephant: Elasticsearch real-time search and analytics natively integrated with Hadoop

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 43 minutes ago
Added to GitGenius on April 7th, 2021
Created on March 11th, 2013
Open Issues & Pull Requests: 137 (+0)
Number of forks: 995
Total Stargazers: 1,971 (+0)
Total Subscribers: 466 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.0 days
Mean response time: 242.6 days
90th percentile: 813.5 days
Tracked items: 25

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 80% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 29
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 720 days
Stale 30+ days: 28
Stale 90+ days: 24

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • :Serialization (3)
  • >docs (3)
  • bug (3)
  • doc (3)
  • :Core (2)
  • :Project-Meta (1)
  • :Spark (1)
  • enhancement (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Elasticsearch Hadoop is a Java-based integration library that enables real-time search and analytics capabilities from Elasticsearch to work natively within Hadoop ecosystems. The project provides native integration across multiple big data processing frameworks including Apache Hadoop MapReduce, Apache Hive, and Apache Spark, allowing users to read from and write to Elasticsearch clusters directly from their data processing jobs.

The library is designed with a focus on minimal dependencies and ease of deployment. It ships as a small, self-contained jar file of approximately 300 kilobytes with no external dependencies, requiring only network access to an Elasticsearch cluster via REST API. Users can add the jar to their job classpath through various methods including bundling, DistributedCache, or manual cluster provisioning. The project supports Hadoop 2.x and 3.x on YARN, Spark versions 3.0 through 3.4 with Scala 2.12 and 2.13 support depending on the Spark version, and maintains backward compatibility with older Elasticsearch versions, though matching version numbers between ES-Hadoop and Elasticsearch is recommended.

For MapReduce environments, the library provides dedicated InputFormat and OutputFormat classes named EsInputFormat and EsOutputFormat that handle reading and writing operations at the low level. For Apache Hive users, ES-Hadoop offers a storage handler that allows definition of external tables backed by Elasticsearch indices, with field mapping to JSON for communication with Elasticsearch. Hive users can read from and write to Elasticsearch using standard SQL-like syntax with configuration through TBLPROPERTIES.

Apache Spark integration is particularly comprehensive, providing native Java and Scala support through dedicated RDD classes for reading and methods for writing on any RDD. The library also supports Spark SQL, allowing users to work with Elasticsearch data through SQL queries. Configuration across all frameworks uses properties prefixed with "es", with a reserved "es.internal" namespace for library use.

Documentation labels, serialization issues, and bug reports represent the most active issue categories. The codebase is built using Gradle and requires JVM 8 or higher for compilation. The project is released under Apache License 2.0 and maintains connections with other Elastic projects including the main Elasticsearch repository.