创建Parqeut形式的表

Apache Parquet 是一种列式存储格式,被广泛用于大数据处理工具中,如Apache Spark、Apache Hive等。它具有高效的读取性能和压缩率,适用于大规模数据分析和查询。在 SparkSQL 中,我们可以使用 Parquet 格式的数据来创建表,以提高性能和查询效率。

它的格式如下:

CREATE TABLE user_info (
    id INT,
    name STRING,
    age INT
)
USING parquet -- 使用parquet形式创建表
PARTITIONED BY (region STRING)  -- 使用某个字段进行分区

创建parquet格式的表

上一节我们删除了外部表retailcust,再重新将它建立回来:

create external table retailcust(age INT, salary FLOAT,gender String,country String, purchased String) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/kongpingfan/data/' TBLPROPERTIES ("skip.header.line.count"="1") ;

使用retailcust作为数据源,创建新的parquet表:

create table mydb.retail_parquet using parquet as select * from retailcust;

创建完成后describe表,发现它的provider变成了Parquet:

image-20240218143743508

从HDFS中查看该目录,发现数据被切分成多个parquet文件:

image-20240218143814309