迁移类型
同时迁移表及其数据(使用import和export)
迁移步骤
- 将表和数据从 Hive 导出到 HDFS
- 将表和数据从 HDFS 导出到本地服务器
- 将表和数据从本地服务器复制到目标服务器
- 将表和数据从目标服务器上传到目标 HDFS
- 将表和数据从目标 HDFS 上传到目标 Hive 库
- 如果原始 HDFS 和目标 HDFS 集群连通,可使用 DiskCP 工具直接跨集群复制,而跳过2~4步
一、Export、Import
Export
导出,将Hive表中的数据,导出到外部
Import
导入,将外部数据导入Hive表中
二、Export
1、语法
EXPORT TABLE tablename TO "export_target_path";
2、用法
#把tshang表导出到hdfs上
hive (default)> EXPORT TABLE lijia.tshang TO "/tmp/hive_data/lijia";
hive (default)> exit
[root@ /opt/PE/hive_data]# hadoop fs -ls /tmp/hive_data/lijia/tshang
Found 2 items
-rw-r--r-- 3 hive hdfs 1262 2024-03-18 17:35 /tmp/hive_data/lijia/tshang/_metadata
drwxr-xr-x - hive hdfs 0 2024-03-18 17:35 /tmp/hive_data/lijia/tshang/data
HDFS 集群连通时使用 DiskCP 进行拷贝
hadoop distcp hdfs://scrNmaeNode/tmp/<db_name> hdfs://targetNmaeNode/tmp
HDFS 集群不连通
hadoop fs -get /tmp/hive_data
scp -r hive_data root@targetAP:/tmp/
上传到目标 HDFS
hadoop fs -put /tmp/hive_data /tmp/
三、Import
1、语法
IMPORT TABLE tablename FROM "source_path";
2、用法
#先创建lijia库导入数据
hive (default)> create database lijia;
OK
Time taken: 0.012 seconds
<