Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在DBFS中本地保存和下载csv?_Python_Sql_Pyspark_Databricks - Fatal编程技术网

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

Python 如何在DBFS中本地保存和下载csv?,python,sql,pyspark,databricks,Python,Sql,Pyspark,Databricks,我正试图将csv文件保存为SQL查询的结果,通过Databricks发送给Athena。 该文件应该是一个大约4-6GB(约40m行)的大表 我正在做下一步: 通过以下方式创建PySpark数据帧: df = sqlContext.sql("select * from my_table where year = 19") 正在将PySpark数据帧转换为Pandas数据帧。我意识到,这一步可能没有必要,但我只是开始使用Databricks,可能不知道需要什么命令才能更快地完成。所以我是这样做

我正试图将csv文件保存为SQL查询的结果,通过Databricks发送给Athena。 该文件应该是一个大约4-6GB(约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,您可以下载完整的结果(最多一百万行)

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

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

    参考资料:

    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
    
    参考资料:


    希望这有帮助。

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

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

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

    参考资料:

    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
    
    参考资料:


    希望这有帮助。

    您想将文件下载到DBFS还是本地计算机?最终,我希望将文件本地保存在我的计算机上。您想将文件下载到DBFS还是本地计算机上?最终,我希望将文件本地保存在我的计算机上。Hi@DmytroZelenyi如果我的回答对您有帮助,您可以将其作为答案接受(单击答案旁边的复选标记,将其从灰色切换为填充)。这可能对其他社区成员有益。谢谢。但是,是否有必要将此步骤合并到脚本中?与熊猫一样,脚本的一行可以是df.to_csv(“testing.csv”)-我们如何才能为Datatricks实现同样的效果?Hi@DmytroZelenyi如果我的答案对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为填充)。这可能对其他社区成员有益。谢谢。但是,是否有必要将此步骤合并到脚本中?和pandas一样,脚本的一行可以是df.to_csv(“testing.csv”)——我们如何为DataRicks实现同样的功能?