import org.apache.spark.sql.{SaveMode, SparkSession}
import org.apache.spark.sql.types.{FloatType, IntegerType, StringType, StructField, StructType}
object MysqLWrite {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder()
.master("local[6]")
.appName("MysqL write")
.getorCreate()
//定义表约束信息
val schema = StructType(
List(
StructField("name", StringType),
StructField("age", IntegerType),
StructField("gpa", FloatType)
)
)
//读取数据集 注意:使用csv读取 如果不是,分割 需要指定分隔符即可
val readDF = spark.read.schema(schema).option("delimiter", "\t").csv("data/studenttab10k")
import spark.implicits._
//etl处理
val resultDF = readDF.where('age < 30)
//落地
resultDF.write
.format("jdbc")
.mode(SaveMode.Overwrite)
.option("url", "jdbc:MysqL://hadoop100:3306/spark_test")
.option("dbtable", "student10k")
.option("user", "root")
.option("password", "root")
.save()
spark.stop()
}
}
@H_502_6@
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。