2016-01-29 17 views
0

我正在Impala中移动数据,而不是我的设计,并且我丢失了一些数据。我需要将数据从拼花地板表复制回原来的非拼花地板桌。最初,开发人员在脚本中使用简单的一行内容来完成此操作。由于我对数据库一无所知,特别是关于Impala,我希望你能帮助我。这是用来翻译成拼花地板的一条线,我需要将它颠倒过来。试图将数据从Impala Parquet表复制到非拼花地板

impalaShell -i <ipaddr> use db INVALIDATE METADATA <text_table>; 
CREATE TABLE <parquet_table> LIKE <text_table> STORED AS PARQUET TABLE; 
INSERT OVERWRITE <parquet_table> SELECT * FROM <text_table>; 

谢谢。

+0

您是否尝试过简单地做'CREATE TABLE AS SELECT * FROM '?根据[Cloudera文档](http://www.cloudera.com/documentation/archive/impala/2-x/2-1-x/topics/impala_create_table.html),这应该是可能的。注:确保您的''不存在或使用尚不存在的表名,以免意外覆盖其他数据。 – vmachan

+0

太棒了。把它写成答案,我会给你点数。 – jiveturkey

+0

很高兴帮助。我也写过它作为答案。 – vmachan

回答

1

您是否尝试过简单地做

CREATE TABLE <text_table> 
    AS 
SELECT * 
    FROM <parquet_table> 

Cloudera documentation,这应该是可能的。

注意:确保您不存在或使用尚不存在的表名,以免意外覆盖其他数据。