欢迎投稿

今日深度:

Hive详细介绍,

Hive详细介绍,


概述

The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.

Apache Hive数据仓库软件可以使用SQL方便地阅读、编写和管理分布在分布式存储中的大型数据集。结构可以投射到已经存储的数据上。提供了一个命令行工具和JDBC驱动程序来将用户连接到Hive。

1. Hive的产生背景

The Apache Hive™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage and queried using SQL syntax.
Built on top of Apache Hadoop™, Hive provides the following features:
- Tools to enable easy access to data via SQL, thus enabling data warehousing tasks such as extract/transform/load (ETL), reporting, and data analysis.

  • A mechanism to impose structure on a variety of data formats

  • Access to files stored either directly in Apache HDFS™ or in other data storage systems such as Apache HBase™

  • Query execution via Apache Tez, Apache Spark, or MapReduce

  • Procedural language with HPL-SQL

  • Sub-second query retrieval via Hive LLAP, Apache YARN and Apache Slider.

Apache Hive数据仓库软件可以方便地阅读、编写和管理分布在分布式存储中的大型数据集,并使用SQL语法查询。

基于Apache Hadoop之上,Hive提供以下特性:

  • 能够通过SQL轻松访问数据的工具,从而支持诸如提取/转换/装载(ETL)、报告和数据分析等数据仓库任务。
  • 一种对各种数据格式施加结构的机制
  • 访问Apache HDFS或其他数据存储系统中存储的文件,比如Apache HBase
  • 通过Apache Tez、Apache Spark或MapReduce进行查询执行
  • 过程语言与HPL-SQL
  • Sub-second query retrieval via Hive LLAP, Apache YARN and Apache Slider.

1.1 MapReduce局限性

1.2 什么是hive

1.3 为什么要使用Hive

1.4 Hive不是

1.5 Hive特定

2.Hive使用场景

3. Hive生产环境使用方式

4. 体系架构

In Hive distribution, we can find the below components majorly.

在Hive分发中,我们可以主要找到下面的组件。

Hive clients:

Below are the three main clients that can interact with Hive Architecture.

Hive客户:

以下是可以与Hive 架构交互的三个主要客户端。

6. ETL介绍

extract 英 [ˈekstrækt] vt. 提取;取出;摘录;榨取 n. 汁;摘录;榨出物;选粹
transform 美 [træns’fɔrm] vi. 变换,改变;转化
load 英 [ləʊd] vi. [力] 加载;装载;装货 n. 负载,负荷;工作量;装载量

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
实际上我们可以将ETL看做建立一个数据仓库的的三个步骤,extract就是从各个子系统或者模块的数据库中提取数据,trasfrom实际上就是对提取出来的数据进行清洗,加载就是清洗好的数据再放入数据仓库中。
实际我们可以把实现一个数据仓库的数据获取(Data Acquisition)部分看成ETL。

为了能更好地实现ETL,笔者建议用户在实施ETL过程中应注意以下几点:
第一,如果条件允许,可利用数据中转区对运营数据进行预处理,保证集成与加载的高效性;
第二,如果ETL的过程是主动“拉取”,而不是从内部“推送”,其可控性将大为增强;如果采取的是拉取的策略,只要我们的数据仓库是从去连接各个子模块的数据库获取数据即可,即只需要在数据库仓库应用中实现一个拉取模块即可,如果采取的是推送机制,那么每个子模块都要单独实现各自的推送。
第三,ETL之前应制定流程化的配置管理和标准协议;
第四,关键数据标准至关重要。ETL面临的最大挑战是当接收数据时其各源数据的异构性和低质量。以电信为例,A系统 按照统计代码管理数据,B系统按照账目数字管理,C系统按照语音ID管理。当ETL需要对这三个系统进行集成以获得对客户的全面视角时,这一过程需要复杂 的匹配规则、名称/地址正常化与标准化。而ETL在处理过程中会定义一个关键数据标准,并在此基础上,制定相应的数据接口标准。

下载地址

http://hadooptutorial.info/hive-architecture/

www.htsjk.Com true http://www.htsjk.com/hive/41306.html NewsArticle Hive详细介绍, 概述 The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command l...
相关文章
    暂无相关文章
评论暂时关闭