SequoiaDB与Hadoop部署

SequoiaDB与Hadoop在物理上部署方案如下图所示,部署建议如下:

l  SequoiaDB与Hadoop部署在相同的物理设备上,以减少Hadoop与SequoiaDB之间的网络数据传输;

l  每个物理设备上都部署一个协调节点和多个数据节点,编目节点可选在任意三台物理设备各部署一个编目节点;

SequoiaDB支持的Hive 版本列表

n  Hive 0.11.0

n  Hive 0.10.0

配置方法

  1. 安装和配置好Hadoop/Hive 环境,启动hadoop环境;
  2. 拷贝sequoiadb安装目录下(默认在/opt/sequoiadb) 的hadoop/hive-sequoiadb.jar 和 java/sdbdriver.jar 两个文件拷贝到 hive/lib 安装目录下;
  3. 修改hive 安装目录下的 bin/hive-site.xml文件(如果不存在,可拷贝$HIVE_HOME/conf/hive-default.xml.template为 hive-site.xml文件 ),增加如下属性(假设Hive 安装在 /opt/hive 目录):

<property>

   <name>hive.aux.jars.path</name>   <value>file:///opt/hive/lib/hive-sequoiadb.jar,file:///opt/hive/lib/sdbdirver.jar</value>

   <description>Sequoiadb store handler jar file</description>

</property>

 

<property>

<name> hive.auto.convert.join</name>

<value>false</value>

</property>

使用方法

创建基于SequoiaDB的表:

启动hive shell 命令行窗口,执行如下命令创建数据表;

hive> create external table sdb_tab(id INT, name STRING, value DOUBLE) stored by “com.sequoiadb.hive.SdbHiveStorageHandler” tblproperties(“sdb.address” = “localhost:50000”;)

OK

Time taken: 0.386 seconds

其中:

Sdb.address 用于指定SequoiaDB协调节点的IP和端口,如果有多个协调节点,可以写入多个,之间用逗号隔开;

从HDFS文件中倒入数据到SequoiaDB表:

hive> insert overwrite table sdb_tab select * from hdfs_tab;

Total MapReduce jobs = 1

Launching Job 1 out of 1

Number of reduce tasks is set to 0 since there’s no reduce operator

Starting Job = job_201310172156_0010, Tracking URL = http://bl465-5:50030/jobdetails.jsp?jobid=job_201310172156_0010

Kill Command = /opt/hadoop-hive/hadoop-1.2.1/libexec/../bin/hadoop job  -kill job_201310172156_0010

Hadoop job information for Stage-0: number of mappers: 1; number of reducers: 0

2013-10-18 04:44:47,733 Stage-0 map = 0%,  reduce = 0%

2013-10-18 04:44:49,763 Stage-0 map = 100%,  reduce = 0%, Cumulative CPU 1.85 sec

2013-10-18 04:44:50,777 Stage-0 map = 100%,  reduce = 0%, Cumulative CPU 1.85 sec

2013-10-18 04:44:51,795 Stage-0 map = 100%,  reduce = 100%, Cumulative CPU 1.85 sec

MapReduce Total cumulative CPU time: 1 seconds 850 msec

Ended Job = job_201310172156_0010

10 Rows loaded to sdb_tab

MapReduce Jobs Launched:

Job 0: Map: 1   Cumulative CPU: 1.85 sec   HDFS Read: 2301 HDFS Write: 0 SUCCESS

Total MapReduce CPU Time Spent: 1 seconds 850 msec

OK

Time taken: 12.201 seconds

说明:在导入数据到SequoiaDB表之前,请确保已经创建基于HDFS文件的 hdfs_tab数据表,并Load了数据;

查询数据:

hive> select * from new_tab;

OK

0       false   0.0     ALGERIA

1       true    1.0     ARGENTINA

2       true    1.0     BRAZIL

3       true    1.0     CANADA

4       true    4.0     EGYPT

5       false   0.0     ETHIOPIA

6       true    3.0     FRANCE

7       true    3.0     GERMANY

8       true    2.0     INDIA

9       true    2.0     INDONESIA

Time taken: 0.306 seconds, Fetched: 10 row(s)

SequoiaDB 与 Hive 集成的更多相关文章

  1. Hive集成HBase;安装pig

    Hive集成HBase 配置 将hive的lib/中的HBase.jar包用实际安装的Hbase的jar包替换掉 cd /opt/hive/lib/ ls hbase-0.94.2*  rm -rf ...

  2. Hive集成HBase详解

    摘要 Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询   应用场景 1. 将ETL操作的数据存入HBase 2. HB ...

  3. hbase与hive集成:hive读取hbase中数据

    1.创建hbase jar包到hive lib目录软连接 hive需要jar包: hive-hbase-handler-0.13.1-cdh5.3.6.jar zookeeper-3.4.5-cdh5 ...

  4. Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes

    在进行Hive集成Mysql作为元数据过程中.做全然部安装配置工作后.进入到hive模式,运行show databases.运行正常,接着运行show tables:时却报错. 关键错误信息例如以下: ...

  5. 大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化

    第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关 ...

  6. Hbase与hive集成与对比

    HBase与Hive的对比 1.Hive (1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. (2) 用于数据分析.清洗 ...

  7. 如何使用Hive集成Solr?

    (一)Hive+Solr简介 Hive作为Hadoop生态系统里面离线的数据仓库,可以非常方便的使用SQL的方式来离线分析海量的历史数据,并根据分析的结果,来干一些其他的事情,如报表统计查询等. So ...

  8. hive集成sentry

    1.安装配置sentry 详细步骤见上一篇安装配置sentry 2.配置hive 2.1 Hive-server2集成Sentry 在 /etc/hive/conf/hive-site.xml中添加: ...

  9. 挖坑:hive集成kerberos

    集成hive+kerberos前,hadoop已经支持kerberos,所以基础安装略去: https://www.cnblogs.com/garfieldcgf/p/10077331.html 直接 ...

随机推荐

  1. sqoop1.99.4 JAVA API操作

    貌似天国还没有介绍1.99.4的java操作代码的,自己吃一次螃蟹吧 如果你是MAVEN项目 <dependency> <groupId>org.apache.sqoop< ...

  2. C# 使用GDI+绘制漂亮的MenuStrip和ContextMenuStrip皮肤

    通过上面的效果截图可以看到,重绘后的MenuStrip和ContextMenuStrip可以添加自己的LOGO信息,实现了类似OFFICE2007的菜单显示效果. .NET对菜单控件的绘制提供了一个抽 ...

  3. IE 9渲染overflow的bug及解决

    问题: table父级元素div设置overflow:auto, 当触发table中的checkbox,dropdownlist事件控件时,父级div高度会自动增加(在底部增加空白行). 解决方案: ...

  4. Redis操作的封装类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using ServiceS ...

  5. Gradle基本知识点与常用配置

    查看原文:http://blog.csdn.net/u010818425/article/details/52268126 本文篇幅较长,文中系统地讲解了Gradle的基本知识点以及一些常用的命令和配 ...

  6. 精通CSS高级Web标准解决方案(1-1选择器)

    设计代码的结构 使用有意义的标记 css可以控制页面的外观并将表现与内容分隔开. 在分配ID与类名时尽量保证有意义且与表现无关. div可以对块级元素进行分组,而span可以对行内元素进行分组或标识. ...

  7. Oracle基础<1>--数据库设计

    一:为什么需要使用数据库设计 数据库设计可以使数据库通过健壮的数据库结构  高效并且健康  的进行工作. 二.数据库设计原则 (数据库设计.系统设计.架构设计) 1.熟悉需求 保证之后需求的变更 不会 ...

  8. (转)JavaScript 中对变量和函数声明的“提前(hoist)”

    变量声明“被提前” JavaScript 的语法和 C .Java.C# 类似,统称为 C 类语法.有过 C 或 Java 编程经验的同学应该对“先声明.后使用”的规则很熟悉,如果使用未经声明的变量或 ...

  9. DNS resolving 占用大量日志

    公司内部DNS配置好后,测试解析正常,只是几乎每秒都有无法解析的日志产生.但分析日志时发现,每天的日志都有2G左右.日志中几乎全是类似network unreachable resolving 'ww ...

  10. codeforces 434B B. Nanami's Digital Board(分治)

    题目链接: B. Nanami's Digital Board time limit per test 1 second memory limit per test 256 megabytes inp ...