2016-04-07 20 views
3

Im kıvılcım. Hata ve kod aşağıda verilmiştir. Klasör, bölüm-00000 bölüm-00001 denilen hadoop gelen bir dizi dosyadan oluşur. Onlar 0KB birkaç gb dosya boyutları aralığı vardırokuma hatası s3 kova o kıvılcımla s3 dosyaları okumaya çalışırken bir istisna alma

16/04/07 15:38:58 BİLGİ NativeS3FileSystem: pozisyonda okumak için anahtar 'titlematching214/1.0/bypublicdemand/yarı 00000' Açılış org.jets3t.service.S3ServiceException: '0' 16/04/07 15:38:58 HATA Yürüten: aşama 0.0 (TID 0) org.apache.hadoop.fs.s3.S3Exception görevin 0.0 özel durum S3 '/titlematching214%2F1.0%2Fbypublicdemand%2Fpart-00000' XML Hatası Mesajı için başarısız GET: InvalidRange istenen aralığı değil satisfiablebytes = 0-01AED523DF401F17ECBYUH1h3WkC7/g8/EFE/YyHbzxoNTpRBiX6QMy2R XHur17lYTZXd7XxOWivmqIpu0F7Xx5zdWns =

object ReadMatches extends App{ 
    override def main(args: Array[String]): Unit = { 
    val config = new SparkConf().setAppName("RunAll").setMaster("local") 
    val sc = new SparkContext(config) 
    val hadoopConf = sc.hadoopConfiguration 
    hadoopConf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem") 
    hadoopConf.set("fs.file.impl", "org.apache.hadoop.fs.LocalFileSystem") 
    sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "myRealKeyId") 
    sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "realKey") 
    val sqlConext = new SQLContext(sc) 

    val datset = sc.textFile("s3n://altvissparkoutput/titlematching214/1.0/*/*") 
    val ebayRaw = sqlConext.read.json(datset) 
    val data = ebayRaw.first(); 
    } 
} 
+0

sen, ("mapreduce.input.fileinputformat.input.dir.recursive" "true") bu 'sc.hadoopConfiguration.set ile' deneyin misiniz. Ayrıca s3n protokolünün dosya boyutlarını 5GB'a sınırladığına inanıyorum. Bu sorun olabilir, ancak emin değilim ... – evgenii

+0

Hiçbir fark, aynı hata. –

+0

Bu hatayı düzelttiniz mi? – shrewquest

cevap

0

düz s3 adresinin veri kümesi okuyabilir olabilir.

val datset = "s3n://altvissparkoutput/titlematching214/1.0/*/*" 
    val ebayRaw = sqlConext.read.json(datset)