我正在处理一个数据帧,该数据帧的一列唯一地标识数据,而另一列状态。
我希望在我的存储桶上的Amazon s3上为每个唯一的ID创建一个分区,并在该分区内放一个给该分区命名的行的json,但是我不知道如何重命名该分区名称以成为我的ID,以及如何正确保存。
我正在使用R和Sparklyr。
数据帧是这样的:
UniqueId | Status
3456 | TRUE
1244 | TRUE
5559 | FALSE
我希望我的存储分区是:
/part_3456
/part_1244
/part_5559
在/ part_3456内部,我希望使用类似JSON的
{
uniqueId: 3456
status: TRUE
}
我的存储分区实际上如何:
/part_904890489083093
/part_309303904944432
/part_530983908209820
(此数字是一些亚马逊自动ID)
message('-->> saving final dataset on S3...')
numberOfElements <- count(finalDataset)
path_s3 <- 's3://path/to/s3'
sdf_repartition(copy_to(sc, finalDataset, overwrite = TRUE),
partitions = numberOfElements ,
partition_by = "UniqueId") %>%
sdf_coalesce(numberOfElements) %>%
spark_write_json(path = path_s3,mode = 'overwrite')
有帮助吗? :-):-)