พอดีผมลองใช้ hadoop-aws
เวอร์ชั่น 3.2.0 ไปแล้วตอนที่เขียนไฟล์เข้า S3 จะเจอ error ประมาณนี้
22/12/07 11:30:32 WARN TaskSetManager: Lost task 0.0 in stage 9.0 (TID 9) (5f52d1d4aab7 executor driver): java.lang.NoSuchMethodError: 'void org.apache.hadoop.util.SemaphoredDelegatingExecutor.<init>(com.google.common.util.concurrent.ListeningExecutorService, int, boolean)'
วิธีแก้ง่ายมาก… ให้เปลี่ยนไปใช้ hadoop-aws
เวอร์ชั่น 3.2.2
conf = SparkConf()
conf.set("spark.jars.packages", "org.apache.hadoop:hadoop-aws:3.2.2")
ส่วนเวอร์ชั่น Spark ที่ใช้อยู่ก็เป็นเวอร์ชั่น 3.3.0
ปล. เรื่อง package dependency กับ version นี่ปวดหัวจริง…