我想传递Spark数据集作为函数的参数。例如
case class Token1(name: String, productId: Int, score: Double)
val data1 = Seq(
Token1("aaa", 100, 0.12),
Token1("aaa", 200, 0.29),
Token1("bbb", 200, 0.53),
Token1("bbb", 300, 0.42))
val ds1 = data1.toDS()
case class Token2(name: String, productId: Int)
val data2 = Seq(
Token2("aaa", 100),
Token2("aaa", 200),
Token2("bbb", 200),
Token2("bbb", 300))
val ds2 = data2.toDS()
def printDS(ds:Dataset[T]): Unit ={
ds.show()
}
printDS(ds1)
printDS(ds2)
我想将不同的数据集传递给printDS()。由于Spark数据集是强类型的,如何将Dataset [Token1]或Dataset [Token2]传递给接受Dataset [Any]?的printDS()。我可以将Spark Dataframes作为函数参数传递,而不是Spark数据集。
答案 0 :(得分:3)
只需在printDS方法中使用类型参数:
$(window).on('scroll',function(){
var a = $("#section0").hasClass('active');
var b = $("#section1").hasClass('active');
var c = $("#section2").hasClass('active');
var d = $("#section3").hasClass('active');;
var navscroll = $('.nav-next');
if(a){
$(navscroll).css('left','35%');
}
if(b){
$(navscroll).css('left','65%');
}
if(c){
$(navscroll).css('left','35%');
}
if(d){
$(navscroll).css('left','65%');
}
});
$('#fullpage').fullpage({
sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', 'whitesmoke', '#ccddff'],
anchors: ['firstPage', 'secondPage', '3rdPage', '4thpage', 'lastPage'],
menu: '#menu',
slidesNavigation: true,
scrollBar: true,
autoScrolling:false
});