Mapr 安装hadoop的组件(四)——安装hive

Apache的配置单元是使用类似于SQL的语言,称为蜂房查询语言(HQL)查询存储在一个分布式文件系统的结构化数据的数据仓库系统的Hadoop。有关配置单元的详细信息,请参阅Apache的配置单元的项目页面

本页内容:

安装配置单元,HiveServer2,和Hive Metastore

以下过程使用的操作系统软件包管理器,从MAPR存储库下载并安装蜂巢。如果你想从包文件手动安装此组件,请参阅包和依赖关系为MAPR软件 

由于MAPR版本3.0.2和生态系统释放1310(MAPR - 蜂巢 - * -1310),蜂巢分布为三个包:

  • MAPR -蜂巢 -包含以下组件:
    • 核心蜂房包。
    • HiveServer2 - 允许多个并发连接到蜂巢服务器在网络上。
    • 蜂巢Metastore - 存储元数据配置单元表和分区在关系数据库中。
  • MAPR-hiveserver2 -允许HiveServer2由监狱长进行管理,让您使用maprcli或MAPR控制系统的启动和停止HiveServer2。该MAPR-蜂巢包是一个依赖,如果你安装将安装MAPR-hiveserver2。在安装时,Hiveserver2会自动启动。

  • MAPR-hivemetastore -允许蜂巢Metastore由监狱长进行管理,让您使用maprcli或MAPR控制系统的启动和停止蜂巢Metastore。该  MAPR-蜂巢  包是一个依赖,如果你安装将安装  MAPR-hivemetastore。在安装时,蜂房Metastore会自动启动。

此过程是将一个MAPR集群上执行(参见安装指南)或客户端(请参阅设置客户)。

确保环境变量JAVA_HOME是否设置正确。例如:

#出口JAVA_HOME = / usr/lib/jvm/java-  -太阳

确保环境变量HIVE_HOME是否设置正确。例如:

#出口HIVE_HOME = / opt/mapr/hive/hive- <VERSION>

安装蜂巢后,可执行文件位于:/ opt/mapr/hive/hive- <VERSION> /斌/蜂巢

要在Ubuntu的群集上安装蜂巢:
  1. 执行以下命令以或使用sudo的
  2. 更新可用软件包列表:

    apt-get的更新
  3. 在每个计划的蜂巢节点上,安装配置单元。

    • 只安装蜂巢:
      apt-get的安装MAPR-蜂巢
       
    • 要安装蜂巢和HiveServer2:

      apt-get的安装MAPR-hiveserver2 
       
    • 安装配置单元和Hive Metastore:
      apt-get的安装MAPR-hivemetastore
       
    • 要安装蜂巢,蜂巢Metastore和HiveServer2:

      apt-get的安装MAPR-hivemetastore MAPR-hiveserver2 

 

图标

此过程安装蜂巢0.11.0。要安装的早期版本,在包名中指定它。请确保安装所有软件包的版本相同。例如:

apt-get的安装MAPR -蜂巢-  0.9  1310

您可以确定与现有版本的apt-缓存麦迪逊MAPR-蜂巢命令。看到蜂巢0.10.0 发行说明的修复和自蜂巢0.9.0的版本中添加的新功能列表。

到Red Hat或CentOS的群集上安装蜂巢:
  1. 执行以下命令以或使用sudo的
  2. 在每个计划的蜂巢节点上,安装配置单元。

    • 只安装蜂巢:
      yum的安装MAPR-蜂巢
       
    • 要安装蜂巢和HiveServer2:

      yum的安装MAPR-hiveserver2 
       
    • 安装配置单元和Hive Metastore:
      yum的安装MAPR-hivemetastore
       
    • 要安装蜂巢,蜂巢Metastore和HiveServer2:

      yum的安装MAPR-hivemetastore MAPR-hiveserver2 



图标

此过程安装蜂巢0.11.0。要安装的早期版本,在包名中指定它。请确保安装所有软件包的版本相同。例如:

yum的安装 'MAPR-蜂房-0.9.0-*'

。看到蜂巢0.10.0 发行说明的修复和自蜂巢0.9.0的版本中添加的新功能列表。


入门蜂巢

在本教程中,您将创建一个配置单元表,从一个制表符分隔的文本文件加载数据,并运行情侣对表的基本查询。

图标

如果您使用的是HiveServer2,您将使用比莱恩CLI而不是蜂巢外壳,如下图所示。有关设置HiveServer2和启动比莱恩的详细信息,请参阅使用HiveServer2

首先,确保你已经下载了示例表:在页面的MAPR虚拟机的巡回赛,选择工具>附件和上单击鼠标右键样品table.txt,选择链接另存为...从弹出菜单,选择一个目录来保存,然后单击确定。如果你正在使用的MAPR虚拟机,我们将在MAPR虚拟机的本地文件系统(而不是群集存储层)加载该文件,所以保存在MAPR主目录的文件(例如,/家/ MAPR)。

看一看在源数据

首先,来看看使用终端的文件的内容:

  1. 请确保你是在保存的主目录样本table.txt(型CD〜如果你不能确定)。
  2. 键入猫样本table.txt显示以下输出。
MAPR  @ MAPR  桌面:〜$猫采样table.txt
1320352532  1001  的http: / / www.mapr.com / DOC http://www.mapr.com 192.168.10.1
1320352533  1002  的http: / / www.mapr.com http://www.example.com的 192.168.10.10
1320352546  1001  的http: / / www.mapr.com http://www.mapr.com/doc 192.168.10.1

请注意,该文件只包含三行,每一个都包含一排由制表符分隔的数据字段。该文件中的数据代表一个网络日志。

在配置单元创建一个表,并加载源数据:
  1. 通过编辑设置蜂房暂存目录的位置/ opt/mapr/hive/hive- <VERSION> / conf /中蜂房的site.xml文件中添加以下块,更换的/ tmp / mydir的与路径中的目录用户数量:
    的<p​​roperty>
        <NAME> hive.exec.scratchdir </名称>
        值<value>的/ tmp / mydir的</值>
        <DESCRIPTION>暂存空间   蜂房工作</说明>
      </财产>
    或者,使用-hiveconf hive.exec.scratchdir = 暂存目录选项下面的步骤来指定暂存目录的位置,或使用设置蜂巢exec.scratchdir = 暂存目录在命令行中。
  2. 键入以下命令启动配置单元外壳,使用Tab键完成扩大<VERSION>
    / opt/mapr/hive/hive-  0.9  /斌/蜂巢
  3. 蜂房>提示符下,键入以下命令来创建表:
    CREATE TABLE web_log(viewTime INT,BIGINT用户ID,URL字符串,引用字符串,IP串)TERMINATED BY行格式分隔的字段 '\ T'  ;
  4. 键入以下命令从数据加载采样table.txt到表:
    LOAD DATA LOCAL INPATH  '的/ home / MAPR /采样table.txt'  INTO TABLE web_log;
对表运行基本查询:
  • 尝试最简单的查询,一个显示在表中的所有数据:
    选择web_log * FROM web_log。;
    这个查询是不明智的一个大表,但与小样本表很迅速恢复。
  • 尝试一个简单的SELECT来提取所需的字符串匹配唯一的数据:
    选择web_log * FROM web_log WHERE web_log.url等。 '%DOC'  ;
    这个查询会启动一个MapReduce作业来筛选数据。

启动蜂巢

您可以使用启动配置单元外壳蜂巢命令。当蜂巢外壳启动时,它会读取称为初始化文件。hiverc其位于HIVE_HOME /斌/$ HOME /目录。您可以编辑这个文件来设置初始化蜂房命令行环境,每行一个命令自定义参数或命令。

当您运行配置单元外壳,可以指定使用一个MySQL初始化脚本文件-I选项。例如:

蜂房,我<FILENAME>

管理蜂巢Metastore

由于MAPR版本3.0.2,蜂房Metastore会自动由监狱长在安装时,如果启动  MAPR-hivemetastore 安装包。它有时需要启动或停止服务(例如,更改配置后),  您可以启动和停止蜂巢Metastore在两个方面:

  • 使用maprcli节点服务的命令-使用此命令,你可以在同一时间启动蜂巢Metastore在多个节点上。
  • 使用MAPR控制系统

 

若要使用maprcli启动蜂巢Metastore:
  1. 使在其上配置单元Metastore配置的节点的列表。
  2. 发行maprcli节点服务的命令,指明其蜂巢Metastore配置,以空格分隔的节点。例如:

    maprcli节点服务名称hivemetastore行动启动节点node001的node002 node003
要使用maprcli停止蜂巢Metastore:
  1. 使在其上配置单元Metastore配置的节点的列表。
  2. 发行maprcli节点服务的命令,指明其蜂巢Metastore配置,以空格分隔的节点。例如:

    maprcli节点服务名称hivemetastore行动停止节点node001的node002 node003
要启动或使用MAPR控制系统停止蜂巢Metastore:
  1. 在导航窗格中,展开群集视图窗格,然后单击  控制面板
  2. 在服务窗格中,单击  配置单元Metastore 打开节点显示屏幕上所有的蜂巢Metastore配置的节点。
  3. 在节点屏幕上,单击每个节点的主机名来显示其节点属性的屏幕。
  4. 在每个节点属性屏幕上,使用  停止/启动  下管理服务的蜂房Metastore排按钮,开始配置单元Metastore。

管理Hiveserver2

由于MAPR版本3.0.2,Hiveserver2会自动在安装时如果开始由监狱长MAPR-hiveserver2安装包。它有时需要启动或停止服务(例如,更改配置后),  您可以启动和停止Hiveserver2在两个方面:

  • 使用maprcli节点服务的命令-使用此命令,你可以在同一时间在多个节点上启动Hiveserver2。
  • 使用MAPR控制系统

 

若要使用maprcli开始Hiveserver2:
  1. 使在其上Hiveserver2配置的节点的列表。
  2. 发行maprcli节点服务的命令,指明其Hiveserver2配置,以空格分隔的节点。例如:

    maprcli节点服务名称hiveserver2行动启动节点node001的node002 node003
要使用maprcli停止Hiveserver2:
  1. 使在其上Hiveserver2配置的节点的列表。
  2. 发行maprcli节点服务的命令,指明其Hiveserver2配置,以空格分隔的节点。例如:

    maprcli节点服务名称hiveserver2行动停止节点node001的node002 node003
要启动或使用MAPR控制系统停止Hiveserver2:
  1. 在导航窗格中,展开群集视图窗格,然后单击  控制面板
  2. 在服务窗格中,单击Hiveserver2 打开节点显示屏幕上所有的Hiveserver2配置的节点。
  3. 在节点屏幕上,单击每个节点的主机名来显示其节点属性的屏幕。
  4. 在每个节点属性屏幕上,使用停止/启动  下管理服务的Hiveserver2排按钮开始Hiveserver2。

采用蜂巢与MAPR卷

在你运行一个作业,设置在蜂房暂存目录和Hive仓库目录相同的地方所在的蜂房作业的数据量。这是最有效的方式来设置的目录结构。如果蜂房暂存目录和蜂巢仓库目录是在不同的卷,蜂房需要移动数据通过量,比相同体积内的移动速度较慢。

在早期MAPR版本(2.1之前的版本),设置在不同的MAPR卷的划痕和仓库的目录可能会导致错误。

以下部分提供了额外的细节准备卷和目录与蜂巢的使用。

默认配置单元目录

这是没有必要创建和文件模式蜂房的/ tmp/用户/蜂巢/仓库目录中MAPR集群。默认情况下,MAPR创建,当你创建你的第一个蜂房表配置这些目录为您服务。

这些默认目录中定义的$ HIVE_HOME / conf /中蜂房-default.xml中的文件:

的<configuration>
   ...
   的<p​​roperty>
     <NAME> hive.exec.scratchdir </名称>
     值<value> / tmp/hive- $ \ {user.name} </值>
     <DESCRIPTION>暂存空间   蜂房工作</说明>
   </财产>
 
   的<p​​roperty>
     <NAME> hive.metastore.warehouse.dir </名称>
     值<value> /用户/蜂巢/仓库</值>
     的<DESCRIPTION>位置 默认  数据库   仓库</说明>
   </财产>
   ...
</配置>

如果您需要修改其中的一个目录或两者的默认名称,创建一个$ HIVE_HOME / conf /中蜂房-site.xml中为此文件,如果它不存在。

复制hive.exec.scratchdir和/或hive.metastore.warehouse.dir从属性的元素蜂房-default.xml中的文件,并将其粘贴到一个XML配置元素蜂房的site.xml文件。修改这些目录中的价值元素在蜂房的site.xml为所需的文件,然后保存并关闭该蜂房的site.xml文件并关闭蜂房-default.xml中的文件。

蜂巢暂存目录

运行在从MAPR量数据,设置导入作业时hive.exec.scratchdir到一个目录中的同一地方居住作业的数据量。该目录应该是下卷的挂载点(如在观察成交量属性) -例如,/ tmp目录

您可以从蜂巢shell中设置此参数。例如:

蜂巢>设置hive.exec.scratchdir = / myvolume / tmp目录

如何蜂巢把手划伤目录上MAPR

当一个查询需要  ,需要配置单元来查询现有的表和数据创建新表,蜂房使用以下工作流程:

  1. 创建查询暂存目录  hive_ 的<timestamp> _ <randomnumber>  下  /用户/ <USERNAME>的/ tmp /蜂巢。你可以用配置此目录的位置  hive.exec.scratchdir  参数  蜂房的site.xml

  2. 创建以下目录作为临时目录的子目录:

    1. 最终的查询输出目录。此目录的名称的形式为  -EXT- <number>个

    2. 输出目录为每个MapReduce作业。这些目录名的形式为  -MR- <number>个

  3. 蜂巢执行任务,包括MapReduce作业,并加载数据到查询输出目录。

  4. 加载配置单元从输出目录中的数据插入表中。默认情况下,该表的目录是在  /用户/蜂巢/仓库  目录。您可以配置此位置,  hive.metastore.warehouse.dir 参数在  蜂房-site.xml中,除非该表的DDL指定自定义位置。蜂巢重命名输出目录表中的目录,以便将输出数据装载到表..

MAPR使用  ,这是个逻辑单元,让您将策略应用到一组文件,目录和分卷。当输出目录和表目录位于不同的卷,此工作流程涉及多个卷移动数据。这招比体积内移动数据速度较慢。为了避免跨边界卷移动数据,  设置蜂巢暂存目录是在相同的体积为查询表数据。

为了使这个临时目录自动设置,在设置以下属性  蜂房的site.xml

的<p​​roperty>
   <NAME> hive.optimize.insert.dest.volume </名称>
   值<value>真</值>
   <DESCRIPTION>对于CREATE TABLE AS和INSERT查询创建目标目录下的临时目录。这就避免了整个卷上的数据移动并提高性能。</说明>
</财产>

查询成功完成后,这些划痕目录被自动删除。

蜂巢仓库目录

当编写移动表之间的数据查询,确保这些表都在同一个卷。默认情况下,所有卷的路径“/用户/蜂巢/仓库”根卷下下创建的。由属性指定此值hive.metastore.warehouse.dir,您可以从蜂巢shell中设置。例如:

蜂巢>设置hive.metastore.warehouse.dir = / myvolume /用户目录

设置蜂房与一个MySQL Metastore

对蜂房表和分区的元数据存储在蜂房Metastore(有关详细信息,请参阅配置单元项目文档)。默认情况下,在MAPR-FS的嵌入式Apache Derby数据库的蜂房Metastore存储所有配置单元的元数据。德比只允许一次一个连接,如果你想多个并发蜂巢会话,可以使用MySQL的蜂房Metastore。您可以在任何机器,是从蜂房访问上运行蜂巢Metastore。

先决条件

  • 确保MySQL的安装在你要运行的Metastore,并确保您能够从蜂巢机器连接到MySQL服务器的机器上。你可以用下面的命令来测试这一点:

    mysql的-H <HOSTNAME>-U <USER>
  • 数据库管理员必须创建为蜂房metastore数据的数据库,并在指定的用户名javax.jdo.ConnectionUser必须有权限来访问它。可使用被指定的数据库的ConnectionURL参数。该表和模式是在第一次启动metastore自动创建。
  • 下载并安装驱动程序MySQL的JDBC连接。例如:

    $卷曲  焦油XZ
    $ sudo的CP了mysql-connector-java的 5.1  18  /了mysql-connector-java的-  5.1  18  -bin.jar / opt/mapr/hive/hive- <VERSION> / lib中/

蜂巢配置为MySQL

创建文件蜂房的site.xml的配置单元配置目录(/ opt/mapr/hive/hive- <VERSION> / conf目录)由下面的例子中的内容。然后设置参数如下:

  • 您可以通过添加命令设置勤俭节约URI的特定端口的出口METASTORE_PORT = <PORT>到文 ​​件蜂房-env.sh(如果蜂房-env.sh不存在,在蜂巢配置目录中创建它)。例如:

    出口METASTORE_PORT =  9083
  • 要连接到现有的MySQL metastore,确保的ConnectionURL参数和勤俭节约的URI中的参数蜂房的site.xml点到metastore的主机和端口。
  • 一旦你的配置设置,使用以下命令(使用tab自动完成,填补了启动蜂房Metastore服务<VERSION>):

    / opt/mapr/hive/hive- <VERSION> /斌/蜂巢 - 服务metastore

    您可以使用nohup的蜂房-服务metastore在后台运行metastore。

例如蜂房的site.xml
的<configuration>
 
  的<p​​roperty>
     <NAME> hive.metastore.local </名称>
     值<value>  </值>
     <DESCRIPTION>控制是否连接到删除metastore服务器或打开一个   的蜂房客户端JVM </说明> metastore服务器
  </财产>
 
  的<p​​roperty>
     <NAME> javax.jdo.option.ConnectionURL </名称>
     值<value>的jdbc:mysql的: / /本地主机:3306/hive createDatabaseIfNotExist =真</值>
     <DESCRIPTION> JDBC连接字符串   一个JDBC metastore </说明>
</财产>
 
  的<p​​roperty>
     <NAME> javax.jdo.option.ConnectionDriverName </名称>
     值<value> com.mysql.jdbc.Driver </值>
     <DESCRIPTION>驱动程序     一个JDBC metastore </说明>
  </财产>
 
  的<p​​roperty>
     <NAME> javax.jdo.option.ConnectionUserName </名称>
     值<value>根</值>
     <DESCRIPTION>的用户名来对付metastore数据库</说明>
  </财产>
 
  的<p​​roperty>
     <NAME> javax.jdo.option.ConnectionPassword </名称>
     值<value> <fill与强密码</值>
     <DESCRIPTION>密码来对付metastore数据库</说明>
  </财产>
 
  的<p​​roperty>
     <NAME> hive.metastore.uris </名称>
     值<value>节俭: / /本地主机:9083 </值>
  </财产>
 
</配置>

蜂房,HBase的整合

您可以创建从蜂房HBase的表,可以通过这两个配置单元和HBase的访问。这使您可以运行蜂巢疑问HBase的表。您也可以将现有的HBase表到蜂房HBase的表和运行蜂巢查询这些表以及。

在本节中:

安装和配置蜂房和HBase的

1,安装和配置蜂巢如果它尚未安装。

2,安装和配置HBase的,如果它尚未安装。

3。执行太平绅士的命令,并确保所有相关的Hadoop,HBase的和动物园管理员进程正在运行。

例如:

$太平绅士
21985  HRegionServer
1549  jenkins.war
15051  QuorumPeerMain
30935  JPS
15551  CommandServer
15698  HMASTER
15293  JobTracker的
15328  TaskTracker必须
15131  WardenMain

配置蜂房-site.xml的文件

1。打开蜂房的site.xml用你喜欢的编辑器文件,或创建一个蜂房的site.xml,如果它不存在的文件:

$ CD $ HIVE_HOME
$六conf /中蜂房的site.xml

2。复制下面的XML代码并将其粘贴到蜂房的site.xml文件。

注意:如果您已经有一个现有的蜂房的site.xml与文件的配置元素块,刚才复制的属性如下元素块代码,并将其粘贴在里面配置中的元素块蜂房的site.xml文件。

配置示例:

的<configuration>
 
的<p​​roperty>
   <NAME> hive.aux.jars.path </名称>
   <value>file: ///opt/mapr/hive/hive-0.10.0/lib/hive-hbase-handler-0.10.0-mapr.jar,file:///opt/mapr/hbase/hbase-0.94.5/hbase-0.94.5-mapr.jar,file:///opt/mapr/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.jar</value>
   所需的jar文件的<DESCRIPTION>以逗号分隔的列表(无空格)   蜂房HBase的整合</说明>
</财产>
 
的<p​​roperty>
   <NAME> hbase.zookeeper.quorum </名称>
   值<value> xx.xx.x.xxx,xx.xx.x.xxx,xx.xx.x.xxx </值>
   <DESCRIPTION>集群中的所有服务器动物园管理员的IP地址以逗号分隔的列表(无空格)。</说明>
</财产>
 
的<p​​roperty>
   <NAME> hbase.zookeeper.property.clientPort </名称>
   值<value>  5181  </值>
   <DESCRIPTION>动 ​​物园管理员客户端端口。该MAPR  默认  CLIENTPORT是 5181  。</说明>
</财产>
 
</配置>


3。保存并关闭蜂房的site.xml文件。

如果您已成功完成本安装和配置蜂房和HBase的部分中的所有步骤,您就可以开始在下一节中的入门蜂房HBase的整合教程。

入门蜂房HBase的整合

在本教程中,您将:

  • 创建一个配置单元表
  • 填充蜂巢表从文本文件中的数据
  • 查询蜂房表
  • 创建一个蜂房HBase的表
  • 从HBase的内省蜂房HBase的表
  • 填充蜂巢,HBase的表从蜂巢表中的数据
  • 从蜂房查询蜂房HBase的表
  • 现有的HBase的表格转换成蜂房HBase的表

请确保您已成功完成了安装和配置蜂房和HBase的所有的步骤开始之前,这个入门教程。

本入门教程紧密平行的蜂房,HBase的集成了Apache蜂巢维基的部分,并感谢塞缪尔国和其他捐助者的努力。如果你熟悉他们的方法蜂房HBase的整合,您应立即用这种材料舒适。

但是,请注意,在这个入门款的一些显著的差异,特别是有关配置和命令参数或缺乏。请按照本入门教程,以信这样你就可以有一个愉快和成功经验的说明。

有两列创建一个配置单元表:

改变你的蜂巢安装目录,如果你不是已经存在,并开始蜂巢:

$ CD $ HIVE_HOME
$斌/蜂巢


执行CREATE TABLE命令创建的蜂巢  表:

蜂巢> CREATE TABLE捅(foo的诠释,酒吧STRING);


看是否  表已创建成功,执行 SHOW TABLES 命令:

蜂巢> SHOW TABLES;
所需时间: 0.74 

表出现在表列表中。填充蜂巢表数据

执行LOAD DATA LOCAL INPATH命令填充蜂巢表从数据kv1.txt文件。

kv1.txt文件中所提供的$ HIVE_HOME /实例目录。

蜂巢> LOAD DATA LOCAL INPATH  './examples/files/kv1.txt'  覆写INTO TABLE戳;


出现一条消息,确认表已成功创建,以及蜂巢提示再次出现:

从文件中复制数据:
...
耗时: 0.278 
蜂巢>


执行上的蜂房一个SELECT查询  表:

蜂巢> SELECT * FROM捅其中foo =  98  ;


SELECT语句执行时,运行MapReduce作业,并打印作业输出:

98        val_98
98        val_98
所需时间: 18.059 

SELECT命令的输出显示两个相同的行,因为有在蜂房两个相同的行表98的关键。注:这是一个蜂房表可以有多个相同的密钥概念的一个很好的例证。正如我们很快就会看到,HBase的表不能有多个相同的密钥,只有唯一键。要创建一个蜂房HBase的表,在蜂巢提示符下输入以下四行代码:



蜂巢> CREATE TABLE hbase_table_1(键 整型 ,字符串值)
     > STORED BY  'org.apache.hadoop.hive.hbase.HBaseStorageHandler“
     >与SERDEPROPERTIES( “hbase.columns.mapping”  “:关键,CF1:VAL” 
     > TBLPROPERTIES( “hbase.table.name”  “XYZ”  );

经过短暂的延迟,会出现一条消息,确认表已成功创建:

耗时: 5.195 


注意:不是必需的TBLPROPERTIES命令,但这些新的配置单元,HBase的整合可能会发现它更容易理解这是怎么回事,如果蜂房和HBase的使用不同的名称相同的表。

在此示例中,配置单元将识别该表中的“hbase_table_1”和HBase的将识别此表为“xyz”。启动HBase的壳:

保持蜂巢终端会话打开,启动一个新的终端会话的HBase,然后启动HBase的外壳:

$ CD $ HBASE_HOME
$斌/ HBase的壳
HBase的外壳;进入 “帮助<RETURN>”    支持的命令列表。
键入 “退出<RETURN>”  离开HBase的壳
版本 0.90  ,rUnknown,星期三十一月   17  35  00  PST  2011
 
HBase的(主要): 001  >


执行 列表 命令查看HBase的表的列表:

HBase的(主要): 001  >列表
XYZ
行(S) 0.8260 

HBase的识别蜂房HBase的表名为xyz的。这是已知的蜂房一样的表hbase_table_1

显示的描述 XYZ 中的HBase的壳表:

HBase的(主要): 004  >形容 为“xyz”
说明enabled
  {NAME =>  'XYZ'  ,族=> [{NAME =>  'CF1'  ,BLOOMFILTER =>  '无'  ,REPLICATI 
  ON_SCOPE =>  '0'  ,压缩=>  '无'  ,VERSIONS =>  '3'  ,TTL =>  '2147483647'  ,BL
  OCKSIZE =>  '65536'  ,IN_MEMORY =>  '假'  ,BLOCKCACHE =>  '真'  }]}
行(S) 0.0190 


从蜂巢提示,从蜂巢表中插入数据  到蜂房HBase的表 hbase_table_1

蜂巢> INSERT覆写表hbase_table_1 SELECT * FROM捅其中foo =  98  ;
...
行加载到hbase_table_1
所需时间: 13.384 


查询 hbase_table_1 看到我们插入了蜂房,HBase的表中的数据:

蜂巢> SELECT * FROM hbase_table_1;
98        val_98
所需时间: 0.56 


虽然我们装两排从蜂巢表中有98相同的密钥,只有一行实际上插入hbase_table_1。这是因为hbase_table_1是HBASE表,虽然蜂巢表支持重复键,HBase的表只支持唯一键。HBase的任意表只保留一个键,并且将自动丢弃所有重复键关联的数据。预先存在的HBase的表转换为配置单元,HBase的表

要转换一个预先存在的HBase的表到一个蜂房HBase的表中,输入下列四个命令在蜂房提示。

请注意,在这个例子中,现有的HBase表是my_hbase_table

蜂巢> CREATE EXTERNAL TABLE hbase_table_2(键 整型 ,字符串值)
     > STORED BY  'org.apache.hadoop.hive.hbase.HBaseStorageHandler“
     >与SERDEPROPERTIES( “hbase.columns.mapping”  “CF1:VAL” 
     > TBLPROPERTIES( “hbase.table.name”  “my_hbase_table”  );


现在我们可以运行一个配置单元查询对预先存在的HBase表my_hbase_table的蜂巢看见作为hbase_table_2

蜂巢> SELECT * FROM hbase_table_2其中key>  400  和密钥<  410  ;
总MapReduce作业=  1
启动工作 1
为减少任务数量设置为 ,因为没有减少操作者
...
401       val_401
402       val_402
403       val_403
404       val_404
406       val_406
407       val_407
409       val_409
耗时: 9.452 

入门蜂房MAPR表整合

MAPR表,在MAPR分布的Hadoop的3.0版本中引入,使用原生的MAPR-FS存储层。与MAPR表蜂巢一体的完整教程可在整合蜂巢和MAPR表

动物园管理员连接

如果你看到下面的错误消息,请确保hbase.zookeeper.quorumhbase.zookeeper.property.clientPort都在正确定义$ HIVE_HOME / conf /中蜂房的site.xml文件。

失败,异常IOException将给:org.apache.hadoop.hbase.ZooKeeperConnectionException:
HBase的是能够连接到ZooKeeper的但连接立即关闭。这可能是一个
签署服务器有太多的连接( 30  默认的 )。考虑你的检查
ZK服务器日志 对于  该错误,然后确保你正在使用HBaseConfiguration尽可能多
你可以。见HTable的javadoc中   更多信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值