你好,
當編寫一個DataFrame鑲木地板使用partitionBy(<日期列>),生成的文件夾結構是這樣的:
根
| - - - - - - - - - - - - - - - - - -興奮不已
| - - - - - - - - - - - - - - - - - - day2
| - - - - - - - - - - - - - - - - - -把
有可能創建一個結構後不影響創建分區列:
根
| - - - - - -台北
| - - - - - -month1
| - - - - - -興奮不已
| - - - - - - ....
| - - - - - - year2
| - - - - - -
我知道我可以達到類似
df .withColumn(“年”,一年(col (“date_col”)))。withColumn(“月”,月(col (“date_col”)))。withColumn(“天”,dayofmonth(坳(“date_col”)))。withColumn(“小時”,小時(col (“date_col”))) .partitionBy(“年”、“月”、“日”,“小時”)
來自(https://stackoverflow.com/questions/52527888/spark-partition-data-writing-by-timestamp),
但是當你這樣做時也必須使用“虛擬”列的查詢文件SparkSQL後來為了獲利分區修剪。(在這個例子中,您必須使用“= 2017年和月= 2”——如果你使用“date_col > = to_date(“2017-02-01”)和date_col < = to_date(“2017-03-01”)“不使用分區修剪。
我想知道如果有一些功能,我目前不知道
一)自動創建嵌套文件夾結構
b)也使用這個分區修剪,而查詢
謝謝你!