大数据开发需要掌握什么技能

首发于公众号【KAMI说】(kami-said),原文:《大数据开发需要掌握什么技能》
一般来说,从事数据开发,我们需要熟悉:
  • Java,Python,SQL,Shell等语言
  • Pandas、Numpy、Scipy等数据处理常用的库和包
  • Hadoops 生态圈、Spark、Storm、Flink、TensorFlow、Keras等你的业务依赖的框架
对于上面提及的语言和库,我们需要熟悉如何用它们实现以下逻辑:
  • 日期处理
    • UTC、GMT等各种日期格式的格式化和反格式化
    • 当前系统日期的获取,日期的加、减、取整、周期序列生成等
  • 类型转换
    • 各语言的数据类型间转换和序列化
    • pandas、storm等数据处理库和计算框架内的类型转换和与语言原生类型的转换
  • 字符串处理
    • UTF-8, GBK等常见编码的转换和解码
    • 大小写转换、截取、拼接、查找、替换、正则表达式
  • 集合运算
    • 遍历和元素增删改查
    • 并、交、差、补等基础集合运算
    • filter、mapper、reduce等集合FP构造
    • one-hot编解码、tokenize等集合映射构造
  • 线性代数运算
    • Numpy, Pandas等数据处理包的行列变换
    • Tensorflows, Keras等计算框架提供的算子
  • 反射
    • 类成员属性和方法获取和调用;
    • 对象构建、动态代理;
  • 多线程和线程安全
    • 各语言下的多线程实现
    • 常用类和包的线程安全问题
    • 各计算框架的线程模型、资源共享、死锁解决等
  • 输入输出
    • 标准输入输出流
    • Kafka等数据流的接入和配置
    • MySQL、Redis、HBase等RDMB和NoSQL的接入和配置、连接池和并发、增删查改等
  • 文件操作
    • CSV、JSON、XML等格式的数据文件读取、解析、偏移设置和流水化
    • Pandas、Storm等数据处理库和计算框架的缓存、模型、结果的序列化和持久化
  • 参数传递和配置解析
    • 管道和流水线的参数传递
    • 各语言的原生或第三方库的配置解析方法,如Python的optparse等
    • 各计算框架的配置解析方法和全局/局部等作用域,如Tensorflow的FLAGS等
KAMI
KAMI
数据挖掘研究员,专注分享数据领域的技术和业务,以及逻辑、思维和方法论

发表回复

文章结构
相关文章