快速导入hive数据的方法
需求:将生产上的某个hive库中的数据导入测试环境中。
思路:因为hive中的数据也是存在于linux服务器的磁盘中,只需要将相应的hive库中的数据文件传到测试环境相应的hive库中即可。
拓展:hive的数据是存放在hdfs上的,eg:mydb库中test表是以stat_dt作为分区字段的,则stat_dt=‘2019-06-21’中的数据文件在hdfs的存储格式为:
步骤:
- 将生产上含有敏感数据的表的字段进行脱敏处理,不含有敏感字段的表直接拉取到新的db中。
- 将新的db中的整体目录传输到测试环境中。
- 使用命令
hdfs dfs -put xxxx ~/xxdb/xxxx/
(xxxx:表目录,~:hive的家目录,xxdb:表对应的db路径)eg:将mydb库中的test表存入hive库中,我的hive家目录为:/usr4/hive/warehouse/ 则使用命令:hdfs dfs -put test /usr4/hive/warehouse/mydb/test/
- 存到hdfs中的hive库中后,在hive中执行命令:
msck repair table mydb.test
进行数据库表的修复。 - 查询该表,验证结果。