我已经手动创建了一个映射函数(map)来映射RDD的某些元素。
val rdd = sc.parallelize(List(
LabeledPoint(5.0, Vectors.dense(1,2)),
LabeledPoint(12.0, Vectors.dense(1,3)),
LabeledPoint(20.0, Vectors.dense(-1,4))))
val map = Map(5 -> 0.0, 12.0 -> 1.0, 20.0 -> 2.0)
val trainingData = rdd.map{
case LabeledPoint(category, features) => LabeledPoint(map(category), features)
}
如何为1000个元素创建映射功能。这1000个元素在RDD中称为“独立”。 我已经尝试过了
var i=0
val map=distinct.map
{ x=>Map(x -> i)
i=i+1
}
但这不能用作映射功能
val trainingData = rdd.map{
case LabeledPoint(category,
features) => LabeledPoint(map(category), features)
}
答案 0 :(得分:1)
<div class="form-group">
<select id="typeNotification" class="form-control">
<option>Shock Sensor</option>
<option>GPS Jamming</option>
<option>Ingition off</option>
<option>Temperture</option>
</select>
</div>
<input type="text" id="phoneNumber" class="form-control" id="exampleInputSMS" aria-describedby="emailHelp" placeholder="Enter phone number">
<input type="email" id="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email">
<button type="button" onclick="javascript: addButton()" id="addNotification" class="btn btn-primary" >Add Notification</button>
,然后zipWithIndex
:
collectAsMap