在猪脚本中,我使用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的那些
感谢您的见解
答案 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)}
)