由于SQL查询,我试图保存csv文件,并通过Databricks发送到Athena。
该文件应该是大约4-6 GB(约40m行)的大表。

我正在执行以下步骤:


通过以下方式创建PySpark数据框:

df = sqlContext.sql("select * from my_table where year = 19")

将PySpark数据框转换为Pandas数据框。我意识到,此步骤可能是不必要的,但我只是开始使用Databricks,可能不知道所需的命令来更快地完成此操作。所以我这样做:

ab = df.toPandas()

将文件保存在某处,以便以后在本地下载:

ab.to_csv('my_my.csv')



但是,我该如何下载呢?

恳请您非常具体,因为我不了解使用Databricks的许多技巧和细节。

最佳答案

使用GUI,您可以下载完整结果(最多100万行)。

python - 如何在DBFS中保存和下载本地csv?-LMLPHP

要下载完整结果,请首先将文件保存到dbfs,然后使用Databricks cli将文件复制到本地计算机,如下所示。


  dbfs cp“ dbfs:/FileStore/tables/my_my.csv”“ A:\ AzureAnalytics”


参考:Databricks file system

DBFS命令行界面(CLI)使用DBFS API向DBFS公开了易于使用的命令行界面。使用此客户端,您可以使用与Unix命令行上使用的命令类似的命令与DBFS进行交互。例如:

# List files in DBFS
dbfs ls
# Put local file ./apple.txt to dbfs:/apple.txt
dbfs cp ./apple.txt dbfs:/apple.txt
# Get dbfs:/apple.txt and save to local file ./apple.txt
dbfs cp dbfs:/apple.txt ./apple.txt
# Recursively put local dir ./banana to dbfs:/banana
dbfs cp -r ./banana dbfs:/banana


参考:Installing and configuring Azure Databricks CLI

希望这可以帮助。

关于python - 如何在DBFS中保存和下载本地csv?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58288111/

10-11 04:46