如何把sql server中的数据导入hive,再导入hbase

[复制链接]
查看11 | 回复8 | 2021-1-27 05:40:48 | 显示全部楼层 |阅读模式
关系型数据库(如sqlserver,oracle,mysql)中某张表的主键为复合主键,如何把这张表的数据导入hive?再把该表数据导入到HBase中去?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
把表结构刷清晰点,不然后面的人怎么回答你,不具体
回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
比如我在sqlserver中有一张表,表中有3个字段,id,name,age。表的主键为复合主键,由字段id和字段name组成。现在我要把这张表中的数据先导入到hive中,再从hive中导入到hbase中。数据中id是有重复的,name也是有重复的,id和name的组合是唯一的。
回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
引用1楼laol850的回复:把表结构刷清晰点,不然后面的人怎么回答你,不具体
比如我在sqlserver中有一张表,表中有3个字段,id,name,age。表的主键为复合主键,由字段id和字段name组成。现在我要把这张表中的数据先导入到hive中,再从hive中导入到hbase中。数据中id是有重复的,name也是有重复的,id和name的组合是唯一的。
回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
方法1.可以用用SQOOP直接把SQLSERVER的数据直接导入Hbase
方法2.先把SQLSERVER数据导出成文件,再把文件Put到HDFS上,对应Hive表目录,最后可以在Hbase表上创建一张Hive的外部表关联Hbase表,通过Insertinto把Hive的数据插入到Hbase表中
回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
引用4楼莫忘的回复:方法1.可以用用SQOOP直接把SQLSERVER的数据直接导入Hbase
方法2.先把SQLSERVER数据导出成文件,再把文件Put到HDFS上,对应Hive表目录,最后可以在Hbase表上创建一张Hive的外部表关联Hbase表,通过Insertinto把Hive的数据插入到Hbase表中

表的主键是复合主键啊!
回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
从sqlserver到hive可以使用sqoop,hive到hbase有两种方式,一是bulkload到hbase,二是打通hive到hbase的接口,让hive可以直接读hbase中的内容,这样就可以直接将hive中的表插入到hbase中去。
回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
建议你导入到hbase,
然后hive中创建外部表,连接hbase.


回复

使用道具 举报

千问 | 2021-1-27 05:40:48 | 显示全部楼层
hbase连接hive创建的外部表,然后通过insert插入数据查看到插入的数据与上传的数据位置不匹配,出现错乱是什么原因,难道inser的插入数据顺序不应该和之前定义的数据顺序一样吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行