我想在spark env中使用scala讀取avro數據。我的數據沒有得到分配,而在運行它時只會到2個節點。我們有20多個節點。這是我的代碼段spark中的數據並行:從hdfs讀取avro數據
@serializable情況下類My_Class(VAL添加my_id:字符串)
VAL文件路徑= 「HDFS://路徑」;
val avroRDD = sc.hadoopFile[AvroWrapper[GenericRecord], NullWritable, AvroInputFormat[GenericRecord]](filePath)
val rddprsid = avroRDD.map(A => new My_Class(new String(A._1.datum.get("My_ID").toString())));
val uploadFilter = rddprsid.filter(E => E.My_ID ne null);
val as = uploadFilter.distinct(100).count;
我不能在rdd上使用並行操作,因爲它會抱怨以下錯誤。 :30:錯誤:類型不匹配; 找到:org.apache.spark.rdd.RDD [(org.apache.avro.mapred.AvroWrapper [org.apache.avro.generic.GenericRecord],org.apache.hadoop.io.NullWritable]] required:Seq [?]
有人可以幫忙嗎?
這是兩個不同的問題,其中第一個沒有足夠的信息。你的火花提交是什麼? –
我使用scala控制檯提交作業,它在紗線客戶端上。 – Akhtar
scala控制檯,你的意思是火星殼? –