@@ -181,4 +181,135 @@ class MapRDBJavaSparkContext(val sparkContext: SparkContext) {
181
181
bulkInsert = false )
182
182
}
183
183
184
+ def insertToMapRDB [K , V <: AnyRef ](javaPairRDD : JavaPairRDD [K , V ],
185
+ keyClazz : Class [K ],
186
+ valueClazz : Class [V ],
187
+ tableName : String ,
188
+ createTable : Boolean ,
189
+ bulkInsert : Boolean ): Unit = {
190
+
191
+ require(javaPairRDD != null , " RDD can not be null" )
192
+ require(keyClazz != null , " Key class can not be null" )
193
+ require(valueClazz != null , " Value class can not be null" )
194
+
195
+ import scala .reflect ._
196
+ implicit val vct : ClassTag [V ] = ClassTag (valueClazz)
197
+ implicit val v : OJAIValue [V ] = OJAIValue .overrideDefault[V ]
198
+
199
+ implicit val ct : ClassTag [K ] = ClassTag (keyClazz)
200
+ implicit val f : OJAIKey [K ] = MapRDBUtils .getOjaiKey[K ]()
201
+
202
+ PairedDocumentRDDFunctions (javaPairRDD.rdd)
203
+ .insertToMapRDB(tableName, createTable, bulkInsert)
204
+ }
205
+
206
+ def insertToMapRDB [K , V <: AnyRef ](javaPairRDD : JavaPairRDD [K , V ],
207
+ keyClazz : Class [K ],
208
+ valueClazz : Class [V ],
209
+ tableName : String ,
210
+ createTable : Boolean ): Unit = {
211
+
212
+ this .insertToMapRDB(javaPairRDD,
213
+ keyClazz,
214
+ valueClazz,
215
+ tableName,
216
+ createTable,
217
+ bulkInsert = false )
218
+ }
219
+
220
+ def insertToMapRDB [K , V <: AnyRef ](javaPairRDD : JavaPairRDD [K , V ],
221
+ keyClazz : Class [K ],
222
+ valueClazz : Class [V ],
223
+ tableName : String ): Unit = {
224
+
225
+ this .insertToMapRDB(javaPairRDD,
226
+ keyClazz,
227
+ valueClazz,
228
+ tableName,
229
+ createTable = false ,
230
+ bulkInsert = false )
231
+ }
232
+
233
+ def insertRowRDDToMapRDB (javaRDD : JavaRDD [Row ],
234
+ tableName : String ,
235
+ createTable : Boolean ,
236
+ bulkInsert : Boolean ,
237
+ idField : String ): Unit = {
238
+
239
+ require(javaRDD != null , " RDD can not be null" )
240
+ javaRDD.rdd
241
+ .asInstanceOf [RDD [Row ]]
242
+ .insertToMapRDB(tableName, createTable, bulkInsert, idField)
243
+ }
244
+
245
+ def insertRowRDDToMapRDB (javaRDD : JavaRDD [Row ],
246
+ tableName : String ,
247
+ createTable : Boolean ,
248
+ bulkInsert : Boolean ): Unit = {
249
+ this .insertRowRDDToMapRDB(javaRDD,
250
+ tableName,
251
+ createTable,
252
+ bulkInsert,
253
+ DocumentConstants .ID_KEY )
254
+ }
255
+
256
+ def insertRowRDDToMapRDB (javaRDD : JavaRDD [Row ],
257
+ tableName : String ,
258
+ createTable : Boolean ): Unit = {
259
+ this .insertRowRDDToMapRDB(javaRDD,
260
+ tableName,
261
+ createTable,
262
+ bulkInsert = false ,
263
+ DocumentConstants .ID_KEY )
264
+ }
265
+
266
+ def insertRowRDDToMapRDB (javaRDD : JavaRDD [Row ], tableName : String ): Unit = {
267
+ this .insertRowRDDToMapRDB(javaRDD,
268
+ tableName,
269
+ createTable = false ,
270
+ bulkInsert = false ,
271
+ DocumentConstants .ID_KEY )
272
+ }
273
+
274
+ def insertToMapRDB [D ](javaRDD : JavaRDD [D ],
275
+ tableName : String ,
276
+ createTable : Boolean ,
277
+ bulkInsert : Boolean ,
278
+ idField : String ): Unit = {
279
+
280
+ require(javaRDD != null , " RDD can not be null" )
281
+
282
+ javaRDD.rdd
283
+ .asInstanceOf [RDD [OJAIValue [D ]]]
284
+ .insertToMapRDB(tableName, createTable, bulkInsert, idField)
285
+ }
286
+
287
+ def insertToMapRDB [D ](javaRDD : JavaRDD [D ],
288
+ tableName : String ,
289
+ createTable : Boolean ,
290
+ bulkInsert : Boolean ): Unit = {
291
+ this .insertToMapRDB(javaRDD,
292
+ tableName,
293
+ createTable,
294
+ bulkInsert,
295
+ DocumentConstants .ID_KEY )
296
+ }
297
+
298
+ def insertToMapRDB [D ](javaRDD : JavaRDD [D ],
299
+ tableName : String ,
300
+ createTable : Boolean ): Unit = {
301
+ this .insertToMapRDB(javaRDD,
302
+ tableName,
303
+ createTable,
304
+ bulkInsert = false ,
305
+ DocumentConstants .ID_KEY )
306
+ }
307
+
308
+ def insertToMapRDB [D ](javaRDD : JavaRDD [D ], tableName : String ): Unit = {
309
+ this .insertToMapRDB(javaRDD,
310
+ tableName,
311
+ createTable = false ,
312
+ bulkInsert = false ,
313
+ DocumentConstants .ID_KEY )
314
+ }
184
315
}
0 commit comments