首页 > 其他分享 >HBase-通过外部表将Hive数据写入到HBase

HBase-通过外部表将Hive数据写入到HBase

时间:2023-10-18 16:22:25浏览次数:35  
标签:String hive Hive test table HBase csv 表将 hbase

a) 准备测试数据

这里准备的csv文件data_test.csv,内容没用''包裹,逗号作为列分隔符

171301,燕青,男,27,发展部

171207,武松,男,39,开发部

171307,李逵,男,41,开发部

320812,宋江,男,45,战略部

321009,顾大嫂,女,38,后勤部

171312,卢俊义,男,43,发展部

 

 

b) hbase创建表

create  ‘test’,{NAME=>'info',COMPRESSION => 'SNAPPY',DATA_BLOCK_ENCODING => 'FAST_DIFF'} ;

 

c) hive中创建表

create table  tbl_csv_test

(

key String,

name string,

sex String,

age String,

department String

) row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'

with serdeproperties

(   

"separatorChar" = ",",

"escapeChar"    = "\\"

)  

STORED AS TEXTFILE;

 

这是hive创建对于格式表最全的写法,如下

CREATE TABLE csv_table(a string, b string)

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'

WITH SERDEPROPERTIES (   

"separatorChar" = "\t",   

"quoteChar"     = "'",   

"escapeChar"    = "\\"

)  

STORED AS TEXTFILE;

 

 

d将csv文件中的数据导入到hive表

load data local inpath 'data_test.csv' into table tbl_csv_test;

 

e)创建外部表

CREATE EXTERNAL TABLE hive_hbase_external_table(

key String,

name string,

sex String,

age String,

department String

)

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

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:name,info:sex,info:age,info:department")

TBLPROPERTIES ("hbase.table.name" = "test","hbase.mapred.output.outputtable" = "test");

 

f) 将内部表表数据导入外部表

insert  into  hive_hbase_external_table  select  * from  tbl_csv_test ; 

标签:String,hive,Hive,test,table,HBase,csv,表将,hbase
From: https://www.cnblogs.com/yeyuzhuanjia/p/17772662.html

相关文章

  • 关于Hive的常用HiveQL操作
    创建hive数据仓库:createtabledocs(linestring); 从hdfs上传文件到数据库:loaddatainpath'file:///usr/local/hadoop/input'overwriteintotabledocs;根据词汇查询词汇数量:createtableword_countasselectword,count(1)ascountfrom(selectexplode(s......
  • HBase-hbase shell操作
    hbaseshell操作一、DDL操作1.开启hbaseshellhbaseshell 2.查看hbase状态Status 3.查看hbase版本Version 4.创建命名空间create_namespace'命名空间名' 5.显示所有命名空间list_namespace 6.删除命名空间在删除一个命名空间时,该命名空间不能包含任何的表,否则......
  • Hbase-预分区
    Hbase预分区HBase表在刚刚被创建时,只有1个分区(region),当一个region过大(达到hbase.hregion.max.filesize属性中定义的阈值,默认10GB)时,表将会进行split,分裂为2个分区。表在进行split的时候,会耗费大量的资源,频繁的分区对HBase的性能有巨大的影响。HBase提供了预分区功能,即用户可......
  • HBase-统计表总行数的三种方式
     由于Hbase是列式数据库,没有提供类似SQL的数据查询语句,可以通过以下三种方式获取表的总行数。1.使用Hbase自带的Count命令      hbase提供了count命令可以在hbase交互界面使用,获取总行数。hbase>count‘test′hbase>count‘test′,INTERVAL=>100000 ......
  • HBase-宽表和高表的对比
    HBase表设计通常可以是宽表(widetable)模式,即一行包括很多列。同样的信息也可以用高表(talltable)形式存储,通常高表的性能比宽表要高出50%以上,所以推荐大家使用高表来完成表设计。表设计时,我们也应该要考虑HBase数据库的一些特性:1、在HBase表中是通过Rowkey的字典序来进行数据排序......
  • BitBake使用攻略--BitBake的语法知识二(转载自https://www.cnblogs.com/chegxy/archive
    目录写在前面1.BitBake中的任务2.任务配置2.1依赖2.1.1内部任务间的依赖2.1.2不同菜谱下的任务间依赖2.1.3运行时态下的依赖2.1.4递归依赖2.1.5任务间的依赖2.2事件2.3校验和3.ClassExtensionMechanism 写在前面这是《BitBake使用攻略》系......
  • HBase入门指南
    本文已收录至GitHub,推荐阅读......
  • 终于知道如何利用hive的日期转换函数进行日期格式的清洗啦~(之前用的外部数据清洗)
    1、创建合适格式的表result10createtableresult10(ipString,time1String,dayString,trafficString,typeString,idString)rowformatdelimitedfieldsterminatedby','storedastextfile;2、将txt文件的数据插入到表中:loaddatalocalinpath'/data/resul......
  • hive大数据测试(时间数据清洗UDF打包到hive中调用自定义函数,hive表数据导出到本机)
    1.数据清洗pom依赖:<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding&......
  • Hive-服务启动和停止命令
    1、启动命令#!/bin/bashnohuphive--servicemetastore>>$HIVE_HOME/logs/metasotre.log2>&1&nohuphive--servicehiveserver2>>$HIVE_HOME/logs/hiveserver.log2>&1&2、停止命令#!/bin/bashprocess="hive"PID=$(p......