从纯传统bi转型过来的技术顾问,比较有优势的是对业务的熟悉,对数据有敏感度,熟悉数据模型。但是长年累月基本都是用sql处理问题。目前还没有经历过sql解决不了的问题,一个sql解决不了就用临时表,几个sql解决(笑)。虽然不是最佳实现。但目前还都能凑合应付,但咱不能就此停步不前吧?整合这段时间项目有空,于是就研究了一下用python写udf。why python??因为我还不会java啊,python相对容易学习啊。而且python学好了,还可以搞搞爬虫,搞搞机器学习呢。当然,以后也有吧这些python udf 转换成java代码的准备。毕竟技术要全,也要精啊。

  用python 写udf,我也是零基础搞起。网上一搜一大堆的的上挂python udf到hive的教程。也都很简单,也很清晰。于是学习起步了,我挑了一个比较好实现的来学习,输出一大堆用python写的日期处理函数(毕竟我还是比较偷懒的人嘛)。该函数里面包括了月头,月末,季度头,季度末,周一,周末,年头,年末,n天后,n周后,n月后,n季度后的处理函数。中间还做了一个以本行数据对比上行数据的趣味实现。

  逻辑嘛无非就是一大堆数字处理,字符串处理。在开发n周,n季度的时候才发现,我去,可以调用之前的函数来方便计算(比如n周的计算可以调用周一的函数和计算n天的函数),于是又学习python的函数调用。

  比较有意思的是季度的计算:Quarter_begin='0'+str(int(int(month)/3.1)*3+1)

  这些都是比较简单的实现,只是大概对python有个了解。如果要了解爬虫要懂网站架构,还要会搞分布式,会破解验证码什么的。如果要了解机器学习也要学习哪些python 的算法包。(本人也没做过,后期还需要再选个方向学习。不过大概会是机器学习吧~)

  废话了这么多。其实也是因为之前一直想学习python,但是一直都没找到合适的着力点。但是写完本次这轮代码后,对python算是有个大概了理解了,虽然还是很浅显,但基本能满足日常对日期使用的要求了。心里还是美滋滋的。当然了这些东西对大神来说都不值一提的。希望各位也是和我一样处在转型学习阶段的童鞋。也都能找到自己的学习方法。

  过段时间我会整理我的代码。并分享出来。求大神们帮忙指正学习。并求往后的一个学习路线。

从零起步学python计划及感想的更多相关文章

  1. [零基础学python]为什么要开设本栏目

    这个栏目的名称叫做"零基础学Python". 如今网上已经有不少学习python的课程.当中也不乏精品.按理说,不缺少我这个基础类型的课程了.可是,我注意到一个问题.无论是课程还是 ...

  2. 零基础学python》(第二版)

    ---恢复内容开始--- 零基础学python>(第二版) python学习手册 可以离线下载,  .chn格式, 插入小幽默笑话,在学习累的时候看看笑话 放松一下 欢迎下载转载,请注明出处,谢 ...

  3. jquery从零起步学

    html: <HTML> <head> <meta http-equiv="content-type" content="text/html ...

  4. 零基础学python,python视频教程

    零基础学python,python视频教程 这是我收集到的互联网上的视频资源,所有内容均来自互联网.仅供学习使用. 目前我在也在学习过程中,会把学习过程中遇到问题以及解决问题的方式,总结到我的公众号[ ...

  5. 小甲鱼零基础学python第25讲课后习题动手练习--通讯录

    小甲鱼零基础学python第25讲课后习题动手练习---通讯录 **************************通讯录要求******************************* 输入指令: ...

  6. Python学习课程零基础学Python

    python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...

  7. 零基础学Python 3之环境准备

    一. 配置python 3 环境 1. Python 3 下载 64位 https://www.python.org/ftp/python/3.4.2/python-3.4.2.amd64.msi 3 ...

  8. 零基础学python之构建web应用(入门级)

    构建一个web应用 前面的学习回顾: IDLE是Python内置的IDE,用来试验和执行Python代码,可以是单语句代码段,也可以是文本编辑器中的多语句程序. 四个内置数据结构:列表.字典.集合和元 ...

  9. 零基础学python之函数与模块(附详细的代码和安装发布文件过程)

    代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...

随机推荐

  1. mysql查询文章的评论数量

    作为小白的我,这个问题弄了半天才解决,特此记录下. 两张表:文章表和评论表 文章表(article):id 评论表(comment):id,c_aid 要求:查询出所有文章及评论数量然后降序显示(没有 ...

  2. mysql5.6.24的安装与简单使用

    1, 下载绿色版Mysql5.6.24 http://dlsw.baidu.com/sw-search-sp/soft/ea/12585/mysql-5.6.24-win32.1432006610.z ...

  3. Tiled Editor 图块的两种导入方式

    一.图块集图块的导入. 打开或者创建地图后,新建 新图块. 弹出新图块面板 图块类型选择 "基于图块集图块",一定要选择"嵌入地图",否则需要另存为其他类型的文 ...

  4. spring mvc 经常出现的错误

    spring mvc 经常出现的错误 spring3.0 和jdk 1.8不是很兼容.有时候会出现一些错误 建议使用spring 4.0和jdk1.8搭配使用 书籍 spring mvc 学习指南上面 ...

  5. hadoop大事件

    大事件:  Hadoop新一代(2.x)计算平台YARN 一代hadoop存在的问题: 1.Jobtracker单点,容易导致崩溃,节点较多时造成性能瓶颈 2.作业分配基于槽位(slot),分配粒度 ...

  6. git fatal: I don't handle protocol 'https'问题的解决

    问题重现 新建的仓库,再把本地的代码往上push的时候Git提示 $ fatal: I don't handle protocol 'https' 问题分析 Git是支持https的,这点毋庸置疑,所 ...

  7. HDFS源码分析之NameNode(3)————RpcServer

    NameNodeRpcServer implements NamenodeProtocols NameNode支持核心即NameNodeRpcServer 实现ClientProtocol  支持客户 ...

  8. Revit二次开发初体验

    最近换了下工作,由之前的互联网企业转入了BIM软件开发行列.具体原因不多说,作为一个程序员来说学习永无止境.下面来一个Hello World体验下Revit的二次开发 事前准备 VS Revit 20 ...

  9. linux下rename用法--批量重命名

    Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了, 由于历史原因,在Perl语言 ...

  10. 个人工作中ssd、audio python脚本总结

    1.os.system(cmd)或者os.popen(cmd)调用外部命令 cmd中需要注意特殊字符的转义功能,如: USBSTOR\DISK&VEN_GENERIC-&PROD_SD ...