0

我正在尝试使用 hive 生成​​一些镶木地板文件,为此我从一些 .tbl 文件中加载了一个常规的 hive 表,通过 hive 中的这个命令:

创建表区域(R_REGIONKEY BIGINT,R_NAME STRING,R_COMMENT STRING)

以“|”结尾的行格式分隔字段 存储为文本文件位置 '/tmp/tpch-generate';

在此之后,我只执行这 2 行:

创建表 parquet_reion LIKE 区域存储为 PARQUET;

插入 parquet_region select * from region;

但是当我检查 HDFS 中生成的输出时,我没有找到任何 .parquet 文件,而是找到了 0000_0 到 0000_21 之类的文件名,并且它们的大小总和比原始 tbl 文件大得多。

我在做什么错了?

4

1 回答 1

1

Insert 语句不会创建带有扩展名的文件,但这些是镶木地板文件。

您可以DESCRIBE FORMATTED <table>用来显示表信息。

hive> DESCRIBE FORMATTED <table_name>

附加说明:您还可以使用以下查询从源表创建新表:

CREATE TABLE new_test row STORED AS PARQUET AS select * from source_table

它将以 parquet 格式创建新表并复制结构和数据。

于 2017-05-09T01:21:27.490 回答