가 년의 경험 Java8 과 람다. 하지만 내가 만난 미친 문제를 개발 하는 경우 안녕하세요-세계-크기는 점화 프로그램입니다.
여기에 나는 Java 클래스에서는 데이터 주석에서 Lombok:
@Data
public class Person implements Serializable {
private String name;
private Long age;
}
그리고 나는 내 자의 개체를 포함하는 Persion
클래스:
Person p1 = new Person("sb", 1L);
Person p2 = new Person("sth", null);
List<Person> list = new ArrayList<>(2);
list.add(p1);
list.add(p2);
그래서 지금까지 좋은. 그리고 나는 시도를 생성하는 불꽃을 사용하여 데이터 집합 목록:
SparkSession session = SparkSession.builder().master("local[1]").appName("SparkSqlApp").getOrCreate();
Encoder<Person> personEncoder = Encoders.bean(Person.class);
Dataset<Person> dataset1 = session.createDataset(list, personEncoder);
dataset1.foreach(new ForeachFunction<Person>() { // 1
@Override
public void call(Person person) throws Exception {
System.out.println(person);
}
});
dataset1.foreach((ForeachFunction<Person>) System.out::println); //2
지,블록 1 에 해당하는 블록 2java 및 블록 2 단순화에서 블록 1 의 IntelliJ IDEA. 유일한 차이점은 2 블록을 사용하 lambda expression.
그러나 때,나는 프로그램을 실행하여 블록 1 끝을 잘하는 동안 2 차단 실행에 예외:
무엇을...큰 땅과 큰 우주? 왜 JVM 또는 불꽃 엔진 같은 것들이?!
System.out
까?나는 그것을 대체 로그 프레임워크 및 빅뱅! 그것은 성공했다.ForeachFunction<String> functionBody = log::info;