我有几个文件夹中的文件不同的国家。 喜欢下
Casedata_GBR_202110_timestamp.csv
Casedata_ARG_202110_timestamp.csv
现在我必须过程中采取这些文件过程中它们通过明智的国家,并复制到各自的文件夹。 我的目的地的文件夹结构将像
2021-->11-->GBR
2021-->11-->ARG
在火花斯/卡拉帮我写的代码来处理的文件由国家和转移到国家各自的文件夹。
我有几个文件夹中的文件不同的国家。 喜欢下
Casedata_GBR_202110_timestamp.csv
Casedata_ARG_202110_timestamp.csv
现在我必须过程中采取这些文件过程中它们通过明智的国家,并复制到各自的文件夹。 我的目的地的文件夹结构将像
2021-->11-->GBR
2021-->11-->ARG
在火花斯/卡拉帮我写的代码来处理的文件由国家和转移到国家各自的文件夹。
这听起来像你在寻找 partitionBy
定义 DataFrameWriter
. 从 scala:
def partitionBy(colNames: String*): DataFrameWriter[T]
分区的输出通过给予列在文件系统。 如果指定的,其输出是制定了对文件系统相类似的蜂巢的分区方案。 作为一个例子,当我们分区的数据集通过年然后一个月,该目录的布局会是这样的:
year=2016/month=01/
year=2016/month=02/
分区的一个最广泛使用的技术,优化物理数据布局。 它提供了一个粗粒度指数跳过不必要的数据读时查询有谓的分列。 为了分区的工作以及数的不同数值在每一列通常应该是小于几十万。
这适用于所有文件为基础的数据来源(例如镶木地板,JSON)开始火花2.1.0,包括.