您可以接近以下选项之一: 语法如下:export table\u或\u partition to hdfs\u path;从hdfs_路径[location[table_location]]导入[[external]table table_or_partition]; 一些示例语句如下所示:将表导出到“location in hdfs”; 使用测试单元db;从“hdfs中的位置”导入; 导出导入也可以在分区的基础上应用:将表分区(loc=“usa”)导出到“location in hdfs”; 下面的import命令从'location in hdfs'location'/location/of/external/table'导入到外部表,而不是从托管表导入外部表;
4条答案
按热度按时间ecr0jaav1#
我可以想出几个选择。
使用CTA。
使用配置单元的导入功能https://cwiki.apache.org/confluence/display/hive/languagemanual+importexport
希望这有帮助。
syqv5f0l2#
您可以接近以下选项之一:
语法如下:export table\u或\u partition to hdfs\u path;从hdfs_路径[location[table_location]]导入[[external]table table_or_partition];
一些示例语句如下所示:将表导出到“location in hdfs”;
使用测试单元db;从“hdfs中的位置”导入;
导出导入也可以在分区的基础上应用:将表分区(loc=“usa”)导出到“location in hdfs”;
下面的import命令从'location in hdfs'location'/location/of/external/table'导入到外部表,而不是从托管表导入外部表;
k7fdbhmy3#
创建外部表new \u db.table,就像old \u db.table location'(hdfs文件中的文件路径)';
如果表中有分区,则必须在新的\u db.table中添加分区。
c9x0cxw04#
这可能是将表从一个db复制/移动到另一个db的最快、最简单的方法。
移动表源
从0.14开始,您可以使用以下语句将表从一个数据库移动到同一元存储中的另一个数据库:
上述语句还将移动hdfs上的表数据,如果
table_a
是一个托管表。复制表的步骤
你可以随时使用
CREATE TABLE <new_db>.<new_table> AS SELECT * FROM <old_db>.<old_table>;
声明。但我相信这种复制数据库的替代方法hdfs dfs -cp
然后用LIKE
如果您的table很大,速度会快一点:然后在 hive 里: