Pandas Azure Databricks Notebook 中缺少 read_parquet 函数

Pandas missing read_parquet function in Azure Databricks Notebook

当我使用pandas读取databricks notebook中的parquet文件时,出现以下错误:AttributeError: module 'pandas' has no attribute 'read_parquet'。已尝试在我的集群上安装最新版本的 pandas,但仍然没有任何变化。知道如何解决吗?

要读取 Azure Databricks notebook 中的 parquet 格式文件,您应该直接使用 class 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 数据帧中获取 pandas 数据帧,您可以使用下面的 PySpark 数据帧的函数 toPandas()

pdf = df.toPandas()

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

所以你必须升级pandas版本大于等于0.21.x,这是第一个版本支持pandas/io/parquet.pyread_parquet功能,如下图.

要在你的databricks集群中升级pandas,请按照databricks官方文档Databricks UtilitiesLibrary utilities部分安装不同版本的pandas包,作为代码和下图。

dbutils.library.installPyPI("pandas", version="0.24.2")
dbutils.library.restartPython()

那么就可以使用read_parquet这个功能了pandas官方文档说的