从AED S3存储桶读取时,警告会导致失败

问题描述 投票:0回答:1

我正在两个表之间进行简单的内部联接,但是我不断收到如下所示的警告。我在其他帖子中看到,可以忽略该警告,但是我的工作以失败而告终,并且没有进展。这些表非常大(120亿行),但我仅将一个表中的三列添加到另一个表中。当将数据集减少到几百万行并在Amazon Sagemaker Jupyter笔记本中运行脚本时。它工作正常。但是,当我在整个数据集的EMR群集上运行它时,它会失败。我什至运行了似乎无法运行的特定快照分区,该分区在sagemaker中起作用。从一张表中读取该作业没有问题,似乎是另一张表出现了问题

INFO FileScanRDD:正在读取文件路径:s3a://path/EES_FD_UVA_HIST/date=2019-10-14/part-00056-ddb83da5-2e1b-499d-a52a-cad16e21bd2c-c000.snappy.parquet,范围:0-102777097,分区值:[18183] 2006年4月20日15:51:58警告S3AbortableInputStream:并非从S3ObjectInputStream,中止HTTP连接。这可能是一个错误并可能导致行为不佳。仅请求您的字节使用后需要通过远程GET或耗尽输入流。 2006年4月20日15:51:58 WARN S3AbortableInputStream:并非从S3ObjectInputStream,中止HTTP连接。这可能是一个错误并可能导致行为不佳。仅请求您的字节使用后需要通过远程GET或耗尽输入流。 2006年4月20日15:52:03 INFO CoarseGrainedExecutor后端:驱动程序命令shutdown 20/04/06 15:52:03 INFO MemoryStore:MemoryStore已清除20/04/06 15:52:03 INFO BlockManager:BlockManager停止了20/04/0615:52:03 INFO ShutdownHookManager:名为Shutdown的挂钩

这是我的代码:

from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
uvalim=spark.read.parquet("s3://path/UVA_HIST_WITH_LIMITS")
uvaorg=spark.read.parquet("s3a://path/EES_FD_UVA_HIST")
config=uvalim.select('SEQ_ID','TOOL_ID', 'DATE' ,'UL','LL')
uva=uvaorg.select('SEQ_ID', 'TOOL_ID', 'TIME_STAMP', 'RUN_ID', 'TARGET', 'LOWER_CRITICAL', 'UPPER_CRITICAL', 'RESULT', 'STATUS')

uva_config=uva.join(config, on=['SEQ_ID','TOOL_ID'], how='inner')

uva_config.write.mode("overwrite").parquet("s3a://path/Uvaconfig.parquet")

是否有调试方法?

amazon-web-services amazon-s3 pyspark amazon-emr
1个回答
0
投票

您可以切换为使用s3而不是s3a。不建议将ilive s3a用于EMR。另外,您可以在调试中运行作业。

sc = spark.sparkContext
sc.setLogLevel('DEBUG') 
© www.soinside.com 2019 - 2024. All rights reserved.