hive:表数据从一台机器导入到另一台机器的 hive 中
1 进入老机器目录新建 dirTmp 文件夹
cd /tmp
mkdir dirTmp
2 原机器中数据下载到本地
# 在 hive 环境中执行
INSERT OVERWRITE LOCAL DIRECTORY './dirTmp' ROW FORMAT DELIMITED FIELDS TERMINATED by ',' select * from dim.poi_info;
3 打包文件
tar -czvf dirTmp.tar.gz dirTmp/
4 文件传输到新机器
能通信的情况下使用 scp 命令
不能通信的情况下需要下载,然后再上传到新机器上
5 解压文件
新机器中目录同样为 /tmp
cd /tmp
tar -xzvf dirTmp.tar.gz
6 创建 hive 表,并指定 hdf 目录和分割方式
CREATE TABLE `dim.poi_info`(
`id` string COMMENT 'ID',
`name` string COMMENT '名称'
COMMENT '信息表'
row format delimited fields terminated by ','
LOCATION 'hdfs://warehouse/dim.db/poi_info'
7 将文件传到新机器 hdf 中
# 注意上传目录与创建时的目录保持一致
hadoop fs -put /dirTmp/* hdfs://warehouse/dim.db/poi_info
# 上传完之后,查看上传文件
hadoop fs -ls hdfs://warehouse/dim.db/poi_info
8 表数据查看
此时 hive中 可以直接查询数据
impala需要刷新元信息
INVALIDATE METADATA dim.poi_info
参考
https://blog.csdn.net/weixin_38750084/article/details/86537949