【发布时间】:2015-12-04 21:36:43
【问题描述】:
我正在编写一个 spark 作业,尝试使用 scala 读取文本文件,以下在我的本地计算机上运行良好。
val myFile = "myLocalPath/myFile.csv"
for (line <- Source.fromFile(myFile).getLines()) {
val data = line.split(",")
myHashMap.put(data(0), data(1).toDouble)
}
然后我尝试让它在 AWS 上运行,我做了以下操作,但它似乎没有正确读取整个文件。在 s3 上读取此类文本文件的正确方法应该是什么?非常感谢!
val credentials = new BasicAWSCredentials("myKey", "mySecretKey");
val s3Client = new AmazonS3Client(credentials);
val s3Object = s3Client.getObject(new GetObjectRequest("myBucket", "myFile.csv"));
val reader = new BufferedReader(new InputStreamReader(s3Object.getObjectContent()));
var line = ""
while ((line = reader.readLine()) != null) {
val data = line.split(",")
myHashMap.put(data(0), data(1).toDouble)
println(line);
}
【问题讨论】:
标签: scala amazon-web-services amazon-s3 apache-spark