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

Genrated分區列不是由優化器使用

AlexDavies
貢獻者

我們已經創建了一個表使用列生成的新特性(https://docs.microsoft.com/en-us/azure/databricks/delta/delta-batch # deltausegeneratedcolumns)

創建表攝取。MyEvent(二進製數據,主題字符串,時間戳的時間戳,日期日期生成總是(CAST(時間戳日期)))用δ分區(主題、日期)位置“/ mnt /數據/ MyEvent”

運行時

SELECT *的時間戳> 2021 - 06 - 01 t12:34”

我們預期下推一個過濾器”日期> = 2021-06-01”,這樣就可以利用分區的列,而無需顯式查詢。但是它不壓低過濾約會,所以沒有受益於分區過濾

是生成的列,預計將用於優化查詢?有可能使生成的列的工作我希望還是我期望太多?

1回複1

werners1
尊敬的貢獻者三世

我認為你在select查詢必須通過一個日期,而不是一個時間戳。

生成的列會得到一個時間戳和分區的數據。

但是文檔狀態:

當你與生成的列一個表,你不顯式地為他們提供值,三角洲湖自動計算值。

所以日期列將在寫。但這不是閱讀的情況的。

所以“選擇時間戳”不會翻譯成“選擇日期”。

當你查詢時間戳列,火花將讀取時間戳列,表是不分區的。

試試這個初版:
SELECT *的日期= ' 2021-06-01 '

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

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

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

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

Baidu
map