import java.util
import org.apache.spark.sql.types.{DataTypes, StructField}
import org.apache.spark.sql.{Row, SQLContext}
import org.apache.spark.{SparkConf, SparkContext}
object TelephoneData13 {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local").setAppName("TelephoneData13")
val sc = new SparkContext(conf)
val sQLContext = new SQLContext(sc)
val rdd = sQLContext.read.format("com.databricks.spark.csv")
.option("sep", ",")
.option("header", "true")
.load("F:\\ideaWorkspace\\hello\\data\\yy.csv")
rdd.foreach(x => println(x))
rdd.printSchema()
rdd.show(1000,false)
val temp = rdd.rdd.map(line => {
Row(
line.getString(0).toString,
line.getString(1).toString,
line.getString(2).toString,
line.getString(3).toString,
line.getString(4).toString,
line.getString(5).toString,
line.getString(6).toString,
line.getString(7).toString,
line.getString(8).toString,
line.getString(9).toString,
line.getString(10).toString,
line.getString(11).toString)
})
val fields = new util.ArrayList[StructField]()
fields.add(DataTypes.createStructField("id", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("caseID", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("evID", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("localNum", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("startTime", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("position", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("method", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("dialNumber", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("callDuration", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("starFlag", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("week", DataTypes.StringType, true))
fields.add(DataTypes.createStructField("hours", DataTypes.StringType, true))
// var prop = new Properties()
// prop.setProperty("user", "root")
// prop.setProperty("password", "123456")
val st = DataTypes.createStructType(fields)
val newdf = sQLContext.createDataFrame(temp, st)
// df.registerTempTable("calllistbean_bak")
// val sqlcommand = "select caseID,evID,localNum,startTime,position,method,dialNumber,callDuration,starFlag,week,hours from calllistbean_bak"
// val dataResult = sQLContext.sql(sqlcommand).write.mode(SaveMode.Append).jdbc("jdbc:mysql://192.16.102.180:3306/bdcloud", "calllistbean_bak", prop)
newdf.show()
sc.stop()
}
}