Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.apache.spark.SparkConf
- import java.util.Properties
- import org.apache.spark.sql.SQLContext
- import org.apache.spark.SparkContext
- import org.apache.spark.SparkContext._
- import org.apache.spark.sql.SaveMode
- import java.util.Date
- import java.text.SimpleDateFormat
- // Some Class
- case class Person(age: Int, name: String, occu: String)
- object Utilities {
- val sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- val url = "jdbc:mysql://sna-blr-02.beds.boeing.com:3306/ahmdb";
- val prop = new Properties()
- prop.put("user", "hadoop")
- prop.put("password", "")
- prop.put("driver", "com.mysql.jdbc.Driver")
- val tablename = "person"
- def savePerson(person: Person, sc: SparkContext, sqlContext: SQLContext): Unit = {
- import sqlContext.implicits._
- // Get the current time
- val currentTime = sdf.format(new Date());
- // Create a sample Dataframe
- val df = sc.parallelize(Array((person.age, person.name, person.occu, currentTime))).toDF("age", "name", "occu", "updatedtime")
- // JDBC insert in append mode
- df.write.mode(SaveMode.Append).jdbc(url, tablename , prop)
- }
- }
- //Above method usage:
- Utilities.savePerson(33, "Foo", "bar", sparkContext, sqlContext)
- // MySql Table Structure
- CREATE TABLE person(
- age int(3) DEFAULT NULL,
- name text NOT NULL,
- occu text,
- updatedtime datetime NOT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement