我需要将delta-spark包导入Azure Synapse notebook,但收到错误“ModuleNotFoundError:No module named 'pyspark. errors'”。
安装了这个包(沿着安装pyspark)。从pyspark导入(如pyspark.sql.functions)可以工作,但在pyspark. errors上导入DeltaTable失败。相同的导入在不同的环境(Databases notebook)中使用相同的包版本也可以工作。我尝试使用findspark,但它什么也解决不了(可能是因为我没有导入pyspark的问题,但在pyspark下导入了一些包)。
验证码:
%pip install delta-spark
字符串
输出(选定):
Requirement already satisfied: delta-spark in /nfs4/pyenv-fee9cba1-d59a-44ab-8b9e-957614b27f23/lib/python3.10/site-packages (3.0.0)
Requirement already satisfied: pyspark<3.6.0,>=3.5.0 in /nfs4/pyenv-fee9cba1-d59a-44ab-8b9e-957614b27f23/lib/python3.10/site-packages (from delta-spark) (3.5.0)
型
验证码:
import pyspark.sql.functions as F
from pyspark.sql import Window
from delta.tables import DeltaTable
型
输出(选定):
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In [9], line 10
8 import pyspark.sql.functions as F
9 from pyspark.sql import Window
---> 10 from delta.tables import DeltaTable
...
File ~/cluster-env/env/lib/python3.10/site-packages/delta/exceptions.py:20
17 from typing import TYPE_CHECKING, Optional
19 from pyspark import SparkContext
---> 20 from pyspark.errors.exceptions import captured
21 from pyspark.errors.exceptions.captured import CapturedException
22 from pyspark.sql.utils import (
23 AnalysisException,
24 IllegalArgumentException,
25 ParseException
26 )
ModuleNotFoundError: No module named 'pyspark.errors'
型
这是Spark池的环境设置:
SPARK_HOME -> /opt/spark
PYTHONPATH -> /opt/spark/python/lib/pyspark.zip<CPS>/opt/spark/python/lib/py4j-0.10.7-src.zip<CPS>/opt/spark/python/lib/pyspark.zip<CPS>/opt/spark/python/lib/py4j-0.10.7-src.zip
型
1条答案
按热度按时间8aqjt8rx1#
字符串
此命令将在synapse notebook中工作,而无需安装
delta-spark
软件包。当我尝试在
%pip install delta-spark
之后使用from delta.tables import DeltaTable
命令时,我得到了相同的错误。但在安装之前,上面的工作正常。在synapse notebook中的
delta
包上安装delta-spark
可能是导致上述错误的原因。要使用
from delta.tables import DeltaTable
,请不要安装delta-spark
。您可以直接使用它,如下所示。的数据
你可以看到,它在没有安装任何软件包的情况下工作正常。