Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Apache Spark
  3. spark-nlp

spark-nlp

Apache-2.0Scala6.4.2

A state-of-the-art Natural Language Processing library built on Apache Spark, offering 100,000+ pretrained models and pipelines in 200+ languages.

Visit WebsiteGitHubGitHub
4.1k stars743 forks0 contributors

What is spark-nlp?

Spark NLP is a state-of-the-art Natural Language Processing library built on top of Apache Spark. It provides performant and accurate NLP annotations for machine learning pipelines that scale easily in distributed environments, solving the problem of applying advanced NLP tasks like named entity recognition, sentiment analysis, and text generation to large datasets. It offers over 100,000 pretrained pipelines and models in more than 200 languages.

Target Audience

Data engineers, data scientists, and ML engineers working with large-scale NLP workloads in distributed computing environments, particularly those already using Apache Spark for big data processing. It also targets enterprises needing production-ready, scalable NLP solutions across Python, R, and JVM ecosystems.

Value Proposition

Developers choose Spark NLP because it is the only open-source NLP library in production that offers state-of-the-art transformers like BERT, GPT, and Llama to both Python/R and JVM ecosystems at scale, with seamless integration into existing Apache Spark workflows. Its extensive model library, multi-framework import support, and cross-platform compatibility provide enterprise-grade NLP capabilities that are both performant and easy to deploy.

Overview

State of the Art Natural Language Processing

Use Cases

Best For

  • Processing large-scale text datasets with distributed NLP pipelines in Apache Spark environments.
  • Deploying state-of-the-art transformer models (like BERT, Llama-2, Whisper) in production across Python, Java, Scala, and Kotlin applications.
  • Implementing multilingual NLP tasks such as machine translation, named entity recognition, or sentiment analysis across 200+ languages.
  • Integrating models from various frameworks like TensorFlow, ONNX, OpenVINO, and Llama.cpp into unified Spark workflows.
  • Building enterprise NLP applications that require high performance and scalability on CPU, GPU, AArch64, or Apple Silicon architectures.
  • Conducting end-to-end NLP tasks including text preprocessing, classification, question answering, summarization, and text generation within a single library.

Not Ideal For

  • Real-time applications requiring low-latency inference, due to Spark's batch processing overhead.
  • Small-scale projects or prototypes where managing Apache Spark clusters is unnecessary complexity.
  • Teams exclusively using non-JVM languages like JavaScript or Go without integration plans.
  • Environments with limited computational resources where Spark's memory and setup demands are prohibitive.

Pros & Cons

Pros

Massive Pretrained Model Library

Offers over 100,000 pretrained pipelines and models in more than 200 languages, covering diverse NLP tasks without custom training.

Native Spark Scalability

Built directly on Apache Spark, enabling seamless distribution of NLP workflows across clusters for big data processing.

Multi-Framework Model Import

Supports importing models from TensorFlow, ONNX, OpenVINO, and Llama.cpp, providing flexibility in model sourcing and deployment.

Cross-Language API Support

Provides native APIs for Python, R, Java, Scala, and Kotlin, making it accessible across different tech stacks in enterprises.

Cons

Experimental Architecture Support

M1/M2 and AArch64 support is labeled as experimental in the README, with limited community backing and potential compatibility issues.

Complex Setup and Dependencies

Requires managing Java, Apache Spark, and library versions, which can be cumbersome for teams not already in the Spark ecosystem.

Batch-Oriented Performance Trade-off

Inherits Spark's batch processing nature, making it less suitable for real-time or streaming NLP compared to lighter libraries.

Frequently Asked Questions

Quick Stats

Stars4,146
Forks743
Contributors0
Open Issues17
Last commit1 day ago
CreatedSince 2017

Tags

#apache-spark#spark#transformer-models#machine-translation#entity-extraction#natural-language-processing#text-processing#lemmatizer#spell-checker#sentiment-analysis#jvm#named-entity-recognition#pyspark#machine-learning#distributed-computing#nlp

Built With

K
Kotlin
T
TensorFlow
O
ONNX
S
Scala
l
llama_cpp
O
OpenVINO
P
Python
A
Apache Spark
J
Java

Links & Resources

Website

Included in

Machine Learning72.2kApache Spark1.9k
Auto-fetched 6 hours ago

Related Projects

HuggingFace TransformersHuggingFace Transformers

🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.

Stars162,903
Forks34,009
Last commit5 hours ago
jiebajieba

结巴中文分词

Stars35,079
Forks6,693
Last commit1 year ago
spacyspacy

💫 Industrial-strength Natural Language Processing (NLP) in Python

Stars33,768
Forks4,699
Last commit2 months ago
HaystackHaystack

Open-source AI orchestration framework for building context-engineered, production-ready LLM applications. Design modular pipelines and agent workflows with explicit control over retrieval, routing, memory, and generation. Built for scalable agents, RAG, multimodal applications, semantic search, and conversational systems.

Stars25,993
Forks2,946
Last commit8 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub