处理RDD中的每个逗号分隔值

时间:2017-03-14 10:35:56

标签: scala apache-spark rdd

我想用逗号分隔的值处理RDD中的每一行。我想要实现的是将所有接近零的值设置为实际零。这就是我所做的。

page = (int)RowNo/12; Offset = page*12;

SELECT * 
FROM DriverID_Table
WHERE Fleet IN (SELECT Fleet_ID FROM Fleet_Table WHERE User_Id=@user)
ORDER BY DriverId 
OFFSET @Offset ROWS FETCH NEXT 12 ROWS ONLY

我得到的只是所有行的括号()。我犯了一些愚蠢的错误吗?

感谢。

1 个答案:

答案 0 :(得分:3)

您应该添加yield关键字,因此您将标记for循环返回值列表:

x <- 1:5
y1 <- c(10,53,430,80,214)
y2 <- c(0.2,1.2,3.3, 3.5, 4.2)

# create new window 
windows()

# set margins
par(mar=c(5,4,4,5)+.1)
# create bar plot with primary axis (y1)
barplot(y1,  ylim= c(0,500))
mtext("y1",side=2,line=3)

# add plot with secondary (y2) axis
par(new=TRUE)
plot(x, y2,,type="b",col="red",xaxt="n",yaxt="n",xlab="",ylab="", ylim= c(0,10), lwd = 2, lty = 2, pch = 18)
axis(4)
mtext("y2",side=4,line=3)

您可以阅读:对于.map (line => for(value <- line) yield { if(value.toDouble >= -0.01 && value.toDouble <= 0.01) "0" else value }) 集合中的每个值,返回 - line值:if // etc

您还可以使用DataFrame API加载逗号分隔文件