楼主说的是Hive,不是HBase。从Oracle里面头导出数据为平面文件后,导入HDFS里面。Hive里面的表结构是要自己手工定的。
建表可以自己写个小程序实现,根据oracle字典表和hive的建表规则,每个地方使用hive的情景不同,建表也不同。数据装载可以用sqoop来实现。
你可以安装下SQOOP,注意这个跟HADOOP的版本要对应的,不然会出现一些问题。以下是我项目用到的例子,不过我有个更高级的方法,只需配到表就行了,就是写个JAVA程序,然后自动生成对应的脚本,再执行就可以了。转载,仅供参考。
1查询语言不同:hql/sql
2数据存储位置不同:hdfs/数据库系统
3数据格式:可自定义/数据库系统定义格式
4数据更新:Hive不支持数据更新/mysql支持数据更新update
本文说明如何通过把Hive中的数据备份到磁盘中,并从磁盘中恢复到Hive中。
1,把Hive中的表数据备份到磁盘中。
备份示例:
以上语句说明,把src_companyinfo表中的数据以‘|’为分隔符号,并备份到“/root/grc_bigdata/backup/src_companyinfo”目录中。
备份之后的目录结构如下:
在Hue中浏览的src_xtbillmx2013_st的目录结构如下:
从以上结果可以看出,数据文件输出的个数与表在Hive中存储的文件个数不一定一致。
2,把磁盘中的文件恢复到Hive中。
先在hive中执行建表脚本:
然后在Hive中执行如下导入命令:
3,在Hive中备份46个表、一共552GB的数据到Linux文件系统,一共耗时55386 秒,大概154个小时。
从Linux文件系统中恢复以上数据,耗时41217秒,大概114个小时。
原文
问题描述:
当我们想要删除Hive表中部分符合条件的数据时:
发现Hive表删除数据不能使用DELETE FROM table_name 中SQL语句
drop table 表名;
如果要永久性删除,不准备再恢复:
drop table 表名 purge;
推荐博客: 让Hive支持行级insert、update、delete
参考博客:
>
以上就是关于hive数据库怎么建表和数据装载全部的内容,包括:hive数据库怎么建表和数据装载、数据库里面mysql和hive区别是什么、Hive数据备份和恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)