Databricks Python3笔记本导入Spark StructType模块报错求助
解决Databricks Python笔记本中
ImportError: No module named 'org'的问题 你遇到这个问题完全是因为搞混了Spark的Scala API和Python API的语法!
你写的import org.apache.spark.sql.types.StructType是Scala语言里的导入方式,但你的笔记本用的是Python 3,Python里的Spark API结构完全不一样,所以才会报找不到org模块的错误。
正确的Python导入写法
在Databricks的Python笔记本里,要导入StructType应该这么写:
from pyspark.sql.types import StructType, StructField, StringType, IntegerType # 按需导入其他需要的字段类型
为什么之前的尝试没用?
你试的import org.py.spark.sql.types.StructType是自己臆想的路径,Python的Spark库根本不是这个结构——Spark的Python API统一放在pyspark这个包下面,所有SQL相关的类型都在pyspark.sql.types模块里。
新手小提示
刚接触Databricks的话,记得区分不同语言的API差异:
- Scala/Java用
org.apache.spark开头的路径 - Python用
pyspark开头的路径 - R用
sparklyr或者SparkR相关的语法
以后写代码前可以先确认下当前笔记本的语言(Databricks笔记本右上角会显示),避免再犯类似的语法混淆错误~
内容的提问来源于stack exchange,提问作者Mrmoleje
相关产品推荐
相关产品推荐

