scala - 遍历数据框的列和分区,并在分区列的基础上保存数据框
问题描述
我对 scala 非常陌生,我有一个 csv 文件:
MSH ModZId ModProd Date
1140000 zzz abc 2/19/2018
1140000 zzz abc 2/19/2018
651 zzz abc 2/19/2018
651 zzz abc 2/19/2018
1140000 zzz abc 2/19/2018
860000 zzz mno 2/26/2018
860000 zzz mno 2/26/2018
122 zzz mno 2/26/2018
122 zzz mno 2/26/2018
860000 zzz mno 2/26/2018
1140000 zzz pxy 2/19/2018
1140000 zzz pxy 2/19/2018
我需要根据日期对 csv 文件进行分区并将分区转换为镶木地板,如下所示:
文件夹名称 2018/02/19
and parquet file1 output
MSH ModZId ModProd Date
1140000 zzz abc 2/19/2018
1140000 zzz xyz 2/19/2018
651 zzz def 2/19/2018
651 zzz ghi 2/19/2018
1140000 zzz klm 2/19/2018
parquet file2 Output
MSH ModZId ModProd Date
1140000 zzz pxy 2/19/2018
1140000 zzz pxy 2/19/2018
文件夹名称 20180226
MSH ModZId ModProd Date
860000 zzz mno 2/26/2018
860000 zzz pqr 2/26/2018
122 zzz stu 2/26/2018
122 zzz wxy 2/26/2018
860000 zzz ijk 2/26/2018
我正在尝试这个,但不确定如何迭代数据框
val writeDF = df
.select ($"ModProd ",$"Date").distinct().orderBy($"ModProd ",$"Date")
writeDF.show()
df
.write
.mode(SaveMode.Overwrite)
.format("parquet")
.partitionBy("Date")
.save(Path)
}
谁能帮帮我。我很新,不知道如何根据日期在scala中对csv文件进行分区
解决方案
推荐阅读
- sql - SqlException:INSERT 语句与 FOREIGN KEY 约束“FK_Register_Event”冲突
- javascript - OpenLayers addLayers 失败并出现 TypeError
- python - 如何阻止 seaborn depine 删除第二轴上的 y 刻度线
- r - R 请求登录以登录亚马逊以获取亚马逊广告 API 的访问令牌
- c# - 如何将值插入案例实体中的“主题”(选择列表)字段?
- react-native - React Native 视图如何响应外部(硬件)键盘事件?
- spring-data - 枚举类型的spring R2DBC查询
- javascript - 在 JSON 对象中重新排序数据
- sql - 在 OBIEE RPD(物理层)中使用表函数并将参数从仪表板提示传递给它
- php - 执行 grumphp 时出错:命中 Windows cmd 输入限制