实习--Day2,实习--Day3

因为前两天都在实习,然后连了公司内网之后,要访问外网一直有问题,直到今天才解决,周天来公司加个班(ps:建议直接转正,这样的实习生哪里找哈哈哈)

带我的导师在实习第一天就叫我实现一个相对独立的模块,他说先做这个模块,等这个做完,在来做更多业务相关的模块开发。

第一天就是看代码,说实话,看的要睡着。

没想到的是,第二天我直接去找导师交流这里面的业务逻辑,之后我就把功能实现了个大概,似乎导师有些惊讶,然后叫我继续改一些bug,把一些命名不规范的变量,函数重新命名一下

第三天直接把我的代码整合到项目里面去了,这是我没有想到的,感谢他们的信任

 

说说碰到的一些问题吧

虽然说我做的是一个业务逻辑相对独立的模块,而且很多知识都只是涉及到一些数据库的增删改查,多线程的问题,但是或多或少还是会有一些问题的

我做的东西逻辑大概是这样的:这是一个投诉自然语言处理相关的,首先我得从数据表中获取投诉信息,和地址信息,所以我得进行多表查询,调用项目中自己开发的数据库操作库的方法(自己造了轮子,将数据库操作的方法封装在项目一个包中了)得到数据后,将数据变成pandas中的DataFrame,采用两个线程,分别用于处理投诉信息和地址信息,将数据传入不同的接口中,接口处在的端口不同,接口的作用将我传过去的数据解析之后传回来,我开两个线程将这些数据写入数据库中

总的流程:数据接入,将raw_data存入数据库--->我将数据从数据库取出来--->传入两个接口中进行数据解析(怎么解析我不知道,但是我想知道,而且我感觉解析的结果不咋样)--->我再将解析结果进行处理成能够直接传入数据库中的形式[(),(),()]执行executemany将数据写入另一张表中--->他们好像是没有后端进行相应前端请求来取相应的处理过后的数据,而是前端直接从数据库中取我处理过写入数据表中的数据来进行数据可视化(这个我也想做)--->最后就是要训练成模型,也就是说将这些数据进行深度挖掘,发现数据更深层次的关系,也就是数据挖掘了(有涉及挖掘的算法)

 

  • 在大数据相关的业务中,我发现数据表之间是没有关联的(没有硬性关联,比如外键,多对多这种的),而是采用逻辑进行关联,比如两个表中有相关的字段,我们也可以通过连表查询或者递归子查询或者分多次查询来实现
  • enumerate本来是python的内置函数的,用法是enumerate(Iterable),但是threading中也有一个enumerate,所以我from threading import *的时候默认使用的不是内置函数enumerate而是threading中的enumerate了,当时可是蒙了很久
  • pymysql包中有executemany函数这个函数可以一次性执行多条记录,但是数据要是[(), (), (), ()]这样的形式
  • 连表查询比子查询效率低?网上说是子查询效率低才是,看来导师说的也不一定全对,子查询效率低是因为需要创建临时表,链接
  • 在项目中将数据库操作独立封装成一个包用于给其他模块来调用即可
  • pymysql中update语句用%s来进行数据传递,但是如果数据库中某个字段类型是int或者float,我们需要进行一些处理
  • sql语句中有的字段名是python内置关键字(比如number)怎么办:加反引号
  • insert into tablename(column,column...) value(%s,%s...)
  • 一个数据库连接对象,多个线程写库,需要加锁吗:需要,因为同一个连接对象使用同一块内存,万一一个写是分成多次,比如时间片到了,那么这个线程还没写完的东西就被另一个线程给冲掉了,因为使用同一块内存啊
  • 获取当前线程名:threading.currentThread().name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值