没有名为“delta.tables”的模块

问题描述

我收到以下代码的以下错误,请帮助:

   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.3pyspark==3.0.1,

,

spark.jarsspark.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")