date=dd-mm-yyyy与yyyy={x}/mm={mm}/dd={xx}之间的spark分区策略比较

xu3bshqb  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(473)

如何在spark-on-dates中选择哪个分区策略。我在数据框中有一列是2020-02-19格式的日期。写入时应在分区列中指定日期,还是应在表中从日期创建多个列作为dd、mm、yyyy,并在重新分区中指定yyyy、mm、dd列?
如果我指定每个分区策略,会出现什么样的问题

kmb7vmvb

kmb7vmvb1#

在一个分区中没有实际的增益中断 date=yyyy-mm-dd 或者在多个分区中 year=yyyy/month=mm/day=dd ,如果必须处理过去10天的数据,将在同一时间给出相同数量的数据。最大的区别在于查询方式或维护数据的方式。
使用一个单独的分区,您的生活将很容易为特定的一天编写查询。三天前我要去跑步。或者我需要查询从1月1日到5月1日的日期范围。有一个分区和日期可以让你的生活更轻松。
有多个分区很容易进行月度分析,很容易以简单的方式查询整个月份或全年。但是您将失去在一定范围内查询数据的能力。
除了每种格式的这些特性之外,从性能的Angular 来看,这不会给您带来任何开销,这两种解决方案将以相同的速度提供数据,因为您不会将数据分解到更小的文件中。我更喜欢一天只用一个隔断来打破,因为从维护的Angular 来看很容易。

相关问题