spark-submit 没有获取 mysql-connector jar

spark-submit doesn't pick up mysql-connector jar

也许有人知道更简单的方法。我是 运行 一个带有 Spark (3.x) 的 EMR 集群 (6.x) (1 Master, 1 Slave)。尝试使用 Spark 作业将一些数据写入 mysql RDS。

spark-submit --jars s3://s3-bucket-jar-assignment/mysql-connector-java-8.0.25.jar s3://s3-bucket-scripts-assignment/scripts/pyspark_script.py

我收到这个错误: 我不得不提一下,我还没有在 master 上安装 jar。如果我将 jar 放在 s3 存储桶上,我该怎么做?

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/spark/jars/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/share/aws/emr/emrfs/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/share/aws/redshift/jdbc/redshift-jdbc42-1.2.37.1061.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
  File "/mnt/tmp/spark-079b5158-31f7-419b-9877-0e557b9aa612/pyspark_script.py", line 11
    .config(conf=SparkConf()).getOrCreate()
    ^
IndentationError: unexpected indent
21/12/18 20:58:16 INFO ShutdownHookManager: Shutdown hook called
21/12/18 20:58:16 INFO ShutdownHookManager: Deleting directory /mnt/tmp/spark-079b5158-31f7-419b-9877-0e557b9aa612

问题似乎与包/jar 无关。 它的缩进,因为我没有看到你的 spark 初始化的完整代码,我只能猜测是一个没有添加 \ 符号的断行,它表示 python interperter 你断行并且代码继续。 .. 另一种选择是使用 ( you code )

将所有内容放入代码中

例如

spark = SparkSession.builder
.config(....)

而不是

spark = sparkSession.builder.config(...)

或者如果你想换行:

spark = (
  SparkSession.builder
.config(....)
)