尝试将数据从 Impala Parquet table 复制到非 parquet table

Trying to copy data from Impala Parquet table to a non-parquet table

我正在 Impala 内移动数据,这不是我的设计,我丢失了一些数据。我需要将数据从 parquet tables 复制回它们原来的非 parquet tables。最初,开发人员使用脚本中的一个简单的一行来完成此操作。由于我对数据库一无所知,尤其是 Impala 我希望你能帮助我。这是用于转换为镶木地板 table 的一行,我需要将其反转。

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>;

谢谢。

你试过简单地做

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

根据 Cloudera documentation,这应该是可能的。

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