当前位置: 首页 > 知识库问答 >
问题:

不能直接从GCP数据砖上的熊猫上阅读

陶原
2023-03-14

通常在Azure/AWS上的数据块上,为了读取Azure Blob/S3上存储的文件,我会挂载bucket或Blob存储,然后执行以下操作:

如果使用火花

df = spark.read.format('csv').load('/mnt/my_bucket/my_file.csv', header=“true”)

如果直接使用panda,请将/dbfs添加到路径:

df=pd.read_csv('/dbfs/mnt/my_bucket/my_file.csv')

我尝试在GCP的Databricks托管版本上做完全相同的事情,虽然我成功地挂载了我的bucket并使用Spark读取了它,但我无法直接使用Pandas进行读取,添加/dbfs不起作用,并且我没有得到这样的文件或目录:...错误

你们中有人遇到过类似的问题吗?我错过了什么吗?

当我做的时候

%sh 
ls /dbfs

虽然我可以在UI中看到dbfs浏览器和我装载的bucket和文件,但它没有返回任何内容

感谢您的帮助

共有1个答案

李兴庆
2023-03-14

它记录在尚未发布的功能列表中:

对本地文件系统的DBFS访问(熔丝安装)。对于DBFS访问,可以使用Databricks dbutils命令、Hadoop文件系统API(如%fs命令)和Spark读写API。如有任何疑问,请联系您的Databricks代表。

因此,在阅读Pandas之前,您需要将文件复制到本地磁盘:

dbutils.fs.cp("/mnt/my_bucket/my_file.csv", "file:/tmp/my_file.csv")
df = pd.read_csv('/tmp/my_file.csv')
 类似资料:
  • 问题内容: 当我对数据框中的单个元素进行比较时出现错误,但我不明白为什么。 我有一个数据框df,其中包含许多客户的时间序列数据,其中包含一些空值: 在我的脚本中,该行 生成一个错误: 但是,如果我在脚本行上放置了一个断点,并且在脚本停止时我将其输入到控制台中: 输出为: 如果我允许脚本从这一点继续执行,则会立即生成错误。 如果布尔表达式可以求值并具有值,为什么它在if表达式中生成错误?这对我来说毫

  • 问题内容: 既然OpenShift Online V2已经宣布终止服务,我希望将我的Python应用程序迁移到OpenShift Online V3(又名OpenShift NextGen)。熊猫是必需项(列于中) 在v2中安装pandas已经很简单了,但是V3不允许在构建过程中进行手动交互(或者是吗?)。 当我尝试构建我的应用程序时,构建过程将在一个小时后停止。已下载并安装的内容,并且正在为所选

  • 我有一个日期、买入和卖出值的数据框架,并在该数据框架上做一个,以获得每个有效日期的所有买入/卖出值。 但当我的数据有点变化时,抛出error:ValueError:Function不会减少。无法理解为什么。以下是不同数据的错误。请注意,日期20170325更改为20170321。 回溯(最近一次调用):pivot_表 文件“ext2\vc12_win32\lib\python2.7\site pa

  • 问题内容: 我正在查询一个SQL数据库,我想使用熊猫来处理数据。但是,我不确定如何移动数据。以下是我的输入和输出。 问题答案: 答案更简短

  • 问题内容: 我有一个熊猫数据框。我想“落后”我的专栏之一。例如,这意味着将整个列“ gdp”上移一位,然后删除其余行底部的所有多余数据,以使所有列的长度再次相等。 无论如何要这样做? 问题答案:

  • 问题内容: 我有两个DataFrames。。。 是一个表,我需要从使用索引的值中提取值,这些索引是从df2中的多个列检索到的。 我看到有一个函数可以在给定索引和列值的情况下完美运行,但是当尝试向量化此函数以创建新列时,我失败了… 现在,我需要做的是在-上建立一个新的新列-当基于索引建立索引时,有效地向量化上述函数中指定的,来自的列对。 导致 。。。 问题答案: 有一个恰当地命名的函数可以做到这一点