Skip to content

Instantly share code, notes, and snippets.

@therako
Last active May 1, 2018 13:20
Show Gist options
  • Save therako/c1966cfca165c20bf00c007d4d985f16 to your computer and use it in GitHub Desktop.
Save therako/c1966cfca165c20bf00c007d4d985f16 to your computer and use it in GitHub Desktop.
private def getCreateTableStatement(keyspace: String, tableName: String, df: DataFrame, keys: Array[String]) = {
val primaryKey = keys.mkString(",")
val fields = df.schema.map(field => field.name + " " + field.dataType.simpleString.trim())
val fieldsDesc = fields.mkString(", ")
"CREATE TABLE if not exists " + keyspace + "." + tableName + " (" + fieldsDesc + ", PRIMARY KEY (" + primaryKey + "))"
}
private def getInsertStatement(keyspace: String, tableName: String, df: DataFrame) = {
val fieldsDesc = df.schema.fields.map(f => f.name).mkString(",")
val valuesHolder = df.schema.fields.map(_ => "?").mkString(",")
"insert into " + keyspace + "." + tableName + " (" + fieldsDesc + ") values (" + valuesHolder + ")"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment