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

如何正確的訪問引發環境DLT管道?

KateK
新的貢獻者二世

我有一些代碼使用抽樣,sc.parallelize()和rdd.toDF()方法dataframe退出。代碼在普通筆記本工作(如果我運行筆記本工作)但是失敗如果我做同樣的事情在一個DLT管道。錯誤消息變化如何我試著火花上下文的訪問,但我通常得到的值錯誤抽樣是空的

我已經嚐試了幾種不同的方法可以訪問火花上下文DLT管道,但似乎沒有人工作。我也是新火花,我也許不是搜索正確的術語——這將是偉大的如果有人可以告訴我正確的方向!

我附上了兩dbc筆記本,第一個創建一些假數據,讀取它,並抽樣操作我想做的事情。第二個筆記本是DLT管道,它讀取的假數據,嚐試一些不同的方法來訪問火花上下文和抽樣操作。每個方法的錯誤消息給我指出。

3回複3

alexott
價值貢獻
價值貢獻

DLT多次調用你的函數構建執行時——空dataframe圖,並與實際數據比當執行管道。

但是真的,我相信你能做你想做的事情用Dataframe api,在最壞的情況下,采取熊貓udf,但是你需要提供你想實現的描述。原因是抽樣實現將會非常緩慢,每一行是評估在Python解釋器和催化劑無法執行任何優化

Kaniz
社區經理
社區經理

嗨@Katayun Kamdin,我們一直沒有收到你最後的回應@Alex奧特,我檢查,看看他的建議幫助你。

否則,如果你有任何解決方案,請與社區分享,因為它可以幫助別人。

同時,請別忘了點擊“選擇最佳”按鈕時提供的信息幫助解決你的問題。

KateK
新的貢獻者二世

謝謝你的幫助,我最終重寫代碼與火花udf,也許有更好的解決方案隻有Dataframe API但我找不到它。

總結我的問題:我試圖un-nest大json blob(假數據在我的第一連接筆記本模擬問題)。我有一個數據源,它包含很多嵌套的json,通常我可以使用使用pyspark.sql.functions.get_json_object()提取的關鍵我想要的值。不工作在這種情況下,雖然因為嵌套的鑰匙是隨機的,所以我需要一種方法是這樣的:

“file_key”: {“nested_blob”: {" rand_nested_id_1 ": {“k1”:“v1”、“k2”:“v2”},“rand_nested_id_2”: {“k1”:“v1”、“k2”:“v2”},“rand_nested_id_3”: {“k1”:“v1”、“k2”:“v2”}}}

並將其轉化為dataframe看起來像這樣:

file_key | rand_nested_id_1 | {“k1”:“v1”、“k2”:“v2”} file_key | rand_nested_id_2 | {“k1”:“v1”、“k2”:“v2”} file_key | rand_nested_id_3 | {“k1”:“v1”、“k2”:“v2”}

結合火花udf返回file_key和嵌套鍵,值對數組隨後爆炸函數一樣我想要的。解決方案。

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

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

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

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

Baidu
map