hdfs跨集群导数据+hive建表

/usr/hdp/2.6.1.0-129

  1. 修改本地host和集群一样

  2. 本地新建hdfs用户

  3. 切换到hdfs用户(必须),否则会报没有权限错误

  4. hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true -D dfs.checksum.type=CRC32 /user/hive/warehouse/ webhdfs://bgs-5p11-wangjiyu:50070/user/hive/warehouse/

  5. hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true -D dfs.checksum.type=CRC32 hdfs://localhost:9000/user/hive/warehouse/ webhdfs://bgs-5p11-wangjiyu:50070/user/hive/warehouse/

  6. 批量导出建表语句的sh:

#!/bin/bash
hive -e "show tables;" > tables.txt
sleep  2
    cat tables.txt |while read eachline
    do
    hive -e "show create table $eachline" >>tablesDDL.txt
    done
  1. 导出的建表语句批量替换hive表分区存储的路径(替换前面的集群路径),可以在hive中输入 show create table + 表;查看改表的建表语句
    hdfs -f + 建表语句的txt文件

你可能感兴趣的:(hdfs跨集群导数据+hive建表)