如何通过 spark-sql 复制表

Posted

技术标签:

【中文标题】如何通过 spark-sql 复制表【英文标题】:How to copy table by spark-sql 【发布时间】:2017-05-08 12:33:03 【问题描述】:

实际上,我想将一个表移动到另一个数据库。 但 spark 不允许这样做。

那么,呢?

我已经试过了。

SELECT *
INTO table1 IN new_database
FROM old_database.table1

但它不起作用。

【问题讨论】:

【参考方案1】:

也许可以试试:

CREATE TABLE new_db.new_table AS
SELECT *
FROM old_db.old_table;

【讨论】:

这不会保留分区和存储格式(我自己还在寻找方法)【参考方案2】:

要保留分区和存储格式,请执行以下操作 - 通过运行获取现有表的完整架构-

show create table db.old_table

上面的查询将输出表模式,您可以在更改路径名和表名后执行。 然后使用 - 将所有行插入到新的空白表中-

insert into db.new_table select * from db.old_table

【讨论】:

【参考方案3】:

下面的 sn-p 将创建一个新表,同时保留“旧”表的定义。

CREATE TABLE db.new_table LIKE db.old_table;

有关更多信息,请查看文档的CREATE TABLE

【讨论】:

以上是关于如何通过 spark-sql 复制表的主要内容,如果未能解决你的问题,请参考以下文章

我们可以使用 spark-sql 或 apache spark 运行 sqoop 导入语句吗

如何在Oracle中复制表结构和表数据

如何通过取行的平均值从数据集中创建 R 表? [复制]

如何从视图中复制数据并在 sql server 数据库中创建新表? [复制]

通过 FTP 将表复制到 CSV 文件 [重复]

spark如何在cassandra表之间复制数据?