第1关:数据分析——行业/公司人才稀缺数据分析
import org.apache.spark.sql.{SaveMode, SparkSession}
object zhaopin_fenxi1 {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().appName("Job")
.master("local[*]").getOrCreate()
//************ Begin ************
//读取datazhaopin文件并用逗号分隔,并将header清洗掉
//用spark SQL语句根据各个行业来求取出最缺失人才的行业,以行业为组,求取相同行业招聘人数和
//分区数为1
//连接数据库方式jdbc
//数据库名为zhaopindata
//数据表名numindustry
//用户名为root
//密码为123123
//不破坏数据表结构的情况下,在后面写入数据
//保存
val df= spark.read.option("delimiter", ",").option("header", "true" ).csv("/data/workspace/myshixun/step1/datazhaopin.csv")
df.createOrReplaceTempView("data")
val df1 = spark.sql("select industry,sum(num) as industrynum from data group by industry order by industrynum desc limit 10")
df1.repartition(1)
.write
.format("jdbc")
.option("url", "jdbc:mysql://127.0.0.1:3306/zhaopindata?useUnicode=true&characterEncoding=utf-8")
.option("driver","com.mysql.jdbc.Driver")
.option("dbtable", "numindustry")
.option("user", "root")
.option("password", "123123")
.mode("overwrite")
.save()
//用spark SQL语句根据招聘人数来判断不同类型的公司急需人才的占比
//分区数为1
//连接数据库方式为jdbc
//连接数据库名为zhaopindata
//数据表名为comtypedata
//用户名为root
//密码为123123
//不破坏数据表结构,之后面添加
//保存数据
val df2 = spark.sql("select compa