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

不能使用抽樣,不能設置“spark.databricks.pyspark。為集群enablePy4JSecurity假”

克裏斯汀
貢獻者

我一直在使用“抽樣。flatMap(λx x):“一段時間後創建列表的列不過我改變了集群的共享訪問模式(使用統一目錄)我得到以下錯誤:

py4j.security。公共org.apache.spark.rdd Py4JSecurityException:方法。抽樣org.apache.spark.api.java.JavaRDD.rdd()類類org.apache.spark.api.java.JavaRDD不是白名單

我試圖解決這個錯誤通過添加:

“spark.databricks.pyspark。enablePy4JSecurity假”

然而,我得到以下錯誤:

“spark.databricks.pyspark。enablePy4JSecurity時是不允許選擇一個訪問模式”

有人知道如何使用抽樣catalouge統一使用一個集群時?

謝謝你!

1接受解決方案

接受的解決方案

匿名
不適用

彼得森@Christine:你要開始遷移到dataframes嗎?DataFrame API是一個更現代和優化方法與結構化數據的火花。

你遇到的錯誤與Py4J安全設置在Apache火花。在共享訪問模式下,Py4J安全是默認啟用出於安全原因,限製某些方法被稱為火花抽樣對象。

在原帖子查看解決方案

6個回答6

匿名
不適用

彼得森@Christine:你要開始遷移到dataframes嗎?DataFrame API是一個更現代和優化方法與結構化數據的火花。

你遇到的錯誤與Py4J安全設置在Apache火花。在共享訪問模式下,Py4J安全是默認啟用出於安全原因,限製某些方法被稱為火花抽樣對象。

嗨@Suteja卡努裏人,

在這種情況下我用pyspark dataframe,但我想讓阿萊值列在dataframe和創建一個列表。我使用這個列表在另一個dataframe過濾列。(見下麵的例子):

value_list = pysparkDF.select (< column_name >) .distinct .rdd ()。flatMap(λx: x) .collect ()

filtered_table = DF2.filter (DF2。< column_name > .isin (value_list))

但是我將嚐試尋找方法來避免dataframe格式的列表和保持。

匿名
不適用

彼得森@Christine:

您可以實現這一目標沒有收集數據到一個使用火花的內置DataFrame操作列表。

您可以使用連接操作過濾DF2基於從pysparkDF列中不同值。這裏有一個例子:

filtered_table = DF2。加入(pysparkDF.select (< column_name >) .distinct () = DF2。< column_name > = = pysparkDF。< column_name >、=“內在”)

這段代碼將執行內連接DF2和pysparkDF使用列名,這將有效地過濾DF2不同值的基礎上在pysparkDF列。注意,這個方法將返回一個新的DataFrame而不是一個列表,應該更有效率更大的數據集

Shivanshu_Tiwar
新的貢獻者三世

@Suteja卡努裏人

讓我知道如果我必須這樣做抽樣。地圖上一個列在json數據,然後讀它作為一個json字符串pyspark !

我怎麼能這麼做! !

示例Syantx我想實現在一個共享集群相關的同樣的錯誤”spark.databricks.pyspark.enablePy4JSecurity”

語法:spark.read.json (df.rdd。地圖(λx: x [0]))

什麼將是相同的最佳選擇! !

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

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

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

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

Baidu
map