【发布时间】:2017-07-18 01:45:26
【问题描述】:
我有一个非常简单的 Hive 表,结构如下。
CREATE EXTERNAL TABLE table1(
col1 STRING,
col2 STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION 's3://path/';
这个表所指向的目录只有一个大小为 51 KB 的文件。
来自 pyspark shell(使用所有默认值):
df = sparksession.sql("SELECT * from table1")
df.rdd.getNumPartitions()
返回的分区数很奇怪。有时返回 64,有时返回 81。
我的期望是最多看到 1 或 2 个分区。关于为什么我看到这么多分区有什么想法吗?
谢谢。
【问题讨论】:
-
大部分可能是空的。只需尝试通过指定分区数来重新分区文件。
-
实际上表中有大约 4000 行,我注意到每个分区中大约有 50 行。