[英]how do I import a table DIRECTLY into a Python dataframe within databricks?
目前在 Databricks 的開發環境中使用筆記本應用一些 Python 代碼來分析數據庫表中保存的一些虛擬數據(只有幾 1,000 行),然后我將其部署到主環境並在真實數據上運行, (數百萬行)
首先,我只需要滿足特定條件的單個列中的值,以便獲取我目前正在執行的數據:
然后 Python 筆記本的 rest 對在開發環境中運行良好的數據進行處理,但是當我真正運行它時,它在第 2 行掉了下來,說它超出了 ZCD69B4957F06CD818D7ZBF3D691
我想將數據直接導入到 Pandas dataframe 中,因此無需從 Spark 轉換,因為我假設這將避免錯誤,但經過大量谷歌搜索后,我仍然無法弄清楚如何,我唯一的事情是嘗試過在語法上有效的是:
數據 = pd.read_table (r'database.table')
但只要得到:
'PermissionError:[Errno 13] 權限被拒絕:'
(nb。不幸的是,我無法控制我正在查詢的數據庫的內容、形式或位置)
你的假設很可能是不正確的。
Spark 是一個分布式計算引擎,pandas 是一個單節點工具集。 因此,當您對數百萬行運行查詢時,它可能會失敗。 在執行 df.toPandas 時,Spark 會將所有數據移動到您的驅動程序節點,因此如果它超過驅動程序 memory,它將失敗,並出現 memory 異常。 換句話說,如果您的數據集更大,那么 memory、pandas 將無法正常工作。
此外,在數據塊上使用 pandas 時,您將失去使用底層集群的所有好處。 您只是在使用驅動程序。
有兩個明智的選擇可以解決這個問題:
對於這種情況,您必須使用pd.read_sql_query 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.