我有一张有大量数据的table。我必须从中提取一些列并创建一个Parquet表。下面是我做的-
CREATE TABLE parqfiletable
AS
SELECT col2, col4, col8 FROM txtfiletable
STORED AS PARQUET;
这是成功的,但是当我试图从parquet表中检索数据时,它抛出了一个错误。
此外,相同的create table语句现在不起作用。
我会用一种普通的方式来完成它,比如创建一个存储为parquet的表定义,然后从原始源加载数据。但是上面的方法在那个时候立即起作用了,这个表就被创建了。
你能让我明白CREATETABLE语句有什么问题吗?我们不能创建“创建为…”。。作为Parquet地板储存?
2条答案
按热度按时间btqmn9zl1#
我想出了上述问题的正确语法。
CREATE TABLE parqtable STORED AS PARQUET AS SELECT * FROM textfiletable;
ckx4rj1h2#
这样,我们可以创建它,但这不是一个Parquet表根据扩展属性。
观察:
我直接创建了一个Parquet地板table。
详细信息在这里。
从扩展属性观察: