Mongodb入门作业

NoSQL数据库课程考核

题目:基于NoSQL的2020年招聘就业数据分析
要求:以下内容均需完成,并且用文字/图片反映在课程报告中。
1.数据库推荐使用MongoDB,因为提供的数据文件(在“keshe”文件夹内)是BSON格式,可以直接用MongoDB读取到本地数据库。读取方法可以参考文末附录,并且自己再上网查找相关操作信息。如果用其他数据库,则需要自己进行格式转换和数据记录存储。该就业招聘数据是2020年6月份从“拉勾网”进行部分爬取并且存入MongoDB。这里有13604条招聘数据,但是并不完整。数据仅供教学使用,请勿外传。
2.对提供的2020年就业数据文件进行读取,并且以记录形式存入NoSQL数据库。就业数据文件发送到课程QQ群的群文件。
3.分布式/伪分布式存储。要求对数据库采用伪分布式或者分布式安装
4.采用查询语句大致查询就业数据情况。采用Mapreduce编程进行就业数据的分布式读取和统计。
5.在就业数据读取之后,采用编程软件(Java、Python、Matlab、甚至一些图形开发包如E-chart等)进行数据作图和显示。
如下图显示的是就业职位数量前十的城市。
在这里插入图片描述
其中横轴为城市名称,纵轴为职位数量。
可以从多个角度进行数据分析。比如显示各种职位数量前十的排序和图示,或者求职者学历水平的排序和图示,或者薪酬前十的排序和图示,等等。

附录:
1.将“keshe”文件夹拷贝到服务器的本地目录。
在这里插入图片描述
2.用MongoDB的小程序“mongorestore”,将数据文件恢复到本地服务器的mongoDB数据库里面。
在这里插入图片描述
在这里插入图片描述
如果对mongorestore用法要继续了解,请查看如下链接: https://www.cnblogs.com/ytxiao/p/12919200.html
3.查看就业数据记录
在这里插入图片描述
以上是老师给的题目


1. 导入数据: 使用mongorestore的时候dir后面的目录似乎要用绝对路径,相对路径总是失败。
在这里插入图片描述
2. 查看数据:
在这里插入图片描述
3. 统计分析:

  1. 从skill分析每个职业需要skill的数量。skillLables是列表,使用length求长度,长度作为key
    在这里插入图片描述

    查询数组长度
    导出csv
    统计数组中个元素出现次数
    查询结果插入指定表
    数据库job,原本有一个collection,插入指定表后变两个collection,上面的job_skill也变成第三个collection

  2. 统计各个skill的数量
    db.skill.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:"skillLables",count:{KaTeX parse error: Expected 'EOF', got '}' at position 6: sum:1}̲}},{sort:{count:-1}}])在这里插入图片描述
  3. 划分酬薪(eg:20k-30k)
    先用split对-划分数组,然后用replace去掉k。
    update和set保存结果
    先划分出最大值和最小值,再求平均值,由于划分结果是字符串,需要强转成int
    括号,大括号记得对齐在这里插入图片描述
    在这里插入图片描述
  4. 各种mapreduce
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 城市平均酬薪排序
    (命名不太好,company改成city才对,懒得改了)
    在这里插入图片描述
    在这里插入图片描述
  2. 教育酬薪
    在这里插入图片描述

查看做的表格
在这里插入图片描述

4.导出
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 MongoDB入门,你可以按照以下步骤进行学习: 1. 下载并安装 MongoDB:在 MongoDB 的官方网站上下载适合你操作系统的安装程序,并按照提示进行安装。 2. 启动 MongoDB 服务:安装完成后,启动 MongoDB 服务。在 Windows 上,你可以通过运行 `mongod` 命令启动服务。在 macOS 或 Linux 上,可以打开终端并运行 `mongod` 命令。默认情况下,MongoDB 会在本地的 27017 端口上启动。 3. 连接到 MongoDB:在另一个终端窗口或命令提示符中,使用 `mongo` 命令连接到 MongoDB。默认情况下,它会连接到本地的 MongoDB 服务器。 4. 创建数据库:在 `mongo` shell 中,可以使用 `use <database_name>` 命令创建一个新数据库,例如 `use mydb`。 5. 创建集合(表):集合类似于关系数据库中的表。你可以使用 `db.createCollection("<collection_name>")` 命令创建一个新集合,例如 `db.createCollection("mycollection")`。 6. 插入数据:使用 `db.<collection_name>.insertOne(<document>)` 命令将数据插入到集合中。例如,`db.mycollection.insertOne({ name: "John", age: 30 })`。 7. 查询数据:使用 `db.<collection_name>.find()` 命令查询集合中的所有数据。例如,`db.mycollection.find()`。 8. 更新数据:使用 `db.<collection_name>.updateOne(<filter>, <update>)` 命令更新集合中的数据。例如,`db.mycollection.updateOne({ name: "John" }, { $set: { age: 35 } })`。 9. 删除数据:使用 `db.<collection_name>.deleteOne(<filter>)` 命令删除集合中的数据。例如,`db.mycollection.deleteOne({ name: "John" })`。 这是一个 MongoDB 入门的基本流程。你可以根据需要进一步学习和探索 MongoDB 的更多功能和用法。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值