hive与hbase数据类型对应关系

hive与hbase数据类型对应关系

当hbase中double,int 类型以byte方式存储时,用字符串取出来必然是乱码。

在hivd与hbase整合时也遇到这个问题:做法是:#b

1.加#b

CREATE EXTERNAL TABLE hivebig (key string,CUST_NAME string,PHONE_NUM int,BRD_WORK_FLUX double)

STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,bd:CUST_NAME,bd:PHONE_NUM#b,bd:BRD_WORK_FLUX#b")

TBLPROPERTIES ("hbase.table.name" = "bigtable2");

2.不加#b时,hive shell读取出来是乱码

CREATE EXTERNAL TABLE hivebig (key string,CUST_NAME string,PHONE_NUM int,BRD_WORK_FLUX double)

STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,bd:CUST_NAME,bd:PHONE_NUM,bd:BRD_WORK_FLUX")

TBLPROPERTIES ("hbase.table.name" = "bigtable2");

select * FROM hivebig;

select * FROM hivebig where PHONE_NUM > 1;

select * FROM hivebig where BRD_WORK_FLUX > 1555;

cf:val#s 中的#s就表示类型为string,cf:foo没有配置类型,则采用hbase.table.default.storage.type的配置,#b为binary

时间: 2024-10-13 08:57:19

hive与hbase数据类型对应关系的相关文章

hive存储处理器(StorageHandlers)以及hive与hbase整合

此篇文章基于hive官方英文文档翻译,有些不好理解的地方加入了我个人的理解,官方的英文地址为: 1.https://cwiki.apache.org/confluence/display/Hive/StorageHandlers 2.https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration 一 存储处理器介绍 通过HIVE存储处理器,不但可以让hive基于hbase实现,还可以支持cassandra JDBC MongoD

教程 | 使用Sqoop从MySQL导入数据到Hive和HBase

基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 Sqool和Hive.HBase简介 Sqoop Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. Hiv

hive和hbase

hive:适合用来进行分析统计: hbase:用来进行实时查询. hive的应用答题相当于mysql: 切换到当前数据库:hive:use database; 创建数据库命令:hive:create database financials; 删除数据库时,不允许删除的数据库中有数据,若有数据则会报错.这是可以用加有CASCADE关键字的命令删除: hive:drop database databasename cascade; 或者:drop database if exists databas

hive与hbase整合

配置环境. hadoop 2.4 hbase 0.98.3 hive 0.13.1(源用的mysql) 配置. 分2种情况(1.hbase与hive在一台机器上,2.hbase与hive不在同一台机器上) (1)hbase与hive在一台机器上 比较简单,只需要在环境变量里把hbase,hive的home配置好即可.当然也可以按照不在一台进行配置. #config hadoop export HADOOP_HOME=/home/hUser/hadoop-2.4.0 export PATH=$HA

hive与hbase

作者:有点文链接:https://www.zhihu.com/question/21677041/answer/185664626来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 先放结论:Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用. 一.区别: Hbase: Hadoop database 的简称,也就是基于Hadoop数据库,是一种NoSQL数据库,主要适用于海量明细数据

hive 与 hbase 结合

一.hive与hbase的结合Hive会经常和Hbase结合使用,把Hbase作为Hive的存储路径,所以Hive整合Hbase尤其重要.使用Hive读取Hbase中的数据,可以使用HQL语句在HBase表上进行查询.插入操作:甚至是进行Join和Union等复杂查询.此功能是从Hive 0.6.0开始引入的.Hive与HBase整合的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive-hbase-handler-*.jar工具里面的类实现的.使用Hive操作HBase中

HIVE和HBASE区别

1. 两者分别是什么? Apache Hive是一个构建在Hadoop基础设施之上的数据仓库.通过Hive可以使用HQL语言查询存放在HDFS上的数据.HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Hadoop. Apache HBase是一种Key/Value系统,它运行在HDFS之上.和Hive不一样,Hbase的能够在它的数据库上实时运行,而不是运行MapRedu

Hive集成HBase;安装pig

Hive集成HBase 配置 将hive的lib/中的HBase.jar包用实际安装的Hbase的jar包替换掉 cd /opt/hive/lib/ ls hbase-0.94.2* rm -rf hbase-0.92* cp /opt/hbase/hbase-0.94.2* 将Hive的lib/中的zookeeper.jar包用HBase中lib/中的替换掉 步骤同上 在hive-site.xml中添加: <property> <name>hive.aux.jars.path&l

Hive(五):hive与hbase整合

配置 hive 与 hbase 整合的目的是利用 HQL 语法实现对 hbase 数据库的增删改查操作,基本原理就是利用两者本身对外的API接口互相进行通信,两者通信主要是依靠hive_hbase-handler.jar工具类. 但请注意:使用Hive操作HBase中的表,只是提供了便捷性,前面章节已经介绍,hiveQL引擎使用的是MapReduce,对于性能上,表现比较糟糕,在实际应用过程中可针对不同的场景酌情使用. 注意:本文介绍的内容适用的版本见我前面章节,HDP2.4.2 ( HBase