Art*_*iev 3 scala apache-spark apache-spark-sql
我有代码:
dataFrame.write
.partitionBy("format", "dataset", "year", "month", "day", "hour")
.format(outputFormat)
.mode("overwrite")
.save(outputPath)
Run Code Online (Sandbox Code Playgroud)
如何编写没有前缀的数据帧?不重命名。有没有办法通过 Spark 或 hadoop 配置来做到这一点?目前我正在使用单独的 bash 脚本来重命名文件夹。
明确地说,我想使用 Spark 代码获得下一个结构:
data
-+parquet
+main
+2017
+01
+31
+15
Run Code Online (Sandbox Code Playgroud)
你不能这样做。
如果您查看 Spark 代码 class ExternalCatalogUtils.getPartitionPathString,您会看到:
def getPartitionPathString(col: String, value: String): String = {
val partitionString = if (value == null || value.isEmpty) {
DEFAULT_PARTITION_NAME
} else {
escapePathName(value)
}
escapePathName(col) + "=" + partitionString
}
Run Code Online (Sandbox Code Playgroud)
所以计划总是像 column=value
| 归档时间: |
|
| 查看次数: |
724 次 |
| 最近记录: |