Sql 将配置单元中的表从一个数据库复制到另一个数据库

Sql 将配置单元中的表从一个数据库复制到另一个数据库,sql,hive,hiveql,Sql,Hive,Hiveql,在一个数据库中,我有50多个表,我想知道有没有办法一次性将这些表复制到第二个数据库中 我用过这个,但是运行50多次是没有效率的 create table database2.table1 as select * from database1.table1; 谢谢 一种方法是在新数据库中创建表结构,并使用distcp将数据从旧HDFS位置复制到新HDFS位置。将数据从一个数据库表复制到配置单元中的另一个数据库表就像将数据文件从HDFS中的现有位置复制到HDFS中的新位置 将数据从一个数据库表复

在一个数据库中,我有50多个表,我想知道有没有办法一次性将这些表复制到第二个数据库中

我用过这个,但是运行50多次是没有效率的

create table database2.table1 as select * from database1.table1; 

谢谢

一种方法是在新数据库中创建表结构,并使用distcp将数据从旧HDFS位置复制到新HDFS位置。

将数据从一个数据库表复制到配置单元中的另一个数据库表就像将数据文件从HDFS中的现有位置复制到HDFS中的新位置

将数据从一个数据库表复制到另一个数据库表的最佳方法是在新数据库中创建外部配置单元表,并将位置值设置为例如location'/user/Hive/external/,然后使用distcp将旧表数据的文件从旧HDFS位置复制到新位置

示例:旧数据库中的现有表:
创建表格桩号(数字字符串、纬度整数、经度整数、高程整数、名称字符串)行格式分隔字段,以“,”结尾,存储为文本文件; 在路径“/home/cloudera/Desktop/Stations.csv”中加载本地数据

现在在新数据库中创建外部表:
创建外部表外部站(数字字符串、纬度整数、经度整数、高程整数、名称字符串)行格式分隔字段,以“,”LOCATION'/user/hive/EXTERNAL/”结尾

现在,您只需使用distcp命令将数据文件从/user/hive/warehouse/training.db/stations/复制到/user/hive/external/。这两条路径特定于我的蜂巢位置。你可以在你的生活中有类似的经历

通过这种方式,您可以复制任意数量的表数据