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) -- 使用某个字段进行分区
上一节我们删除了外部表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:
从HDFS中查看该目录,发现数据被切分成多个parquet文件: