首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

[Hive HBase集成],在创建支持自动导入数据到hbase表的hive表时,如何设置属性hbase.columns.mapping的值?

在创建支持自动导入数据到HBase表的Hive表时,可以通过设置属性hbase.columns.mapping来指定Hive表中的列与HBase表中的列的映射关系。属性hbase.columns.mapping的值可以使用Hive表中的列名来表示,多个列之间使用逗号进行分隔。

具体设置属性hbase.columns.mapping的值的方法如下:

  1. 在创建Hive表时,使用STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'语句指定使用HBase存储处理程序。
  2. 在创建Hive表时,使用TBLPROPERTIES语句指定属性hbase.columns.mapping的值。例如,假设Hive表中有两列,分别为column1和column2,可以设置属性hbase.columns.mapping的值为:'columnFamily:column1,columnFamily:column2'。

示例代码如下所示:

代码语言:txt
复制
CREATE EXTERNAL TABLE hive_table (
  column1 STRING,
  column2 INT
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
  "hbase.columns.mapping" = ":key,columnFamily:column1,columnFamily:column2"
)
TBLPROPERTIES ("hbase.table.name" = "hbase_table");

在上述示例中,属性hbase.columns.mapping的值为':key,columnFamily:column1,columnFamily:column2',表示Hive表中的第一列映射到HBase表的rowkey列,第二列映射到HBase表的columnFamily列下的column1列,第三列映射到HBase表的columnFamily列下的column2列。

需要注意的是,属性hbase.columns.mapping的值中的列名需要与HBase表中的列名保持一致,且列名之间使用逗号进行分隔。

推荐的腾讯云相关产品:腾讯云HBase

腾讯云HBase是一种高可扩展、高可靠性的分布式NoSQL数据库服务,适用于海量结构化数据的存储与访问。它提供了自动分片、自动负载均衡、自动故障恢复等功能,能够满足大规模数据存储和实时查询的需求。

产品介绍链接地址:https://cloud.tencent.com/product/hbase

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何将Hive与HBase整合联用

2、实现将批量数据导入到 HBase 表中。...如果在创建 Hive 表时存在相应的 HBase 表,它将模仿“外部”表的 HDP 2.x 语义。如果在创建 Hive 表时不存在相应的 HBase 表,则它将模仿非外部表的 HDP 2.x 语义。...总结: 不管 HBase 表是否存在,在 Hive 中都要使用 external 表来与 HBase 表进行关联,如果关联的 HBase 表不存在,Hive 会自动创建 HBase 表。...我们可以先创建一个 Hive 内部表,将数据 load 到该表中,最后将查询内部表的所有数据都插入到与 HBase 关联的 Hive 外部表中,就可以了,相当于中转一下。 2....Hive 表与 HBase 表关联后,数据可以在 Hive 端插入,也可在 HBase 中插入。 创建 Hive 外部表与 HBase 的关联,可实现将 Hive 数据导入到 HBase 中。

3.2K20
  • 0693-6.2.0-如何将Hive数据导入HBase

    文档编写目的 在一些业务场景中需要将Hive的数据导入到HBase中,通过HBase服务为线上业务提供服务能力。...本篇文章Fayson主要通过在Hive上创建整合HBase表的方式来实现Hive数据导入到HBase。...可以看到通过上述命令创建Hive与HBase关联表,如果HBase表不存在时会自动创建,但通过Hive将表删除时也同时会删除与之关联的HBase表。...Hive表导数到HBase表 1.准备一个hive的测试表,这里测试表的字段与之前创建的Hive与HBase关联表字段一致,为了能够方便的将数据导入到HBase表中 hive> create table...总结 1.未使用EXTERNAL关键字创建Hive与HBase关联表时,如果HBase表不存在会自动创建,且删除Hive表的同时也会删除HBase表。

    2.3K20

    0884-7.1.6-如何在CDP中集成Hive on HBase

    1.文档编写目的 本篇文章主要介绍如何在Hive中集成HBase,将HBase表映射成Hive表,实现在beeline中查询或者修改HBase的表数据。...与Hive集成 1.登录CM,下载HBase的配置文件,解压后打开hbase-site.xml 2.在安装了HBase的服务器节点输入命令: hbase mapredcp|tr : , 注意:这个命令已经将输出..."C1:Name", "aa" put "test", "01", "C1:Company", "company1" 2、在beeline中创建hive表映射到hbase,可以查询到数据 CREATE...3、无论内部表或者外部表都可以指定一个不存在的HBase表,两种表的区别在于内部表多了两个属性 'TRANSLATED_TO_EXTERNAL'='TRUE' 'external.table.purge...'='TRUE' 4、在Hive中drop table内部表(不加EXTERNAL)会删除掉关联的HBase表,在Hive中drop table外部表(加EXTERNAL)会保留关联的HBase表。

    43220

    Hive+Hbase关联

    count(字段) 来查询会查询到具体数字 Hive2.1.1版本无此问题 Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询...; 其中: hbase.table.name 定义在hbase的table名称 hbase.columns.mapping 定义在hbase的列族 hbase里自动建好hbase_table_1这个表然后在..., Fetched: 2 row(s) 这样建立出来的表插入的源数据都是在Hbase里面存放着,当从Hbase中删除记录的同时也会删除在Hive中的数据 数据可以导入到Hive中另外一个表中独立于Hbase...hbase_table_1 where key = '100'; 上面这种方式是内连表删除Hive中的表同时也会影响到Hbase中的数据 上面是在创建Hive的表的时候一同创建了Hbase的表一般的情况...Hbase的数据可能先存在要怎么关联到Hive中(这类是外链表删除Hive中的表不影响Hbase中的数据) 准备Hbase数据 hbase(main):009:0> create 'student','

    1.6K50

    快速学习-HBaseAPI操作

    的集成 6.4.1 HBase与Hive的对比 Hive (1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。...6.4.2 HBase与Hive集成使用 尖叫提示:HBase与Hive的集成在最新的两个版本中无法兼容。...和HBase查看,都生成了对应的表 (2) 在Hive中创建临时中间表,用于load文件中的数据 提示:不能将数据直接load进Hive所关联HBase的那张表中 CREATE TABLE emp(...命令将中间表中的数据导入到Hive关联HBase的那张表中 hive> insert into table hive_hbase_emp_table select * from emp; (5) 查看Hive...’ 案例二 目标:在HBase中已经存储了某一张表hbase_emp_table,然后在Hive中创建一个外部表来关联HBase中的hbase_emp_table这张表,使之可以借助Hive来分析HBase

    47210

    HBase快速入门系列(8) | 一文教你HBase与Hive如何集成

    (4) 延迟较低,接入在线业务使用   面对大量的企业数据,HBase可以直线单表大量数据的存储,同时提供了高效的数据访问速度。 二. HBase与Hive集成使用 1....测试案例1 目标:建立Hive表,关联HBase表,插入数据到Hive表的同时能够影响HBase表。...在Hive中创建临时中间表,用于load文件中的数据 提示:不能将数据直接load进Hive所关联HBase的那张表中 CREATE TABLE emp( empno int, ename string...通过insert命令将中间表中的数据导入到Hive关联HBase的那张表中 hive> insert into table hive_hbase_emp_table select * from emp;...测试案例2   目标:在HBase中已经存储了某一张表hbase_emp_table,然后在Hive中创建一个外部表来关联HBase中的hbase_emp_table这张表,使之可以借助Hive来分析HBase

    82610

    大数据工具篇之Hive与HBase整合完整教程

    一、引言   最近的一次培训,用户特意提到Hadoop环境下HDFS中存储的文件如何才能导入到HBase,关于这部分基于HBase Java API的写入方式,之前曾经有过技术文章共享,本文就不再说明...本文基于Hive执行HDFS批量向HBase导入数据,讲解Hive与HBase的整合问题。这方面的文章已经很多,但是由于版本差异,可操作性不大,本文采用的版本均基于以下版本说明中的版本。...二、版本说明 序号 软件 版本 1 Hive 0.10.0 2 HBase 0.94.0 3 Hadoop 1.0.1 三、配置指南 3.1 创建配置文件   cp conf/hive-default.xml.template...进行拷贝复制的hive-site.xml文件有问题,主要集中在标签不配对的情况,需要根据错误提示进行修改,修改完成后的配置文件如下所示:   View...  3.4 拷贝Jar包到Hive/lib目录   hbase-0.94.0.jar,zookeeper-3.4.3.jar 四、测试脚本-创建HBase能够识别的数据表 1 CREATE TABLE

    74740

    Hive使用ORC格式存储离线表

    看下几个步骤: (1)集成Hive+Hbase,使得Hive可以关联查询Hbase表的数据,但需要注意的是,hbase表中的每个字段都有时间戳版本,而进行hive映射时是没办法 指定的timestamp...的,在hive1.x之后可虽然可以指定,但是还是有问题的,不建议使用,如果想要标识这一个rowkey的最后修改或者更新时间,可以单独添加一个字段到hbase表中, 然后就可以使用Hive映射了。..." (3)由于orc格式,无法直接从text加载到hive表中,所以需要加入一个中间临时表,用于中转数据,先将 text数据导入一个文件格式weitextfile的表,然后再把这个表的数据直接导入...orc的表,当然现在我们的数据源 在hbase中,所以,先建立hive关联hbase的表,然后在建里一个orc的表,用来放数据,sql如下: Sql代码 drop table if exists...的组合,查询时比直接 hive关联hbase表查询性能要高一点,当然缺点是数据与数据源hbase里的数据不同步,需要定时增量或者全量,用于离线分析。

    6.1K100

    大数据学习系列之五 ----- Hive整合HBase图文详解

    Hive整合HBase后的使用场景: (一)通过Hive把数据加载到HBase中,数据源可以是文件也可以是Hive中的表。 (二)通过整合,让HBase支持JOIN、GROUP等SQL查询语法。...打开xshell的两个命令窗口 一个进入hive,一个进入hbase 6.2.1在hive中创建映射hbase的表 在hive中创建一个映射hbase的表,为了方便,设置两边的表名都为t_student...hbase.columns.mapping 是定义在hbase的列族。 例如:st1就是列族,name就是列。...在hive中创建表t_student,这个表包括两个字段(int型的id和string型的name)。...’ 可以看到表已经成功的创建了 6.2.2数据同步测试 进入hbase之后 在t_student中添加两条数据 然后查询该表 put 't_student','1001','st1:name','

    1.4K00

    hbase mapping hive error

    hbase mapping hive error error msg message:org.apache.hadoop.hive.serde2.SerDeException org.apache.hadoop.hive.hbase.HBaseSerDe...在创建hive/hbase相关联的表时,hbase表结构默认会有一个字段key,如果没有一个显示的字段'key'那么在创建表的进修,会自己创建,这样hive对应的表就会出现问题,所以在hive对应的表里一定要加上...key这个字段,为了避免这个问题,在hbase表结构里可以显示的添加'key'字段,这样不容易出问题。..."企业ID", `original_id` int comment "原始的客户ID(用于记录老crm中的客户数据的ID)", `cust_name` string comment "客户名称", `..."企业ID", `original_id` int comment "原始的客户ID(用于记录老crm中的客户数据的ID)", `cust_name` string comment "客户名称", `

    87520

    Hadoop Hive与Hbase整合+thrift

    另外,你必须在创建Hive库表前,在HDFS上创建/tmp和/hive/warehousedir(也称为hive.metastore.warehouse.dir的),并且将它们的权限设置为chmod g...启动hive,这个又可以分为启动metastore和hiveserver,其中metastore用于和mysql之间的表结构创建或更新时通讯,hiveserver用于客户端连接,这这个都要启动,具体的启动命令...与Hbase整合 之前我们测试创建表的都是创建本地表,非hbase对应表。现在我们整合回到hbase。..."xyz"); hbase.table.name 定义在hbase的table名称 hbase.columns.mapping 定义在hbase的列族 在hbase 下也能看到,两边新增数据都能实时看到...2.使用sql导入数据 如果要insert 与hbase整合的表,不能像本地表一样load,需要利用已有的表进行。

    1.6K20

    HBase和Hive整合

    把HIVE_HOME/lib/hive-hbase-handler-1.2.1.jar 复制到HBASE_HOME/lib/下 2....把HBASE_HOME/lib下所有的jar 复制到HIVE_HOME/lib/下 # -n 表示对于目标路径下已经存在的文件,则不复制过去 cp -n $HBASE_HOME/lib/* $HIVE_HOME...hbase表关联的hive表,需为外部表 关联所有列 CREATE EXTERNAL TABLE hive_student (key string,info map) STORED...说明 1-3步骤不是必须的,如果没有进行1-3步骤的设置,那么想要让hive和hbase整合,每次进入hive命令行后,需要进行如下配置: (1) 指定 hbase 所使用的 zookeeper 集群的地址...中使用的根目录 set zookeeper.znode.parent=/var/zookeeper/local; # 该路径在hbase-site.xml可以查询,你在搭建hbase集群的时候,这个参数是必须设置的

    1K30

    Spark大数据集群日常开发过程遇到的异常及解决思路汇总

    : SYSTEM在创建带有命名空间的表时,例如创建表名为SYSTEM:SYSTEM_LOG时出现以下异常—— Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException...五、HBase表映射到Hive表当作外部表,显示整数列为NULL将HBase的表结构映射到Hive创建一个Hive外部表时,创建的语句刚开始是这样的——CREATE EXTERNAL TABLE test...,INFO:count5,INFO:count6")TBLPROPERTIES ("hbase.table.name" = "test");该脚本能正常运行完成,但是进入到Hive,HIve查询到整数对应的字段都为...NULL,正常情况下, 应该为0或者非0的数字才对,这说明创建Hive外部表有问题——后来修改成这样,Hive就能正常映射到Hbase的byte整数字段值了——CREATE EXTERNAL TABLE..."test");再次查询Hive,就发现整数对应的值都有了—— 这时才是正确的,六、RDD之foreach和foreachPartition方法日志查看这两个方法内的日志,在driver端是看不到的,

    1.3K00
    领券