Electronicdesign 8898 Wtdpromo

What’s the Difference Between SPARK 2014 and Apache Spark?

Oct. 7, 2016
What’s the difference between SPARK 2014 and Apache Spark? Find out.

>> Website Resources
.. >> Library: TechXchange
.. .. >> TechXchange: Embedded Software
.. .. .. >> Topic: Ada and SPARK

What’s the difference between SPARK 2014 and Apache Spark? Actually, the answer is quite easy. SPARK 2014 is a programming environment based on the Ada programming language. Apache’s open-source SPARK project is an advanced, Directed Acyclic Graph (DAG) execution engine.

Both are used for applications, albeit of much different types. SPARK 2014 is used for embedded applications, while Apache SPARK is designed for very large clusters. Here is a quick overview of each just in case you need more details.

SPARK 2014

SPARK 2014 is the latest incarnation of the SPARK programming environment. The language is a subset of the Ada 2012 programming language that includes features like contract programming.

SPARK 2014 consists of a programming language that is a subset of Ada, a design methodology and a verification toolset (see figure). The language subset is chosen so that applications written in SPARK 2014 and be proven to match the specification that is part of the program. It is designed for low defect software that is necessary for programming in general, as well as safety- and security-related applications such as avionics. The matching toolset utilizes the information within application code to statically analyze the program and verify that it matches the specification.

SPARK 2014 consists of a programming language that is a subset of Ada, a design methodology and a verification toolset.

SPARK 2014 is ideal for embedded applications—even those targeting embedded microcontrollers. The subset of Ada retains many of the useful features of Ada, like its packaging system, while remaining compact enough to be more easily understood.

Apache Spark

Apache Spark is a Java virtual machine (JVM)-based cluster framework that runs on top of platforms like Hadoop or Mesos. It can also run on its own and in the cloud. Spark provides programmers with a resilient distributed dataset (RDD). The RDD is a read-only multiset of data items that is distributed throughout the cluster.

Spark Core provides the basic distributed task dispatching system. It supports JVM-based languages like Scala, Java, and R. The Core supports Spark SQL. It is a domain-specific language for manipulating DataFrames, a data abstraction for structured and semi-structured data. Of course, it provides SQL semantics. The Spark Streaming system moves data from Spark data sources and processes the information. Internally it does this in small batches. The other two major pieces to Spark are the MLlib machine learning library and GraphX. The latter is a graph processing framework.

SPARK is a common term adopted by a number of applications, platforms, etc. SPARK 2014 and Apache SPARK are just two; most are as different as these two systems. For example, the Particle Spark Core is a Wi-Fi development kit based on Texas Instruments’ CC3000 chip.

>> Website Resources
.. >> Library: TechXchange
.. .. >> TechXchange: Embedded Software
.. .. .. >> Topic: Ada and SPARK

Sponsored Recommendations

What are the Important Considerations when Assessing Cobot Safety?

April 16, 2024
A review of the requirements of ISO/TS 15066 and how they fit in with ISO 10218-1 and 10218-2 a consideration the complexities of collaboration.

Wire & Cable Cutting Digi-Spool® Service

April 16, 2024
Explore DigiKey’s Digi-Spool® professional cutting service for efficient and precise wire and cable management. Custom-cut to your exact specifications for a variety of cable ...

DigiKey Factory Tomorrow Season 3: Sustainable Manufacturing

April 16, 2024
Industry 4.0 is helping manufacturers develop and integrate technologies such as AI, edge computing and connectivity for the factories of tomorrow. Learn more at DigiKey today...

Connectivity – The Backbone of Sustainable Automation

April 16, 2024
Advanced interfaces for signals, data, and electrical power are essential. They help save resources and costs when networking production equipment.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!