<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>简单之美 &#187; Tag &#187; Hive</title>
	<atom:link href="http://shiyanjun.cn/archives/tag/hive/feed" rel="self" type="application/rss+xml" />
	<link>http://shiyanjun.cn</link>
	<description>简单之美，难得简单，享受简单的唯美。</description>
	<lastBuildDate>Wed, 04 Mar 2026 07:04:53 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>Hue安装配置实践</title>
		<link>http://shiyanjun.cn/archives/1002.html</link>
		<comments>http://shiyanjun.cn/archives/1002.html#comments</comments>
		<pubDate>Wed, 17 Dec 2014 13:19:10 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Hadoop/Hive/ZooKeeper]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Hive]]></category>
		<category><![CDATA[Hue]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=1002</guid>
		<description><![CDATA[<p>Hue是一个开源的Apache Hadoop UI系统，最早是由Cloudera Desktop演化而来，由Cloudera贡献给开源社区，它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据，例如操作HDFS上的数据，运行MapReduce Job等等。很早以前就听说过Hue的便利与强大，一直没能亲自尝试使用，下面先通过官网给出的特性，通过翻译原文简单了解一下Hue所支持的功能特性集合：

默认基于轻量级sqlite数据库管理会话数据，用户认证和授权，可以自定义为MySQL、Postgresql，以及Oracle
基于文件浏览器（File Browser）访问HDFS
基于Hive编辑器来开发和运行Hive查询
支持基于Solr进行搜索的应用，并提供可视化的数据视图，以及仪表板（Dashboard）
支持基于Impala的应用进行交互式查询
支持Spark编辑器和仪表板（Dashboard）
支持Pig编辑器，并能够提交脚本任务
支持Oozie编辑器，可以通过仪表板提交和监控Workflow、Coordinator和Bundle
支持HBase浏览器，能够可视化数据、查询数据、修改HBase表
支持Metastore浏览器，可以访问</p>]]></description>
	<p>Hue是一个开源的Apache Hadoop UI系统，最早是由Cloudera Desktop演化而来，由Cloudera贡献给开源社区，它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据，例如操作HDFS上的数据，运行MapReduce Job等等。很早以前就听说过Hue的便利与强大，一直没能亲自尝试使用，下面先通过官网给出的特性，通过翻译原文简单了解一下Hue所支持的功能特性集合：

默认基于轻量级sqlite数据库管理会话数据，用户认证和授权，可以自定义为MySQL、Postgresql，以及Oracle
基于文件浏览器（File Browser）访问HDFS
基于Hive编辑器来开发和运行Hive查询
支持基于Solr进行搜索的应用，并提供可视化的数据视图，以及仪表板（Dashboard）
支持基于Impala的应用进行交互式查询
支持Spark编辑器和仪表板（Dashboard）
支持Pig编辑器，并能够提交脚本任务
支持Oozie编辑器，可以通过仪表板提交和监控Workflow、Coordinator和Bundle
支持HBase浏览器，能够可视化数据、查询数据、修改HBase表
支持Metastore浏览器，可以访问</p>			<content:encoded><![CDATA[<p>Hue是一个开源的Apache Hadoop UI系统，最早是由Cloudera Desktop演化而来，由Cloudera贡献给开源社区，它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据，例如操作HDFS上的数据，运行MapReduce Job等等。很早以前就听说过Hue的便利与强大，一直没能亲自尝试使用，下面先通过官网给出的特性，通过翻译原文简单了解一下Hue所支持的功能特性集合：

默认基于轻量级sqlite数据库管理会话数据，用户认证和授权，可以自定义为MySQL、Postgresql，以及Oracle
基于文件浏览器（File Browser）访问HDFS
基于Hive编辑器来开发和运行Hive查询
支持基于Solr进行搜索的应用，并提供可视化的数据视图，以及仪表板（Dashboard）
支持基于Impala的应用进行交互式查询
支持Spark编辑器和仪表板（Dashboard）
支持Pig编辑器，并能够提交脚本任务
支持Oozie编辑器，可以通过仪表板提交和监控Workflow、Coordinator和Bundle
支持HBase浏览器，能够可视化数据、查询数据、修改HBase表
支持Metastore浏览器，可以访问</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/1002.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Hive-0.12.0的Web接口HWI安装、配置、改造及使用</title>
		<link>http://shiyanjun.cn/archives/885.html</link>
		<comments>http://shiyanjun.cn/archives/885.html#comments</comments>
		<pubDate>Sat, 05 Jul 2014 16:03:21 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Hadoop/Hive/ZooKeeper]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Hive]]></category>
		<category><![CDATA[HWI]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=885</guid>
		<description><![CDATA[<p>使用Hive的HWI接口，可以通过在Web页面上提交HQL查询操作，并浏览查询结果数据。默认情况下，HWI只支持浏览结果数据，不能够下载查询结果文件（当然，HWI可能也是考虑通过Web下载大量的结果数据，对服务器造成压力，或者处于安全方面的考虑）。我们对HWI进行了简单的改造，改造内容主要是增加了一个内置的文件服务器，可以通过页面进行查询，然后下载结果文件。
HWI安装配置
首先，要保证Hadoop集群正常运行，Hive能够正常使用。
先要安装Ant，如下所示：
修改Hive的环境配置文件hive-env.sh，增加如下配置内容：
将如下JAR文件拷贝到${HIVE_HOME}/lib目录下面：
另外，由于Hive 0.12.0版本的HWI的问题，需要将你的${JAVA_HOME}/lib/tools.jar文件也加入到${HIVE_HOME}/lib目录下。这个算是一个Bug吧，大概要到Hive 0.13.0版本能够解决。
接下来，需要在${HIVE_HOME}/conf/hive-site.xml配置文件中，加入如下配置内容：
其中，属性hive.hwi.war.file对应的hwi.war文件，我们会在后面改造之后重新打包为该文件，并拷贝到${HIVE_HOME}/lib目录下面。
HWI改造
默认使用</p>]]></description>
	<p>使用Hive的HWI接口，可以通过在Web页面上提交HQL查询操作，并浏览查询结果数据。默认情况下，HWI只支持浏览结果数据，不能够下载查询结果文件（当然，HWI可能也是考虑通过Web下载大量的结果数据，对服务器造成压力，或者处于安全方面的考虑）。我们对HWI进行了简单的改造，改造内容主要是增加了一个内置的文件服务器，可以通过页面进行查询，然后下载结果文件。
HWI安装配置
首先，要保证Hadoop集群正常运行，Hive能够正常使用。
先要安装Ant，如下所示：

wget http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.9.4-bin.tar.gz
tar xvzf apache-ant-1.9.4-bin.tar.gz
ln -s /usr/local/apache-ant-1.9.4-bin /usr/local/ant

修改Hive的环境配置文件hive-env.sh，增加如下配置内容：

export ANT_LIB=/usr/local/ant

将如下JAR文件拷贝到${HIVE_HOME}/lib目录下面：

// 用于编译JSP文件
jasper-compiler-5.5.23.jar
jasper-runtime-5.5.23.jar

// 替换默认的servlet-api-2.5-20081211.jar，我使用的是apache-tomcat-7.0.53/lib下面的s</p>			<content:encoded><![CDATA[<p>使用Hive的HWI接口，可以通过在Web页面上提交HQL查询操作，并浏览查询结果数据。默认情况下，HWI只支持浏览结果数据，不能够下载查询结果文件（当然，HWI可能也是考虑通过Web下载大量的结果数据，对服务器造成压力，或者处于安全方面的考虑）。我们对HWI进行了简单的改造，改造内容主要是增加了一个内置的文件服务器，可以通过页面进行查询，然后下载结果文件。
HWI安装配置
首先，要保证Hadoop集群正常运行，Hive能够正常使用。
先要安装Ant，如下所示：
修改Hive的环境配置文件hive-env.sh，增加如下配置内容：
将如下JAR文件拷贝到${HIVE_HOME}/lib目录下面：
另外，由于Hive 0.12.0版本的HWI的问题，需要将你的${JAVA_HOME}/lib/tools.jar文件也加入到${HIVE_HOME}/lib目录下。这个算是一个Bug吧，大概要到Hive 0.13.0版本能够解决。
接下来，需要在${HIVE_HOME}/conf/hive-site.xml配置文件中，加入如下配置内容：
其中，属性hive.hwi.war.file对应的hwi.war文件，我们会在后面改造之后重新打包为该文件，并拷贝到${HIVE_HOME}/lib目录下面。
HWI改造
默认使用</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/885.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hive JOIN使用详解</title>
		<link>http://shiyanjun.cn/archives/588.html</link>
		<comments>http://shiyanjun.cn/archives/588.html#comments</comments>
		<pubDate>Tue, 25 Feb 2014 07:23:13 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Hadoop/Hive/ZooKeeper]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Hive]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=588</guid>
		<description><![CDATA[<p>Hive是基于Hadoop平台的，它提供了类似SQL一样的查询语言HQL。有了Hive，如果使用过SQL语言，并且不理解Hadoop MapReduce运行原理，也就无法通过编程来实现MR，但是你仍然可以很容易地编写出特定查询分析的HQL语句，通过使用类似SQL的语法，将HQL查询语句提交Hive系统执行查询分析，最终Hive会帮你转换成底层Hadoop能够理解的MR Job。
对于最基本的HQL查询我们不再累述，这里主要说明Hive中进行统计分析时使用到的JOIN操作。在说明Hive JOIN之前，我们先简单说明一下，Hadoop执行MR Job的基本过程（运行机制），能更好的帮助我们理解HQL转换到底层的MR Job后是如何执行的。我们重点说明MapReduce执行过程中，从Map端到Reduce端这个过程（Shuffle）的执行情况，如图所示（来自《Hadoop: The Definitive Guide》）：

基本执行过程，描述如下：

一个InputSplit输入到map，会运行我们实现的Mapper的处理逻辑，对数据进行映射操作。
map输出时，会首先将输出中间结果写入到map自带的buffer中（buffer默认大小为100M，可以通过io.sort.mb配置）。
map自带的buffer使用容</p>]]></description>
	<p>Hive是基于Hadoop平台的，它提供了类似SQL一样的查询语言HQL。有了Hive，如果使用过SQL语言，并且不理解Hadoop MapReduce运行原理，也就无法通过编程来实现MR，但是你仍然可以很容易地编写出特定查询分析的HQL语句，通过使用类似SQL的语法，将HQL查询语句提交Hive系统执行查询分析，最终Hive会帮你转换成底层Hadoop能够理解的MR Job。
对于最基本的HQL查询我们不再累述，这里主要说明Hive中进行统计分析时使用到的JOIN操作。在说明Hive JOIN之前，我们先简单说明一下，Hadoop执行MR Job的基本过程（运行机制），能更好的帮助我们理解HQL转换到底层的MR Job后是如何执行的。我们重点说明MapReduce执行过程中，从Map端到Reduce端这个过程（Shuffle）的执行情况，如图所示（来自《Hadoop: The Definitive Guide》）：

基本执行过程，描述如下：

一个InputSplit输入到map，会运行我们实现的Mapper的处理逻辑，对数据进行映射操作。
map输出时，会首先将输出中间结果写入到map自带的buffer中（buffer默认大小为100M，可以通过io.sort.mb配置）。
map自带的buffer使用容</p>			<content:encoded><![CDATA[<p>Hive是基于Hadoop平台的，它提供了类似SQL一样的查询语言HQL。有了Hive，如果使用过SQL语言，并且不理解Hadoop MapReduce运行原理，也就无法通过编程来实现MR，但是你仍然可以很容易地编写出特定查询分析的HQL语句，通过使用类似SQL的语法，将HQL查询语句提交Hive系统执行查询分析，最终Hive会帮你转换成底层Hadoop能够理解的MR Job。
对于最基本的HQL查询我们不再累述，这里主要说明Hive中进行统计分析时使用到的JOIN操作。在说明Hive JOIN之前，我们先简单说明一下，Hadoop执行MR Job的基本过程（运行机制），能更好的帮助我们理解HQL转换到底层的MR Job后是如何执行的。我们重点说明MapReduce执行过程中，从Map端到Reduce端这个过程（Shuffle）的执行情况，如图所示（来自《Hadoop: The Definitive Guide》）：

基本执行过程，描述如下：

一个InputSplit输入到map，会运行我们实现的Mapper的处理逻辑，对数据进行映射操作。
map输出时，会首先将输出中间结果写入到map自带的buffer中（buffer默认大小为100M，可以通过io.sort.mb配置）。
map自带的buffer使用容</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/588.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
