我无法在pyspark中导入"from_avro"。
尝试通过调用avro的外部包来运行spark-submit作业
例如:
spark-submit --packages org.apache.spark:spark-avro_2.12:3.0.1 test1.py
我的test1.py
文件包含import语句:
from pyspark.sql.avro.functions import from_avro, to_avro
获取:
导入错误:无模块名称avro.函数
我如何使用python代码导入from_avro
?
2条答案
按热度按时间6ioyuze21#
https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.avro.functions.from_avro.html?highlight=avro
如您所见,从3.0.0开始就可以使用此功能
你用的是哪个spark版本?如果低于3. 0. 0,就不能那样工作了。
pkln4tw62#
如果您运行的是Spark 2.4,而不是导入的包所指示的3.0.1,那么您需要自己编写一个 Package 器,因为Spark 2.4只为Java/Scala提供spark-avro。
确保spark-avro依赖项在提供给
--packages
时具有指定的正确版本。如果您运行Spark version〈3的假设是不正确的,请提供更多细节。