熊猫缺少Azure Databricks Notebook中的read_parquet函数

时间:2019-11-21 22:48:42

标签: python pandas azure databricks azure-databricks

当我使用pandas读取databricks笔记本中的镶木地板文件时,发生以下错误:AttributeError:模块'pandas'没有属性'read_parquet'。尝试在我的集群上安装最新版本的熊猫,但仍然没有任何变化。关于如何解决它的任何想法?

1 个答案:

答案 0 :(得分:0)

要在Azure Databricks笔记本中读取镶木地板格式文件,应直接使用类pyspark.sql.DataFrameReader来将数据加载为PySpark数据框,而不要使用pandas

这是代码示例。

df = spark.read.format("parquet").load('<the path of your parquet file>')

df = spark.read.parquet('<the path of your parquet file>')

如果要从PySpark数据框获取熊猫数据框,则可以使用下面的PySpark数据框的函数toPandas()

pdf = df.toPandas()

更新:我通过以下代码检查了默认Azure databricks笔记本中的pandas版本,发现它是0.19.2

enter image description here

因此,必须将pandas版本升级到大于等于0.21.x,这是第一个版本支持read_parquet的{​​{1}}功能,如下图所示。 / p>

enter image description here

要升级您的数据砖集群中的pandas/io/parquet.py,请按照数据砖官方文档pandas的{​​{3}}部分安装Databricks Utilities软件包的不同版本,作为代码和下图。

pandas

Library utilities

然后您可以使用dbutils.library.installPyPI("pandas", version="0.24.2") dbutils.library.restartPython() 函数,如熊猫官方文档所述。

enter image description here