问题描述
from delta.tables import *
ModuleNotFoundError: No module named 'delta.tables'
INFO SparkContext: Invoking stop() from shutdown hook
代码如下: '''
from pyspark.sql import *
if __name__ == "__main__":
spark = SparkSession \
.builder \
.appName("DeltaLake") \
.config("spark.jars","delta-core_2.12-0.7.0") \
.config("spark.sql.extensions","io.delta.sql.DeltaSparkSessionExtension") \
.config("spark.sql.catalog.spark_catalog","org.apache.spark.sql.delta.catalog.DeltaCatalog") \
.getorCreate()
from delta.tables import *
data = spark.range(0,5)
data.printSchema()
'''
建议将 scala 版本验证为 delta 核心 jar 版本的在线搜索。这是 Scala 和 Jar 版本
“delta-core_2.12-0.7.0”
“使用 Scala 版本 2.12.10,Java HotSpot(TM) 64 位服务器虚拟机,1.8.0_221”
解决方法
根据delta包documentation,有一个名为tables
的python文件。
您应该克隆存储库并将 delta
下的 python/delta
文件夹复制到您的站点包路径(即 ..\python37\Lib\site-packages
)。然后重新启动 python,你的代码运行没有错误。
我正在使用 Python3.5.3
,
pyspark==3.0.1
,
spark.jars
和 spark.jars.packages
之间存在差异。由于您正在遵循快速入门,请尝试更换
.config("spark.jars","delta-core_2.12-0.7.0")
与
.config("spark.jars.packages","io.delta:delta-core_2.12:0.7.0")