我正在Impala内部移动数据,而不是我的设计,并且丢失了一些数据。我需要将数据从 Parquet 表复制回其原始的非 Parquet 表。最初,开发人员是在脚本中使用一个简单的衬纸来完成此操作的。由于我对数据库,尤其是Impala一无所知,所以希望您能为我提供帮助。这是用于转换为镶木表的一行,我需要将其反转。

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,这应该是可能的。

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

关于sql - 尝试将数据从Impala Parquet表复制到非Parquet表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35092684/

10-11 03:40