EMR 和 Zeppelin 上的 Delta Lake 给出 'configure_spark_with_delta_pip' is not defined

Delta Lake on EMR and Zeppelin gives 'configure_spark_with_delta_pip' is not defined

我正在尝试在 EMR 上使用 Zeppelin 运行 上的 Delta lake。下面是我的简单 bootstrap 脚本,我使用的是 spark-delta 0.0.1,因为 EMR 上的 spark 版本是 2.4.4。当我尝试在笔记本中创建 spark 会话时出现异常。

Fail to execute line 7: spark = configure_spark_with_delta_pip(builder).getOrCreate() Traceback (most recent call last): File "/tmp/zeppelin_pyspark-2848864742877081666.py", line 380, in exec(code, _zcUserQueryNameSpace) File "", line 7, in NameError: name 'configure_spark_with_delta_pip' is not defined

我也尝试在创建会话之前添加 delta-code_2.11-0.6.1.jar,但运气不好,结果低于异常(如屏幕截图所示)。

module 'pyspark.sql.utils' has no attribute 'convert_exception'

#!/usr/bin/env bash

# Upgrade pip

python3 -m pip uninstall botocore --user
python3 -m pip uninstall boto3 --user


sudo python3 -m pip install --upgrade pip

python3 -m pip install botocore==1.13.38 --user

sudo yum -y install python3-devel

python3 -m pip install keras==2.2.4 --user

python3 -m pip install numpy==1.19.1 --user


sudo python3 -m pip install pyarrow
sudo python3 -m pip install boto3
sudo python3 -m pip install torch
sudo python3 -m pip install scipy 
sudo python3 -m pip install pandas
sudo python3 -m pip install delta-spark==0.0.1

0.0.1是验证pip发布过程的测试版本。这不是真正的释放。您应该根据您的 Spark 版本使用 1.0.0 或更高版本。您可以在 doc.

中找到兼容性矩阵
sudo python3 -m pip install delta-spark==1.0.0