0
Apache-spark에서 사용할 수있는 형식이 아닌 데이터 집합이 있습니다. 이러한 데이터는 데이터를 처리하는 스크립트에서Java POJO의 groupBy와 Spark 데이터 집합 오류
public class TBHits {
int status;
int trkID;
public TBHits(int trkID, int status) {
this.status = status;
this.trkID = trkID;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getTrkID() {
return trkID;
}
public void setTrkID(int trkID) {
this.trkID = trkID;
}
}
을 즉에 대한 은 내가
private List<TBHits> deptList = new ArrayList<TBHits>();
가 데이터를 처리하는 목록 나는 TBHits 객체를 생성하고 목록에 추가를 만들고, 클래스를 생성
...
...
TBHits tbHits = new TBHits((bnkHits.getInt("trkID", i)), (bnkHits.getInt("status", i)));
tbHitList.add(tbHits);
...
처리 후 I 데이터 집합을 생성하고 기본 쇼 기본 필터를 수행
,Dataset<Row> tbHitDf = spSession.createDataFrame(tbHitList, TBHits.class);
tbHitDf.show();
deptDf.filter(deptDf.col("trkID").gt(0)).show();
모두 괜찮습니다.
+------+-----+
|status|trkID|
+------+-----+
| 1| 0|
| 1| 0|
...
...
+------+-----+
|status|trkID|
+------+-----+
| 1| 1|
| 1| 1|
| 1| 1|
...
...
내가 GROUPBY를 사용하고
tbHitDf.groupBy("trkID").count().show();
을 계산하려고
는, 나는하지 이해할 수있는 오류를 얻을Exception in thread "main" java.lang.StackOverflowError
at java.io.ObjectStreamClass$WeakClassKey.<init>(ObjectStreamClass.java:2307)
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:322)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1134)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
...
...
...
하지만 수동으로 데이터를 다음
TBHits tb1 = new TBHits(1, 1);
TBHits tb2 = new TBHits(1, 2);
tbHitList.add(tb1);
tbHitList.add(tb2);
를 삽입하는 경우 groupBy 함수 작업 괜찮아. 이유를 이해할 수 없습니다.