Spark / Scala读取hadoop文件

时间:2015-07-09 08:44:29

标签: scala apache-spark

在猪脚本中,我使用PigStorage('|')保存了一个表。 我有相应的hadoop文件夹文件,如

part-r-00000

等。 在Spark / Scala中加载它的最佳方法是什么?在这个表中我有3个字段:Int,String,Float

我试过了:

text = sc.hadoopFile("file", classOf[TextInputFormat], classOf[LongWritable], classOf[Text], sc.defaultMinPartitions)

但是我需要以某种方式分割每一行。有没有更好的方法呢?

如果我在python中编码,我会创建一个由第一个字段索引的Dataframe,其列是字符串字段中的值,系数是浮点值。但我需要使用scala来使用pca模块。并且数据框似乎不接近python的那些

感谢您的见解

1 个答案:

答案 0 :(得分:0)

PigStorage创建一个没有架构信息的文本文件,因此您需要自己完成这项工作,例如

sc.textFile("file") // or directory where the part files are  
val data = csv.map(line => {
   vals=line.split("|")
   (vals(0).toInt,vals(1),vals(2).toDouble)}
)