Nasıl Dataset<Tuple2<String,DeviceData>>
var ve Iterator<DeviceData>
için dönüştürmek istiyorum.Nasıl Dataset <Tuple2 <String, DeviceData >> Dönüştürücüsü Iterator <DeviceData>
Aşağıda, collectAsList()
yöntemini kullanıyorum ve Iterator<DeviceData>
aldığım kodumu aşağıda bulabilirsiniz.
Dataset<Tuple2<String,DeviceData>> ds = ...;
List<Tuple2<String, DeviceData>> listTuple = ds.collectAsList();
ArrayList<DeviceData> myDataList = new ArrayList<DeviceData>();
for(Tuple2<String, DeviceData> tuple : listTuple){
myDataList.add(tuple._2());
}
Iterator<DeviceData> myitr = myDataList.iterator();
verilerim büyük olduğu gibi collectAsList()
kullanamaz ve performans engel olacaktır. Dataset API'sine baktım ama herhangi bir çözüm bulamadım. Ben googled ama herhangi bir cevap bulamadık. Birisi bana rehberlik edebilir mi? Eğer çözüm javada ise harika olacak. Teşekkürler.
DÜZENLEME:
DeviceData
sınıf basit javabean olduğunu. İşte ds için printSchema() çıkışı.
root
|-- value: string (nullable = true)
|-- _2: struct (nullable = true)
| |-- deviceData: string (nullable = true)
| |-- deviceId: string (nullable = true)
| |-- sNo: integer (nullable = true)