如何通过 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 导入语句吗