你好所有的,
如標題所述,這是我的問題:
1。我用databricks-connect為了向磚集群發送工作
2。“本地”環境是一個AWS EC2
3所示。我想讀一個CSV文件,DBFS(磚)
pd.read_csv ()
。原因是它太大了spark.read.csv ()
然後.toPandas ()
(每次崩潰)。
4所示。當我運行
pd.read_csv (“/ dbfs / FileStore / some_file”)
我得到一個FileNotFoundError
因為它指向當地S3 bucket而不是dbfs。有辦法做我想做的事(如改變大熊貓尋找文件有一些選項)?
提前謝謝!
你好,
一些研究之後,我發現大熊貓API隻讀取本地文件。這意味著,即使read_csv命令在磚筆記本的工作環境中,它不會工作在使用databricks-connect(熊貓從筆記本中讀取本地環境)。
周圍工作是使用pyspark spark.read.format (csv) API來讀取遠程文件並添加一個“.toPandas()最後,我們得到一個熊貓dataframe。
df_pandas = spark.read.format (csv) .options(頭= '真的').load(“路徑/ / /遠程/ dbfs /文件係統/ ').toPandas ()
嗨@Yuanyue劉,
火花引擎連接到(遠程)工人在磚上,這就是為什麼你可以閱讀dbfs利用的數據:
spark.read.format (csv) .options(頭= '真的').load(“路徑/ / /遠程/ dbfs /文件係統/ ')
例如,同樣的發生在dbutils。你可以閱讀文件dbfs和例如:
dbutils.fs.ls (files_path)
熊貓不直接連接到遠程文件係統(dbfs)。這就是為什麼你必須首先閱讀引發的遠程數據,然後轉換到一個內存dataframe(熊貓)。
我用熊貓剖析之後,我讓一個HTML報告,這是寫給當地司機(因為pandas_profiling不連接到遠程文件係統),我使用dbutils上傳數據mnt駕駛dbfs(來自datalake gen2)。
我希望這可以幫助!