【发布时间】:2018-08-20 15:33:00
【问题描述】:
我正在使用 Databricks 笔记本并在查询后尝试将我的数据框以 CSV 格式导出到我的本地计算机。但是,它不会将我的 CSV 保存到我的本地计算机。为什么?
连接到数据库
#SQL Connector
import pandas as pd
import psycopg2
import numpy as np
from pyspark.sql import *
#Connection
cnx = psycopg2.connect(dbname= 'test', host='test', port= '1234', user= 'test', password= 'test')
cursor = cnx.cursor()
SQL 查询
query = """
SELECT * from products;
"""
# Execute the query
try:
cursor.execute(query)
except OperationalError as msg:
print ("Command skipped: ")
#Fetch all rows from the result
rows = cursor.fetchall()
# Convert into a Pandas Dataframe
df = pd.DataFrame( [[ij for ij in i] for i in rows] )
将数据以 CSV 格式导出到本地机器
df.to_csv('test.csv')
它没有给出任何错误,但是当我转到我的 Mac 机器的搜索图标以查找“test.csv”时,它不存在。我认为该操作不起作用,因此该文件从未从 Databricks 云服务器保存到我的本地计算机...有人知道如何修复它吗?
【问题讨论】:
-
您似乎在远程机器上运行所有这些 - 如果是这样,该文件也保存在该远程机器上。不会有任何(简单的)python 代码将数据导出到本地机器。最简单的方法可能是使用一些文件传输工具。
-
在 Databricks 中,文件去了哪里?也许我可以从那里手动抓取它。请指教。
-
你应该从这段代码所在的目录开始检查(更准确地说是工作目录)。
-
当我运行 os.system('pwd') 时,它给了我 Out:0。所以,它不起作用......
-
@paul 当我执行此命令时,没有输出。
标签: python python-3.x pyspark databricks