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.py
的read_parquet
功能,如下图.
要在你的databricks集群中升级pandas
,请按照databricks官方文档Databricks Utilities
的Library utilities
部分安装不同版本的pandas
包,作为代码和下图。
dbutils.library.installPyPI("pandas", version="0.24.2")
dbutils.library.restartPython()
那么就可以使用read_parquet
这个功能了pandas官方文档说的
当我使用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.py
的read_parquet
功能,如下图.
要在你的databricks集群中升级pandas
,请按照databricks官方文档Databricks Utilities
的Library utilities
部分安装不同版本的pandas
包,作为代码和下图。
dbutils.library.installPyPI("pandas", version="0.24.2")
dbutils.library.restartPython()
那么就可以使用read_parquet
这个功能了pandas官方文档说的