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

ApprodxQuantile似乎並沒有與三角洲生活表(DLT)

Trodenn
新的貢獻者三世

你好,

我將使用approxQuantile()函數和填充列表,我做了,但不知怎麼的,每當我試圖運行代碼的列表是空的,沒有任何價值。

編寫代碼如下:

@dlt。表(name = " customer_order_silver_v2) def capping_unitPrice_Qt (): df = dlt.read (“customer_order_silver”) boundary_unit = (0,0) boundary_qty = (0,0) boundary_unit = df.select(坳(“UnitPrice”)) .approxQuantile (“UnitPrice”, [0.05, 0.95], 0.25) boundary_qty = df.select(坳(“數量”)).approxQuantile(“數量”,[0.05,0.95],0.25)df = df。withColumn (UnitPrice, F.when(坳(UnitPrice) > boundary_unit [1], boundary_unit[1])當(坳(UnitPrice) < boundary_unit [0], boundary_unit [0]) .otherwise(坳(UnitPrice))) df = df。withColumn(‘量’,F.when(坳(數量)> boundary_qty [1], boundary_qty[1])當(坳(數量)< boundary_qty [0], boundary_qty [0]) .otherwise (col(“數量”)))返回df

我得到運行時的輸出如下:

Screenshot_20230130_053953

我少了什麼地方?歡迎任何建議或想法。

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世

也許嚐試使用(和第一個測試單獨的筆記本)標準df = spark.read.table (“customer_order_silver”)來計算approxQuantile。

當然,您需要設置customer_order_silver目錄中有一個目標位置,所以閱讀使用常規的火花。讀會的工作。

在原帖子查看解決方案

5回複5

Hubert_Dudek1
尊敬的貢獻者三世

也許嚐試使用(和第一個測試單獨的筆記本)標準df = spark.read.table (“customer_order_silver”)來計算approxQuantile。

當然,您需要設置customer_order_silver目錄中有一個目標位置,所以閱讀使用常規的火花。讀會的工作。

Trodenn
新的貢獻者三世

我明白你的建議,如果我運行它在相同的筆記本但不是@dlt不同的細胞。表,它會工作嗎?我需要確定分位數,然後使用,這就是為什麼更改表。

閱讀三角洲住表我隻使用spark.read.table (“customer_order_silver”) ?

Hubert_Dudek1
尊敬的貢獻者三世

它將工作在def capping_unitPrice_Qt()我使用同樣的方法。

閱讀三角洲住表我隻使用spark.read.table (“customer_order_silver”) ?

是的,如果在metastore注冊表。通常,你前綴與數據庫/模式名稱(所以database.customer_order_silver)。指定在DLT設置數據庫的名稱是什麼。

Trodenn
新的貢獻者三世

如果這不是一個數據庫,而是另一個三角洲住表嗎?糾正我如果做同樣的事情。我隻是開始學習這個工具和火花

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

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

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

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

Baidu
map