Python spark提交文件';不要从s3中读取文件,只需在其上进行检查
当我试图使用spark submit从s3读取数据时,我遇到了一个问题。 当从s3存储桶读取数据时,应用程序只是在没有任何警告或控制台弹出的情况下卡住了。但是,如果我使用python运行同一个应用程序,它会工作!也许有人面临同样的问题 test.py的代码:Python spark提交文件';不要从s3中读取文件,只需在其上进行检查,python,amazon-web-services,apache-spark,hadoop,amazon-s3,Python,Amazon Web Services,Apache Spark,Hadoop,Amazon S3,当我试图使用spark submit从s3读取数据时,我遇到了一个问题。 当从s3存储桶读取数据时,应用程序只是在没有任何警告或控制台弹出的情况下卡住了。但是,如果我使用python运行同一个应用程序,它会工作!也许有人面临同样的问题 test.py的代码: 导入操作系统 从pyspark.sql导入SparkSession os.environ[“PYSPARK\u SUBMIT\u ARGS”]=“”--packages com.amazonaws:aws java sdk:1.11.711
导入操作系统
从pyspark.sql导入SparkSession
os.environ[“PYSPARK\u SUBMIT\u ARGS”]=“”--packages com.amazonaws:aws java sdk:1.11.711,org.apache.hadoop:hadoop aws:3.2.0
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer
--conf spark.driver.memory=2g--conf spark.executor.memory=8g
--conf spark.dynamicAllocation.enabled=false pyspark外壳“”
spark=SparkSession.builder.appName(f“test”).getOrCreate()
打印(“从s3中读取”)#此处显示
s3filepath=“s3a://path/to/file”
df=spark.read.csv(
s3filepath,
sep=“|”,
header='false',
空值=“”,
推断模式=真)
打印(“显示df”)
df.show()
spark提交命令:
PYSPARK\u PYTHON=python3/usr/bin/spark提交--部署模式客户端\
--packages com.amazonaws:aws java sdk:1.11.519,org.apache.hadoop:hadoop aws:3.2.0\
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer\
--conf spark.driver.memory=2g\
--conf spark.executor.memory=8g\
--conf spark.dynamicAllocation.enabled=false\
test.py
但是当我只使用python3test.py时,它可以正常工作并毫不延迟地正确读取所有内容
spark版本:2.4.4
Hadoop版本:3.2.1
该文件包含约5K行。问题是由spark资源分配管理器引起的。通过减少请求的资源来解决此问题。为什么它使用python3 test.py工作仍然是个谜问题是由spark资源分配管理器引起的。通过减少请求的资源来解决此问题。为什么它使用python3 test.py工作仍然是个谜。