Apache Spark - 仅写入已更改的分区

时间:2018-01-22 18:21:04

标签: apache-spark data-partitioning

是否有 内置 方式将DataFrame定义为一组分区路径(每个分区路径包含一个或多个文件),请使用{ {1}}作为一组所谓的'#34;突变"的基础。查询被定义为单独的DataFrame,并将生成的DataFrame分隔为相同的列,仅写入"已更改"分区(即只有原始DataFrame与结果DataFrame之间数据不同的分区?)

这将是"尺寸"当然是数据。

重点是通过重新使用尚未更改的分区文件来减少总存储量。也许存储足够便宜,这是毫无意义的。不过,最好知道。

显然,通过自己指定一系列变换可以做到这一点:

  1. DataFrame
  2. {original DataFrame} -> o
  3. {resulting DataFrame -> r
  4. {*, COUNT(o.*) GROUP BY *} -> o2
  5. {*, COUNT(r.*) GROUP BY *} -> r2
  6. 我无法判断一般情况下是否会有任何改组。鉴于{DISTINCT [partition columns] FROM o2 FULL JOIN r2 ON [partition columns] WHERE o2.* IS NULL OR r2.* IS NULL}位于分区列上,并且原始JOINDataFrame如何被分区,可能没有。

0 个答案:

没有答案