如何在 AWS Glue 3.0 中使用 GraphFrame。我看到只有Spark 2.x版本有pythonwheel包,但其他版本的Spark没有它。我遇到类加载异常
py4j.protocol.Py4JJavaError: An error occurred while calling o180.loadClass.
: java.lang.ClassNotFoundException: org.graphframes.GraphFramePythonAPI
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
我有graphframes的轮包:0.8.2-spark3.1-s_2.12 我已经给出了 --conf 并将wheel包也保留在python库中。
您可以直接在代码中指定带有maven坐标的jar。最新版本的 Spark 还提供 Graphframes jar 可用。
from pyspark.sql import SparkSession
##### Adding the graphframes jar so that we can access GraphX API of Apache Spark in pyspark
spark = SparkSession.builder \
.appName("MyApp") \
.config('spark.jars.packages', 'graphframes:graphframes:0.8.2-spark2.4-s_2.11') \
.getOrCreate()