尝试用烫伤/hadoop读取s3时,会遇到奇怪的npe。路径100%正确。
问这个问题是因为谷歌很难搜索,每次我都会忘记我是如何解决这个错误的。所以我可以在谷歌上搜索自己。
Caused by: java.lang.NullPointerException
at org.apache.hadoop.fs.s3native.NativeS3FileSystem.listStatus(NativeS3FileSystem.java:479)
at org.apache.hadoop.fs.Globber.listStatus(Globber.java:69)
at org.apache.hadoop.fs.Globber.glob(Globber.java:217)
at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:1623)
at com.twitter.scalding.FileSource.pathIsGood(FileSource.scala:57)
at com.twitter.scalding.FileSource$$anonfun$hdfsReadPathsAreGood$1.apply(FileSource.scala:89)
at com.twitter.scalding.FileSource$$anonfun$hdfsReadPathsAreGood$1.apply(FileSource.scala:89)
at scala.collection.LinearSeqOptimized$class.forall(LinearSeqOptimized.scala:70)
at scala.collection.immutable.List.forall(List.scala:84)
at com.twitter.scalding.FileSource.hdfsReadPathsAreGood(FileSource.scala:89)
at com.twitter.scalding.FileSource.validateTaps(FileSource.scala:101)
at com.twitter.scalding.Job$$anonfun$validateSources$1.apply(Job.scala:158)
at com.twitter.scalding.Job$$anonfun$validateSources$1.apply(Job.scala:153)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
at com.twitter.scalding.Job.validateSources(Job.scala:153)
at com.twitter.scalding.Job.buildFlow(Job.scala:91)
at com.twitter.scalding.Job.run(Job.scala:126)
at com.twitter.scalding.Tool.start$1(Tool.scala:109)
at com.twitter.scalding.Tool.run(Tool.scala:125)
at com.twitter.scalding.Tool.run(Tool.scala:72)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at com.twitter.scalding.Tool$.main(Tool.scala:133)
2条答案
按热度按时间gev0vcfq1#
在执行glob搜索时也会看到此错误。jets3必须被调整,我想用最大键或超时选项。
aelbi1ox2#
当您的s3凭据设置不正确时会发生这种情况。确保
fs.s3n.awsAccessKeyId
以及fs.s3n.awsSecretAccessKey
设置正确。