当前位置: 首页 > news >正文

2023_Spark_实验十七:导入招聘大数据(项目)

一、爬虫爬取的招聘网站数据

二、在MySQL中创建空表

SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for jd_jobs
-- ----------------------------
DROP TABLE IF EXISTS `jd_jobs`;
CREATE TABLE `jd_jobs` (`job_name` text,`job_date` text,`minSale` text,`maxSale` text,`job_city` text,`job_area` text,`company_nature` text,`company_size_min` text,`company_size_max` text,`company_Industry` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

三、通过Spark导入招聘数据到MySQL中

以下是完整代码:


import java.util.Propertiesimport com.niit.util.{LoggerLevel, SparkUnit}object SparkSQL_MySQL extends LoggerLevel {def main(args: Array[String]): Unit = {/*** 读取数据,写入MySQL** 实现:* 1. 读取文件* 2. 转为table操作对象* 3. 写SQL查询* 4. 保存查询SQL的对象**/val ss = SparkUnit.getLocalSparkSession("OffLine")// 读取两个文件val path = "D:\\temp\\"val jd_jobs = ss.read.option("header", false).option("encoding","gbk").option("delimiter", ",").csv(path + "51_jobs_data.csv").toDF("job_name", "job_date", "minSale","maxSale","job_city","job_area","company_nature","company_size_min","company_size_max","company_Industry")jd_jobs.show()// SQL式编程需要转为table结构jd_jobs.createTempView("jd_jobs")// selectval jobs = ss.sql("""| SELECT job_name, job_date, minSale, maxSale,job_city,job_area,| company_nature,company_size_min,company_size_max,company_Industry| from jd_jobs|""".stripMargin)// JDBCval url = "jdbc:mysql://localhost:3306/bigdata?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC"val tb = "jd_jobs"val properties = new Properties()properties.setProperty("user", "root")properties.setProperty("password", "123456")properties.setProperty("driverClass", "com.mysql.jdbc.Driver")// savejobs.write.mode("overwrite").jdbc(url, tb, properties)// tips :除了查询SQL返回对象,然后保存对象// 还可以直接create table as select ... 一步到位}}

四、导入MySQL

http://www.lryc.cn/news/196907.html

相关文章:

  • 小程序无感刷新
  • Unity C#随笔:简述String和StringBuilder的区别
  • 图论相关算法
  • Python人工智能需要学什么
  • Java 获取请求真实IP
  • Python突破浏览器TLS/JA3 指纹
  • web安全之XSS攻击
  • 【技巧】如何设置Excel表只输入固定内容?
  • 手机抬手亮屏解锁,用到了哪些硬件?
  • AI大模型高速发展,Web3还远吗?
  • CSS 滚动驱动动画 animation-range
  • 快速学习MyBatisPlus
  • ElasticsearchRestTemplate 和ElasticsearchRepository 的使用
  • Typora +Picgo 搭建个人笔记
  • 八、K8S之HPA自动扩缩容
  • 损失函数总结(二):L1Loss、MSELoss
  • 力扣(LeetCode)2530. 执行 K 次操作后的最大分数(C++)
  • C# 快速简单反射操作
  • 【python高级】设计模式、类工厂、对象工厂
  • Flink的算子列表状态的使用
  • 使用 Github Actions 工作流自动部署 Github Pages
  • Xposed hook 抖音账户信息
  • 回顾 | E³CI效能认知与改进论坛,助力企业研发效能度量和提升
  • 科技的成就(五十二)
  • 【23种设计模式】装饰器模式
  • 解决IDEA中SpringBoot项目创建多个子模块时配置文件小绿叶图标异常问题
  • 【马蹄集】—— 概率论专题
  • Spring 6整合单元测试JUnit4和JUnit5
  • 【好书推荐】深入理解现代JavaScript
  • 高效协同: 打造分布式系统的三种模式