模块未命名为'delta.tables'。

7

以下是我的代码,我遇到了下面的错误,请帮忙解决:

   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 core jar版本相匹配,以下是scala和jar版本:

"delta-core_2.12-0.7.0"

"使用Scala版本2.12.10,Java HotSpot(TM) 64-Bit Server VM, 1.8.0_221"

3个回答

10

5
根据Delta Package的文档,有一个名为tables的Python文件。您应该克隆存储库并将delta文件夹复制到python/delta下,并将其粘贴到您的站点包路径(即 ..\python37\Lib\site-packages)。然后重启Python,您的代码将不会出现错误。
我正在使用Python3.5.3pyspark==3.0.1

你的回答很有帮助。https://docs.delta.io/latest/quick-start.html - 这就是它所在的地方。 - RLT
1
提供的链接并没有指向正确的代码库。请查看 https://github.com/delta-io/delta,你会发现 tables 实际上存在于 delta Python 包中。 - Bram
1
@Bram 谢谢你的回答,已经修改并附上了如何操作的说明。 - Or b

4

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")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接