将 Delta Lake 包添加到 AWS EMR Notebook

Add Delta Lake packages to AWS EMR Notebook

Delta jardelta-core_2.11-0.6.1.jar 添加到 EMR 主节点“SPARK_HOME/jars”目录。但是从 EMR Notebook 调用 Delta API 我收到以下错误:

# Though Notebook comes with default SPARK instant so following line I didn't execute 
# spark = SparkSession.builder.appName("MyApp") \
#    .config("spark.jars.packages", "io.delta:delta-core_2.11:0.6.1") \
#    .getOrCreate()

from delta.tables import * # ModuleNotFoundError: No module named 'delta'

CLI 命令 pyspark --packages "io.delta:delta-core_2.11:0.6.1" 在主节点中运行良好。我可以在 CLI 模式下访问 Delta APIs。

有什么方法可以直接在 Notebook 中使用 Delta APIs。请提出建议。

包含 DeltaTable class 的 tables.py 文件可以在 github 上的增量存储库中找到。 你可以在这里找到它 - https://github.com/delta-io/delta/tree/master/python/delta

您可以克隆存储库(记住 select 正确的分支)或复制文件并将其上传到 Jupyter。无论哪种方式,它都需要添加为依赖项,所以你需要像

这样的东西
import sys
sys.path.append('mnt/jupyterhome/<username>/<folder_containing_tables.py>)

希望这能让你振作起来 运行!