取消
顯示的結果
而不是尋找
你的意思是:

鑲木地板partitionBy——日期列嵌套文件夾

1 stcommander
新的貢獻者二世

你好,

當編寫一個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)也使用這個分區修剪,而查詢

謝謝你!

2回答2

1 stcommander
新的貢獻者二世

不幸的是保存的格式被打破:disappointed_face:

這是結構原有的例子:

0693年f000007ornraac

這是所需的結構的例子:

0693年f000007ornqaac

Saphira
新的貢獻者二世

嘿@1stcommander

你必須自己創建的列。如果是你必須做的事通常你可以編寫一個函數。在任何情況下,依我來看,這並不是說很多工作。

我不太清楚你的問題是什麼分區修剪。好像你說的你想要的東西你說你不希望。

祝你好運

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map