Scala程序以Java 8程序转换

时间:2017-04-15 01:49:29

标签: java scala apache-spark

我已经开始学习Apache Spark了。现在教程大多是用scala编写的。我也想尝试java 8中的程序。

但是我在Java 8中找不到scala代码中的等效编码。

scala代码如下:

def main(args: Array[String]) {

    val sc = new SparkContext("local[*]", "<class-name>")

    val lines = sc.textFile("../a.data")
    val stars = lines.map(x => x.toString().split("\t")(2))
    val results = ratings.countByValue()
    val sortedResults = results.toSeq.sortBy(_._1)
    sortedResults.foreach(println)
  }

我编写的java 8中的等效代码是:

public static void main(String[] args){

        JavaSparkContext sc = new JavaSparkContext("local[*]", "<class-name>");
        JavaRDD<String> lines = sc.textFile("../a.data");

        //....
}

代码的剩余部分,我无法转换。我在java 8中找不到相应的map函数。有一个flatmap,但它创建了许多实例。

我尝试了其他几种方法,但没有工作。

请帮我解决这个问题。

文件中的数据格式为

191 241 4   654258949
186 312 1   991123772

1 个答案:

答案 0 :(得分:0)

不知怎的,这就是诀窍。不确定,如果我有效编码或不编码。

let component;
let fixture;

beforeEach(() => {
    TestBed.configureTestingModule({
        declarations: [MyComponent],
        imports: [ReactiveFormsModule],
        providers: [] // which provider for setValue/patchValue?
    });

    fixture = TestBed.createComponent(MyComponent);
    component = fixture.debugElement.componentInstance;
    fixture.detectChanges()
});


it('sending form values to the service onSubmit method', () => {
    // assuming the property on the component is named jobForm
    const form = component.jobForm;

    form.patchValue({'title': 'a spec title'}); 
});