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(....)
)
也许有人知道更简单的方法。我是 运行 一个带有 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(....)
)