当前位置: 首页 > 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

相关文章:

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

一、爬虫爬取的招聘网站数据 二、在MySQL中创建空表 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for jd_jobs -- ---------------------------- DROP TABLE IF EXISTS jd_jobs; CREATE TABLE jd_jobs (job_name text,job_date text,minSale…...

小程序无感刷新

下载wechat-http依赖 npm install wechat-http封装请求拦截器和相应拦截器,借助refreshToken实现无感刷新 // 导入 http 模块 import http from wechat-http // 基础路径,同时需添加合法请求域名 http.baseURL https://live-api.itheima.net // 配置请…...

Unity C#随笔:简述String和StringBuilder的区别

1.、String: 不可变性(Immutability): String对象一旦被创建,就不能被修改。每次对String对象进行操作时,实际上是创建了一个新的String对象,然后对象的引用重新指向这个新的对象。性能&#x…...

图论相关算法

一、迪杰斯特拉(Dijkstra)算法 迪杰斯特拉算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题。这是一个贪心算法。 1.核心思想 (1)每次选中一个点,这个点满足两个条件: 未被选过距离最短 (2&#xf…...

Python人工智能需要学什么

Python语言在人工智能开发领域有非常广泛的应用,随着人工智能平台的落地应用,未来采用Python语言来开发行业智能产品会是比较常见的选择。 然而进行人工智能开发仅凭Python语言是不够的,学习Python人工智能需要学习哪些知识呢? 一、Python…...

Java 获取请求真实IP

获取IP地址为 127.0.0.1, 或者内网地址 Nginx配置, 只有 proxy_pass 时只能获取到 127.0.0.1 location / {proxy_pass http://127.0.0.1:8080; }修改为 location / {#保留代理之前的host 包含客户端真实的域名和端口号proxy_set_header Host $host; #保留代理之前的真实客…...

Python突破浏览器TLS/JA3 指纹

JA3 是一种创建 SSL/TLS 客户端指纹的方法,一般一个网站的证书是不变的,所以浏览器指纹也是稳定的,能区分不同的客户端。 requests库 Python requests库请求一个带JA3指纹网站的结果: import requestsheaders {authority: tls…...

web安全之XSS攻击

什么是XSS攻击 XSS(Cross-Site Scripting)又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在 Web 应用程序中的计算机安全漏洞,是由于 Web 应用程序对用户的输入过滤不足而产生的。 常见…...

【技巧】如何设置Excel表只输入固定内容?

如果你需要在Excel表格中输入固定的内容,可以设置“限制录入内容”,这样就只能输入设置好的内容,避免不小心输入错误信息。下面来看看如何设置吧。 首先,打开Excel表格后,选中需要输入固定内容的表格区域。 比如图片…...

手机抬手亮屏解锁,用到了哪些硬件?

随着时代发展,智能手机以丰富的功能及便利性,成为了人们必不可少的物品,其中人脸解锁功能是非常有用的功能,广受年轻人的喜爱,那么你知道她是如何实现吗?今天凡小亿带你们探索! 手机抬手亮屏解锁…...

AI大模型高速发展,Web3还远吗?

在过去的几年里,人工智能(AI)和Web3技术都经历了令人瞩目的发展。AI大模型,特别是像GPT-3、GPT-4等这样的巨型语言模型,已经成为AI领域的明星,而Web3则代表了下一代互联网的愿景,具有去中心化和…...

CSS 滚动驱动动画 animation-range

animation-range 语法 normallength-percentagetimeline-range-name 具名时间线范围 named timeline rangecovercontainentry 和 entry-crossingexit 和 exit-crossing 兼容性 animation-range 这个属性可同时对 scroll progress timeline 和 view progress timeline 这两种不…...

快速学习MyBatisPlus

文章目录 前言一、条件构造器和常用接口1.wapper介绍2.QueryWrapper(1)组装查询条件(2)组装排序查询(3)组装删除查询(4)条件优先级(5)组装select子句&#xf…...

ElasticsearchRestTemplate 和ElasticsearchRepository 的使用

目录 一、使用ElasticsearchRestTemplate类 1.引用Maven类库 2. 配置文件application.yml 3.创建实体类(用于JSON文档对象的转换) 二、使用ElasticsearchRepository 类 1.引用Maven类库 2. 配置文件application.yml 3. ElasticsearchRepository接…...

Typora +Picgo 搭建个人笔记

文章目录 Typora Picgo 搭建个人笔记一、Picgo Github 搭建图床1.基础设置2. 将配置导出,方便下次使用 二、Typora:设置 :1. 基本设置2. 导出自动提交3. 备份图片 Typora Picgo 搭建个人笔记 typora 下载地址: https://zahui.fan…...

八、K8S之HPA自动扩缩容

HPA 一、概念 HPA(Horizontal Pod Autoscaler,水平 Pod 自动伸缩)是 Kubernetes 中的一种特性,其作用是根据资源使用情况自动调整 Pod 的副本数,以实现应用程序的自动扩展和收缩。 HPA 可以根据 CPU 使用率或其他自…...

损失函数总结(二):L1Loss、MSELoss

损失函数总结(二):L1Loss、MSELoss 1 引言2 损失函数2.1 L1Loss2.2 MSELoss 3 总结 1 引言 在上一篇博文中介绍了损失函数是什么以及为什么使用损失函数,从这一篇博文就开始关于损失函数有哪些进行进一步的介绍。这里放一张损失函…...

力扣(LeetCode)2530. 执行 K 次操作后的最大分数(C++)

贪心优先队列 请看答案需求:得到最大分数。易猜到,得到最大分数的取法是每次取数组中最大的数字(贪心思路)。 问题转化为:如何快速找到数组中最大的数字,根据问题规模 k 1 0 5 k10^5 k105,维护优先队列即可 O ( k l…...

C# 快速简单反射操作

文章目录 前言新反射使用BindingFlags以公有属性使用举例运行结果 前言 我之前写过一篇博客,是关于C# 反射的,我那时候使用的C# 反射写起来还是比较麻烦,需要获取Properies,再遍历Property,再找到对应Property,再使用…...

【python高级】设计模式、类工厂、对象工厂

一、说明 最近试着读Design pattern, 不过有些概念实在太抽象了, 整理一下自己所学抽象工厂的精神,就是要有abstract class(not implement),而所有不同种类的对象,都是继承这个abstract class&a…...

手把手教你用smarteye免费搭建GB28181监控平台(支持海康/大华/NVR接入)

零代码搭建GB28181监控平台:兼容海康/大华/NVR的智能方案 在数字化转型浪潮下,视频监控系统已成为企业安全防护和运营管理的重要基础设施。然而,传统监控方案常面临设备品牌混杂、协议不统一的痛点,导致系统集成困难、维护成本居…...

别再手动写JSON Schema了!用智谱AI/DeepSeek的FunctionCall,5分钟搞定天气查询API对接

告别JSON Schema手写时代:用大模型FunctionCall极速对接天气API 开发聊天机器人时,最头疼的莫过于为每个新功能手动编写JSON Schema。上周我接手一个天气查询功能需求,原本预计要花半天时间定义参数结构、验证逻辑,结果用智谱AI的…...

给OpenClaw小龙虾喂点 “数据库饲料”,它竟能替你加班到天亮?

目录 💡DBA 的痛,龙虾不懂 🦞 给“龙虾”喂点“硬菜” 📍 成为首批体验官,有福利 最近大家都在养龙虾。 龙虾越养越聪明,写代码、查资料、做分析……什么都能干。 但有一件事,现在的龙虾还…...

JeecgBoot中AutoPoi模板导出的实战技巧与优化方案

1. JeecgBoot中AutoPoi模板导出的基础实现 第一次接触JeecgBoot的AutoPoi模板导出功能时,我被它的便捷性惊艳到了。相比传统的POI操作,AutoPoi通过模板化的方式让Excel导出变得异常简单。这里先分享下最基本的实现步骤,这也是我项目中最常用的…...

避开PSRR仿真三大坑:用Cadence psspxf分析分频器时,这些设置错了白忙活

避开PSRR仿真三大坑:用Cadence psspxf分析分频器时,这些设置错了白忙活 在模拟电路设计的精密世界里,电源抑制比(PSRR)仿真是评估电路抗干扰能力的关键环节。许多工程师在完成基础仿真流程后,常会遇到结果异…...

GPU集群网络优化实战:万兆以太网 vs InfiniBand,哪种更适合你的AI训练任务?

GPU集群网络优化实战:万兆以太网 vs InfiniBand,哪种更适合你的AI训练任务? 在构建高性能GPU集群时,网络架构的选择往往成为决定整体性能的关键因素。想象一下,当你的AI模型需要处理海量参数更新时,网络带宽…...

013、部署篇:从本地开发到云原生(Docker/K8s)服务化部署

013、部署篇:从本地开发到云原生(Docker/K8s)服务化部署一、从一次深夜调试说起 上周三凌晨两点,我被报警短信吵醒——线上RAG服务的响应时间从200ms飙到了5秒。登录服务器一看,CPU跑满了,内存倒是还剩不少…...

Windows安卓应用安装终极指南:告别模拟器,三步完成APK直接运行

Windows安卓应用安装终极指南:告别模拟器,三步完成APK直接运行 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows电脑无法直接运行安…...

Python到Android的终极桥梁:如何用python-for-android将Python应用无缝转换为原生APK

Python到Android的终极桥梁:如何用python-for-android将Python应用无缝转换为原生APK 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android 在移动应用开…...

Kandinsky-5.0-I2V-Lite-5s短视频质量控制:5秒内关键帧稳定性与抖动抑制技巧

Kandinsky-5.0-I2V-Lite-5s短视频质量控制:5秒内关键帧稳定性与抖动抑制技巧 1. 引言:为什么需要关注短视频质量 当你使用Kandinsky-5.0-I2V-Lite-5s生成短视频时,是否遇到过这些问题:画面突然跳变、主体运动不连贯、镜头移动卡…...