@@ -48,12 +48,14 @@ class DefaultSource extends DataSourceRegister
4848 parameters : Map [String , String ], data : DataFrame ): BaseRelation = {
4949
5050 require(parameters.get(" tableName" ).isDefined)
51+ require(parameters.get(" idFieldPath" ).isDefined)
52+ val idFieldPath = parameters(" idFieldPath" )
5153 // val cParser = new ConditionParser();
5254 val condition : Option [QueryCondition ] = parameters.get(" QueryCondition" ).map(cond => ConditionImpl .parseFrom(ByteBuffer .wrap(cond.getBytes)))
5355 lazy val tableExists = DBClient ().tableExists(parameters.get(" tableName" ).get)
5456 lazy val tableName = parameters.get(" tableName" ).get
5557 lazy val createTheTable = if (tableExists) false else true
56- lazy val bulkMode = parameters.get(" bulkMode" ).getOrElse(" false" ).toBoolean
58+ lazy val bulkMode = parameters.get(" bulkMode" ).getOrElse(" false" ).toBoolean
5759 val operation = parameters.get(" Operation" ).getOrElse(" ErrorIfExists" )
5860 mode match {
5961 case ErrorIfExists => {}
@@ -62,25 +64,25 @@ class DefaultSource extends DataSourceRegister
6264
6365 operation match {
6466 case " Insert" => {
65- MapRSpark .insert(data, tableName," _id " , createTable = createTheTable, bulkInsert = bulkMode)
67+ MapRSpark .insert(data, tableName,idFieldPath , createTable = createTheTable, bulkInsert = bulkMode)
6668 }
6769
6870 case " InsertOrReplace" => {
69- MapRSpark .save(data, tableName," _id " ,createTable = createTheTable, bulkInsert = bulkMode)
71+ MapRSpark .save(data, tableName,idFieldPath ,createTable = createTheTable, bulkInsert = bulkMode)
7072 }
7173
7274 case " ErrorIfExists" => {
7375 if (tableExists) throw new TableExistsException (" Table: " + tableName + " already Exists" )
74- else MapRSpark .save(data, tableName," _id " ,createTable = true , bulkInsert = bulkMode)
76+ else MapRSpark .save(data, tableName,idFieldPath ,createTable = true , bulkInsert = bulkMode)
7577 }
7678
7779 case " Overwrite" => {
7880 DBClient ().deleteTable(tableName)
79- MapRSpark .save(data, tableName," _id " ,createTable = true , bulkInsert = bulkMode)
81+ MapRSpark .save(data, tableName,idFieldPath ,createTable = true , bulkInsert = bulkMode)
8082 }
8183
8284 case " Update" => {
83- MapRSpark .update(data, tableName," _id " ,createTable = false , bulkInsert = bulkMode)
85+ MapRSpark .update(data, tableName,idFieldPath ,createTable = false , bulkInsert = bulkMode)
8486 }
8587
8688 case _ => throw new UnsupportedOperationException (" Not supported operation" ) }
0 commit comments