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

问题描述 投票:0回答:1

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

我正在执行下一步:

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

    df = sqlContext.sql("select * from my_table where year = 19")
    
  2. 将PySpark数据框转换为Pandas数据框。我知道,此步骤可能是不必要的,但我只是开始使用Databricks,可能不知道所需的命令来更快地完成此操作。所以我这样做:

    ab = df.toPandas()
    
  3. 将文件保存在某处以便以后本地下载:

    ab.to_csv('my_my.csv')
    

但是我怎么下载呢?

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

python sql pyspark databricks
1个回答
0
投票

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

enter image description here

要下载完整结果,请先将文件保存到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

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.