Introduction to Azure HDInsight and the Hadoop and Spark technology stack

This article provides an introduction to Azure HDInsight. Azure HDInsight is a fully managed, full-spectrum, open-source analytics service for enterprises. You can use open-source frameworks such as Hadoop, Spark, Hive, LLAP, Kafka, Storm, R, and more.

Apache Hadoop was the original open-source framework for distributed processing and analysis of big data sets on clusters. The Hadoop technology stack includes related software and utilities, including Apache Hive, HBase, Spark, Kafka, and many others.

To see available Hadoop technology stack components on HDInsight, see Components and versions available with HDInsight. To read more about Hadoop in HDInsight, see the Azure features page for HDInsight.

Apache Spark is an open-source, parallel-processing framework that supports in-memory processing to boost the performance of big-data analytic applications. To read more about Spark in HDInsight, see the Introduction to Spark on Azure HDInsight.

Deploy an Azure HDInsight cluster

What is HDInsight and the Hadoop technology stack?

Azure HDInsight is a cloud distribution of the Hadoop components from the Hortonworks Data Platform (HDP). Azure HDInsight makes it easy, fast, and cost-effective to process massive amounts of data. You can use the most popular open-source frameworks such as Hadoop, Spark, Hive, LLAP, Kafka, Storm, R, and more. With these frameworks, you can enable a broad range of scenarios such as extract, transform, and load (ETL), data warehousing, machine learning, and IoT.

What is big data?

Big data is collected in escalating volumes, at higher velocities, and in a greater variety of formats than ever before. It can be historical (meaning stored) or real-time (meaning streamed from the source). See Scenarios for using HDInsight to learn about the most common use cases for big data.

Why should I use HDInsight?

This section lists the capabilities of Azure HDInsight.

Capability Description
Cloud native Azure HDInsight enables you to create optimized clusters for Hadoop, Spark, Interactive query (LLAP), Kafka, Storm, HBase, and R Server on Azure. HDInsight also provides an end-to-end SLA on all your production workloads.
Low-cost and scalable HDInsight enables you to scale workloads up or down. You can reduce costs by creating clusters on demand and paying only for what you use. You can also build data pipelines to operationalize your jobs. Decoupled compute and storage provide better performance and flexibility.
Secure and compliant HDInsight enables you to protect your enterprise data assets with Azure Virtual Network, encryption, and integration with Azure Active Directory. HDInsight also meets the most popular industry and government compliance standards.
Monitoring Azure HDInsight integrates with Azure Log Analytics to provide a single interface with which you can monitor all your clusters.
Global availability HDInsight is available in more regions than any other big data analytics offering. Azure HDInsight is also available in Azure Government, China, and Germany, which allows you to meet your enterprise needs in key sovereign areas.
Productivity Azure HDInsight enables you to use rich productive tools for Hadoop and Spark with your preferred development environments. These develpment environments include Visual Studio, Eclipse, and IntelliJ for Scala, Python, R, Java, and .NET support. Data scientists can also collaborate using popular notebooks such as Jupyter and Zeppelin.
Extensibility You can extend the HDInsight clusters with installed components (Hue, Presto, and so on) by using script actions, by adding edge nodes, or by integrating with other big data certified applications. HDInsight enables seamless integration with the most popular big data solutions with a one-click deployment.

Scenarios for using HDInsight

Azure HDInsight can be used for a variety of scenarios in big data processing. It can be historical data (data that's already collected and stored) or real-time data (data that's directly streamed from the source). The scenarios for processing such data can be summarized in the following categories:

Batch processing (ETL)

Extract, transform, and load (ETL) is a process where unstructured or structured data is extracted from heterogeneous data sources. It's then transformed into a structured format and loaded into a data store. You can use the transformed data for data science or data warehousing.

Internet of Things (IoT)

You can use HDInsight to process streaming data that's received in real time from a variety of devices. For more information, read this blog post from Azure that announces the public preview of Apache Kafka on HDInsight with Azure Managed disks.

HDInsight architecture: Internet of Things

Data science

You can use HDInsight to build applications that extract critical insights from data. You can also use Azure Machine Learning on top of that to predict future trends for your business. For more information, read this customer story.

HDInsight architecture: Data science

Data warehousing

You can use HDInsight to perform interactive queries at petabyte scales over structured or unstructured data in any format. You can also build models connecting them to BI tools. For more information, read this customer story.

HDInsight architecture: Data warehousing


You can use HDInsight to extend your existing on-premises big data infrastructure to Azure to leverage the advanced analytics capabilities of the cloud.

HDInsight architecture: Hybrid

Cluster types in HDInsight

HDInsight includes specific cluster types and cluster customization capabilities, such as the capability to add components, utilities, and languages.

Spark, Kafka, Interactive Query, HBase, customized, and other cluster types

HDInsight offers the following cluster types:

Open-source components in HDInsight

Azure HDInsight enables you to create clusters with open-source frameworks such as Hadoop, Spark, Hive, LLAP, Kafka, Storm, HBase, and R. These clusters, by default, come with other open-source components that are included on the cluster such as Ambari, Avro, Hive, HCatalog, Mahout, MapReduce, YARN, Phoenix, Pig, Sqoop, Tez, Oozie, ZooKeeper.

Programming languages in HDInsight

HDInsight clusters, including Spark, HBase, Kafka, Hadoop, and others, support many programming languages. Some programming languages aren't installed by default. For libraries, modules, or packages that are not installed by default, use a script action to install the component.

Default programming language support

By default, HDInsight clusters support:

  • Java
  • Python

You can install additional languages by using script actions.

Java virtual machine (JVM) languages

Many languages other than Java can run on a Java virtual machine (JVM). However, if you run some of these languages, you might have to install additional components on the cluster.

The following JVM-based languages are supported on HDInsight clusters:

  • Clojure
  • Jython (Python for Java)
  • Scala

Hadoop-specific languages

HDInsight clusters support the following languages that are specific to the Hadoop technology stack:

  • Pig Latin for Pig jobs
  • HiveQL for Hive jobs and SparkSQL

Business intelligence on HDInsight

Familiar business intelligence (BI) tools retrieve, analyze, and report data that is integrated with HDInsight by using either the Power Query add-in or the Microsoft Hive ODBC Driver:

Next steps