前言
旁边的实习生一脸困惑:我把一个dataset的数据往某个文件夹或hive表中写的时候可以用partitionBy对数据进行分区,可是repartition顾名思义也好像与分区有关,这两个究竟有啥区别?我该如何使用?
API解释
- repartition
repartition是dataframe的一个方法,用来增加或减少内存中的分区;当需要将dataframe写入磁盘的时候,它会将所有part files文件写入指定的一个目录中。 - partitionBy
partitionBy是DataFrameWriter类的一个方法,用于将DataFrame写入磁盘中的分区目录里,分区列中每个唯一值对应一个分区子目录。
详细案例讲解
测试数据:
country
China
China
China
America
America
England
England
Japan
Japan
Japan
Korea
Korea