当我使用pandas读取databricks笔记本中的镶木地板文件时,发生以下错误:AttributeError:模块'pandas'没有属性'read_parquet'。尝试在我的集群上安装最新版本的熊猫,但仍然没有任何变化。关于如何解决它的任何想法?
答案 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
。
因此,必须将pandas
版本升级到大于等于0.21.x
,这是第一个版本支持read_parquet
的{{1}}功能,如下图所示。 / p>
要升级您的数据砖集群中的pandas/io/parquet.py
,请按照数据砖官方文档pandas
的{{3}}部分安装Databricks Utilities
软件包的不同版本,作为代码和下图。
pandas
然后您可以使用dbutils.library.installPyPI("pandas", version="0.24.2")
dbutils.library.restartPython()
函数,如熊猫官方文档所述。