繁体   English   中英

在 pyspark 集群纱线提交中的 spark-sftp jar 中出现错误

[英]Getting error in spark-sftp jar in pyspark cluster yarn submit

我们正在使用 pyspark 提交选项,使用 jar 文件放置在 hdfs 和纱线集群模式中,如下所示。

#######################

source *****.sh                                    # setting environment variables
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

/bin/pyspark --master yarn --deploy-mode client --driver-memory *g  --executor-memory *g --executor-cores * --num-executors * --conf spark.yarn.archive=hdfs://node-master:/***/spark-libs.jar  --jars hdfs://node-master:/***/spark-sftp_2.11-1.1.5.jar

###########################火花代码################### #######

conf = spark.sparkContext._conf.setAll(
            [('spark.app.name', '***'),
             ("spark.sql.execution.arrow.enabled", "true"),
             ("spark.hadoop.fs.sftp.impl", "org.apache.hadoop.fs.sftp.SFTPFileSystem")])

spark = SparkSession \
            .builder \
            .config(conf=conf) \
            .getOrCreate()
  
sc = spark.sparkContext

SFTP_HOST= 'host'
SFTP_USER = 'user'
SFTP_PEM = 'passkey'
file_path ='full_path'

spark.read\
     .format("com.springml.spark.sftp")\
     .option("host", SFTP_HOST)\
     .option("username", SFTP_USER)\
     .option("pem", SFTP_PEM)\
     .option("fileType", "csv")\
     .option("multiLine", "true")\
     .option("header", "true")\
     .load(file_path)

################################## 错误 ############### ##############

Py4JJavaError:调用 o52.load 时出错。 : java.lang.NoClassDefFoundError: com/springml/sftp/client/SFTPClient

问题
  1. 如何解决此问题是我们跳过的任何内容。
  2. 将 jar 文件用于 spark-sftp 是否正确? 我不能使用 --package 因为它会安装依赖文件,我们正在避免它。

我们还尝试了集群模式并按照以下链接进行操作,但仍在同一页面中。

https://github.com/springml/spark-sftp/blob/master/README.md 在 pyspark 中使用 spark-sftp jar

spark-sftp_2.11-1.1.5.jar不是 uber/fat jar 这意味着它在构建工件时不包含依赖包。 您应该将缺少的依赖包添加到类路径中以使其正常工作。

在此处检查编译依赖项:

https://mvnrepository.com/artifact/com.springml/spark-sftp_2.11/1.1.5

Alternatively, you can also checkout https://github.com/arcizon/spark-filetransfer if interested which is developed by me to overcome few different issues I had faced with the spark-sftp package like missing support for 2.12 and restrictions to DataFrame API文件类型的fileType

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM