<?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; HBase</title>
	<atom:link href="http://shiyanjun.cn/archives/tag/hbase/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>Impala与HBase整合实践</title>
		<link>http://shiyanjun.cn/archives/526.html</link>
		<comments>http://shiyanjun.cn/archives/526.html#comments</comments>
		<pubDate>Tue, 12 Nov 2013 08:25:41 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Impala/Kudu/Hudi]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[HBase]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=526</guid>
		<description><![CDATA[<p>我们知道，HBase是一个基于列的NoSQL数据库，它可以实现的数据的灵活存储。它本身是一个大表，在一些应用中，通过设计RowKey，可以实现对海量数据的快速存储和访问。但是，对于复杂的查询统计类需求，如果直接基于HBase API来实现，性能非常差，或者，可以通过实现MapReduce程序来进行查询分析，这也继承了MapReduce所具备的延迟性。
实现Impala与HBase整合，我们能够获得的好处有如下几个：

可以使用我们熟悉的SQL，像操作传统关系型数据库一样，很容易给出复杂查询、统计分析的SQL设计
Impala查询统计分析，比原生的MapReduce以及Hive的执行速度快很多

Impala与HBase整合，需要将HBase的RowKey和列映射到Impala的Table字段中。Impala使用Hive的Metastore来存储元数据信息，与Hive类似，在于HBase进行整合时，也是通过外部表（EXTERNAL）的方式来实现。
准备工作
首先，我们需要做如下准备工作：

安装配置Hadoop集群（http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_4_4.html）
安装配置HB</p>]]></description>
	<p>我们知道，HBase是一个基于列的NoSQL数据库，它可以实现的数据的灵活存储。它本身是一个大表，在一些应用中，通过设计RowKey，可以实现对海量数据的快速存储和访问。但是，对于复杂的查询统计类需求，如果直接基于HBase API来实现，性能非常差，或者，可以通过实现MapReduce程序来进行查询分析，这也继承了MapReduce所具备的延迟性。
实现Impala与HBase整合，我们能够获得的好处有如下几个：

可以使用我们熟悉的SQL，像操作传统关系型数据库一样，很容易给出复杂查询、统计分析的SQL设计
Impala查询统计分析，比原生的MapReduce以及Hive的执行速度快很多

Impala与HBase整合，需要将HBase的RowKey和列映射到Impala的Table字段中。Impala使用Hive的Metastore来存储元数据信息，与Hive类似，在于HBase进行整合时，也是通过外部表（EXTERNAL）的方式来实现。
准备工作
首先，我们需要做如下准备工作：

安装配置Hadoop集群（http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_4_4.html）
安装配置HB</p>			<content:encoded><![CDATA[<p>我们知道，HBase是一个基于列的NoSQL数据库，它可以实现的数据的灵活存储。它本身是一个大表，在一些应用中，通过设计RowKey，可以实现对海量数据的快速存储和访问。但是，对于复杂的查询统计类需求，如果直接基于HBase API来实现，性能非常差，或者，可以通过实现MapReduce程序来进行查询分析，这也继承了MapReduce所具备的延迟性。
实现Impala与HBase整合，我们能够获得的好处有如下几个：

可以使用我们熟悉的SQL，像操作传统关系型数据库一样，很容易给出复杂查询、统计分析的SQL设计
Impala查询统计分析，比原生的MapReduce以及Hive的执行速度快很多

Impala与HBase整合，需要将HBase的RowKey和列映射到Impala的Table字段中。Impala使用Hive的Metastore来存储元数据信息，与Hive类似，在于HBase进行整合时，也是通过外部表（EXTERNAL）的方式来实现。
准备工作
首先，我们需要做如下准备工作：

安装配置Hadoop集群（http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_4_4.html）
安装配置HB</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/526.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>基于C#+Thrift操作HBase实践</title>
		<link>http://shiyanjun.cn/archives/499.html</link>
		<comments>http://shiyanjun.cn/archives/499.html#comments</comments>
		<pubDate>Thu, 07 Nov 2013 09:38:49 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[HBase]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[Thrift]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=499</guid>
		<description><![CDATA[<p>在基于HBase数据库的开发中，对应Java语言来说，可以直接使用HBase的原生API来操作HBase表数据，当然你要是不嫌麻烦可以使用Thrift客户端Java API，这里有我曾经使用过的 HBase Thrift客户端Java API实践，可以参考。对于具有其他编程语言背景的开发人员，为了获取HBase带来的好处，那么就可以选择使用HBase Thrift客户端对应编程语言的API，来实现与HBase的交互。
这里，我们使用C#客户端来操作HBase。HBase的Thrift接口的定义，可以通过链接http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API，这里，我使用的版本是0.9.0。需要注意的是，一定要保证，安装了某个版本Thrift的Thrift编译器，在导入对应语言库的时候，版本一定要统一，否则就会出现各种各样的问题，因为不同Thrift版本，对应编程语言的库API可能有变化。
首先，下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成C#编程语言的HBase Th</p>]]></description>
	<p>在基于HBase数据库的开发中，对应Java语言来说，可以直接使用HBase的原生API来操作HBase表数据，当然你要是不嫌麻烦可以使用Thrift客户端Java API，这里有我曾经使用过的 HBase Thrift客户端Java API实践，可以参考。对于具有其他编程语言背景的开发人员，为了获取HBase带来的好处，那么就可以选择使用HBase Thrift客户端对应编程语言的API，来实现与HBase的交互。
这里，我们使用C#客户端来操作HBase。HBase的Thrift接口的定义，可以通过链接http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API，这里，我使用的版本是0.9.0。需要注意的是，一定要保证，安装了某个版本Thrift的Thrift编译器，在导入对应语言库的时候，版本一定要统一，否则就会出现各种各样的问题，因为不同Thrift版本，对应编程语言的库API可能有变化。
首先，下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成C#编程语言的HBase Th</p>			<content:encoded><![CDATA[<p>在基于HBase数据库的开发中，对应Java语言来说，可以直接使用HBase的原生API来操作HBase表数据，当然你要是不嫌麻烦可以使用Thrift客户端Java API，这里有我曾经使用过的 HBase Thrift客户端Java API实践，可以参考。对于具有其他编程语言背景的开发人员，为了获取HBase带来的好处，那么就可以选择使用HBase Thrift客户端对应编程语言的API，来实现与HBase的交互。
这里，我们使用C#客户端来操作HBase。HBase的Thrift接口的定义，可以通过链接http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API，这里，我使用的版本是0.9.0。需要注意的是，一定要保证，安装了某个版本Thrift的Thrift编译器，在导入对应语言库的时候，版本一定要统一，否则就会出现各种各样的问题，因为不同Thrift版本，对应编程语言的库API可能有变化。
首先，下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成C#编程语言的HBase Th</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/499.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HBase-0.90.4集群安装配置</title>
		<link>http://shiyanjun.cn/archives/151.html</link>
		<comments>http://shiyanjun.cn/archives/151.html#comments</comments>
		<pubDate>Sat, 24 Aug 2013 02:13:54 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[HBase]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Hadoop/Hive/ZooKeeper]]></category>
		<category><![CDATA[ZooKeeper]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=151</guid>
		<description><![CDATA[<p>HBase是Hadoop数据库，能够实现随机、实时读写你的Big Data，它是Google的Bigtable的开源实现，可以参考Bigtable的论文Bigtable: A Distributed Storage System for Structured。HBase的存储模型可以如下三个词来概括：distributed, versioned, column-oriented。HBase并非只能在HDFS文件系统上使用， 你可以应用在你的本地文件系统上部署HBase实例来存储数据。
准备工作

hbase-0.90.4.tar.gz [http://labs.renren.com/apache-mirror//hbase/stable/hbase-0.90.4.tar.gz]
zookeeper-3.3.4.tar.gz

下面介绍Standalone和Distributed安装过程。
Standalone模式
这种安装模式，是在你的本地文件系统上安装配置一个HBase实例，安装配置比较简单。
首先，要保证你的本地系统能够通过ssh无密码访问，配置如下：
检查一下权限：你的~/.ssh目录的权限是否为755，~/.ssh/authorized_keys的权限是否为644，如果不是，执行下面的命令行：
然后，安装配置HBase，过程如下：
修改conf/hbase-env.sh中JAVA_HOME配置，指定为你的JAVA_HOME目录：
其他配置，如HBASE*指定配置项，如</p>]]></description>
	<p>HBase是Hadoop数据库，能够实现随机、实时读写你的Big Data，它是Google的Bigtable的开源实现，可以参考Bigtable的论文Bigtable: A Distributed Storage System for Structured。HBase的存储模型可以如下三个词来概括：distributed, versioned, column-oriented。HBase并非只能在HDFS文件系统上使用， 你可以应用在你的本地文件系统上部署HBase实例来存储数据。
准备工作

hbase-0.90.4.tar.gz [http://labs.renren.com/apache-mirror//hbase/stable/hbase-0.90.4.tar.gz]
zookeeper-3.3.4.tar.gz

下面介绍Standalone和Distributed安装过程。
Standalone模式
这种安装模式，是在你的本地文件系统上安装配置一个HBase实例，安装配置比较简单。
首先，要保证你的本地系统能够通过ssh无密码访问，配置如下：

ssh-keygen -t dsa
cat ~/.ssh/id_dsa.pub &gt;&gt; ~/.ssh/authorized_keys

检查一下权限：你的~/.ssh目录的权限是否为755，~/.ssh/authorized_keys的权限是否为644，如果不是，执行下面的命令行：

chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_key</p>			<content:encoded><![CDATA[<p>HBase是Hadoop数据库，能够实现随机、实时读写你的Big Data，它是Google的Bigtable的开源实现，可以参考Bigtable的论文Bigtable: A Distributed Storage System for Structured。HBase的存储模型可以如下三个词来概括：distributed, versioned, column-oriented。HBase并非只能在HDFS文件系统上使用， 你可以应用在你的本地文件系统上部署HBase实例来存储数据。
准备工作

hbase-0.90.4.tar.gz [http://labs.renren.com/apache-mirror//hbase/stable/hbase-0.90.4.tar.gz]
zookeeper-3.3.4.tar.gz

下面介绍Standalone和Distributed安装过程。
Standalone模式
这种安装模式，是在你的本地文件系统上安装配置一个HBase实例，安装配置比较简单。
首先，要保证你的本地系统能够通过ssh无密码访问，配置如下：
检查一下权限：你的~/.ssh目录的权限是否为755，~/.ssh/authorized_keys的权限是否为644，如果不是，执行下面的命令行：
然后，安装配置HBase，过程如下：
修改conf/hbase-env.sh中JAVA_HOME配置，指定为你的JAVA_HOME目录：
其他配置，如HBASE*指定配置项，如</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/151.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HBase Thrift客户端Java API实践</title>
		<link>http://shiyanjun.cn/archives/111.html</link>
		<comments>http://shiyanjun.cn/archives/111.html#comments</comments>
		<pubDate>Thu, 22 Aug 2013 15:19:33 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[HBase]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Thrift]]></category>

		<guid isPermaLink="false">http://shirdrn.org/?p=111</guid>
		<description><![CDATA[<p>HBase的Thrift API定义，可以通过链接 http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API。
首先下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成不同编程语言的HBase API：
这里，我们基于Java语言，使用HBase 的Thrift 客户端API访问HBase表。事实上，如果使用Java来实现对HBase表的操作，最好是使用HBase的原生API，无论从性能还是便利性方面，都会提供更好的体验。使用Thrift API访问，实际也是在HBase API之上进行了一层封装，可能初次使用Thrift API感觉很别扭，有时候还要参考Thrift服务端的实现代码。
准备工作如下：


下载Thrift软件包，解压缩后，拷贝thrift-0.9.0/lib/java/src下面的代码到工作区（开发工具中）
将上面生成的gen-java目录中代码拷贝到工作区
保证HBase集群正常运行，接着启动HBase的Thrift服务，执行如下命令：


上面，HBase的Thrift服务端口为9090，下面通过Thrift </p>]]></description>
	<p>HBase的Thrift API定义，可以通过链接 http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API。
首先下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成不同编程语言的HBase API：

[hadoop@master hbase]$ thrift --gen cpp Hbase.thrift
[hadoop@master hbase]$ thrift --gen java Hbase.thrift
[hadoop@master hbase]$ thrift --gen py Hbase.thrift
[hadoop@master hbase]$ thrift --gen perl Hbase.thrift
[hadoop@master hbase]$ thrift --gen csharp Hbase.thrift
[hadoop@master hbase]$ thrift --gen php Hbase.thrift
[hadoop@master hbase]$ thrift --gen js Hbase.thrift
[hadoop@master hbase]$ thrift --gen go Hbase.thrift
[hadoop@master hbase]$ thrift --gen erl Hbase.thrift
[hadoop@master hbase]$ thrift --gen delphi Hbase.thrift
[hadoop@master hbase]$ thrift --</p>			<content:encoded><![CDATA[<p>HBase的Thrift API定义，可以通过链接 http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API。
首先下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成不同编程语言的HBase API：
这里，我们基于Java语言，使用HBase 的Thrift 客户端API访问HBase表。事实上，如果使用Java来实现对HBase表的操作，最好是使用HBase的原生API，无论从性能还是便利性方面，都会提供更好的体验。使用Thrift API访问，实际也是在HBase API之上进行了一层封装，可能初次使用Thrift API感觉很别扭，有时候还要参考Thrift服务端的实现代码。
准备工作如下：


下载Thrift软件包，解压缩后，拷贝thrift-0.9.0/lib/java/src下面的代码到工作区（开发工具中）
将上面生成的gen-java目录中代码拷贝到工作区
保证HBase集群正常运行，接着启动HBase的Thrift服务，执行如下命令：


上面，HBase的Thrift服务端口为9090，下面通过Thrift </p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/111.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
