HDInsight - 1,简介

最近工作需要,要看HDInsight部分,这里要做笔记。自然是官网资料最权威,所以内容都从这里搬过来:https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-introduction/ 

 

Hadoop on HDInsight 

搞大数据,都知道Hadoop,那么HDInsight和Hadoop啥关系呢?HDInsight是M$基于Azure的一个软件架构,主要做大数据分析、管理用的,它使用了HDP(Hortonworks Data Platform)的Hadoop发行版。然后有点要注意,我们讲的Hadoop 一般指的是Hadoop的生态系统,包括Storm/Hbase等,而不单单是那个小大象。

 

HDInsight可以理解为是Apache Hadoop在微软Azure上的一个实现,里面包含了对应的Storm, HBase, Pig, Hive, Sqoop, Oozie, Ambari等等,当然,也捆绑了自家的Excel,SSAS,SSRS。

 

HDInsight支持两种类型操作系统,Linux和M$自己的Windows,区别主要在这里:

CATEGORY HADOOP ON LINUX HADOOP ON WINDOWS
Cluster OS Ubuntu 12.04 Long Term Support (LTS) Windows Server 2012 R2
Cluster Type Hadoop Hadoop, HBase, Storm
Deployment Azure Management Portal, Azure CLI, Azure PowerShell Azure Management Portal, Azure CLI, Azure PowerShell, HDInsight .NET SDK
Cluster UI Ambari Cluster Dashboard
Remote Access Secure Shell (SSH) Remote Desktop Protocol (RDP)

 

一些基本概念及定义

  • Hadoop (the "Query" workload): Provides reliable data storage with HDFS, and a simple MapReduce programming model to process and analyze data in parallel.

  • HBase (the "NoSQL" workload): A NoSQL database built on Hadoop that provides random access and strong consistency for large amounts of unstructured and semi-structured data - potentially billions of rows times millions of columns. See Overview of HBase on HDInsight.

  • Apache Storm (the "Stream" workload): A distributed, real-time computation system for processing large streams of data fast. Storm is offered as a managed cluster in HDInsight. See Analyze real-time sensor data using Storm and Hadoop.

  • Ambari: Cluster provisioning, management, and monitoring.

  • Avro (Microsoft .NET Library for Avro): Data serialization for the Microsoft .NET environment.

  • Hive & HCatalog: Structured Query Language (SQL)-like querying, and a table and storage management layer.

  • Mahout: Machine learning.

  • MapReduce and YARN: Distributed processing and resource management.

  • Oozie: Workflow management.

  • Phoenix: Relational database layer over HBase.

  • Pig: Simpler scripting for MapReduce transformations.

  • Sqoop: Data import and export.

  • Tez: Allows data-intensive processes to run efficiently at scale.

  • ZooKeeper: Coordination of processes in distributed systems.

HBase

这货有两个版本,一个是Apache HBase,开源、NoSQL、基于Hadoop和狗狗的BigTable,对于海量的结构化及半结构化数据访问有很好的支撑。另一个是HDInsight HBase,微软自己的。数据直接存放于Blob中。

 

HBase数据,可以通过hbase shell的create/get/put/scan命令来管理,scan是读多个行的数据。同时有一个REST方式的C# API可以供调用。

 

HBase的使用场景

初衷就是google为了自己的web search,你搜索三体的时候,它把所有包含三体的页面都返回给你。除此之外,还包含了:

  • Key-Value存储,这个适合于消息的管理,比如Facebook。
  • Sensor data,包含但不限于社交数据,时间相关数据,审计日志等。
  • real-time query,比如Phoenix是一个Apache Hbase的SQL查询引擎

 

Storm

官网介绍,它分布式的、容错的、开源的一个计算系统,可以实时处理Hadoop的数据。

HDInsight中的Storm,有如下特性:

  • SLA承诺是999
  • Storm组件可以用Java/C#/Python来搞
  • 内置的scale-up和scale-down的机制
  • 可以和EventHub/Virtual Network/SQL/Blob/DocumntDB集成

 实时处理的场景

  • Internet of Things (IoT)
  • Fraud detection
  • Social analytics
  • Extract, Transform, Load (ETL)
  • Network monitoring
  • Search
  • Mobile engagement

 

Spark

Apache Spark,一个开源的,支持in-memory大数据分析的并行处理框架。

适用场景:

  • 交互式的数据分析与BI处理
  • 迭代机器学习(这是个啥?)
  • 流式及实时数据处理

你可能感兴趣的:(HDInsight - 1,简介)