大数据采集工程师的主要职责是收集和处理海量原始数据,工作内容包括:脚本编写、网页获取、调用APIs、编写SQL查询等。
由于数据源的存储及展现方式不同,数据采集分为外部数据采集和内部数据采集,外部数据采集通常指的是互联网网页采集(也称网络爬虫),工作任务是通过搜索引擎网络爬虫相关技术和正则表达式,从抓取下来的HTML页面数据中提取网页数据信息,这要求工程师必须精通互联网内容搜索产品(例如百度、谷歌)的设计和架构,熟悉搜索引擎、互联网网页及爬虫技术的工作原理,熟悉Linux操作系统,具备搜索引擎开发的研究能力,使用到的开源技术工具有:Nutch、Heritrix、larbin、HtmlParse、Scrapy、Lucene等。
内部数据采集是指存储在企业内部数据系统(如Oracle、MySQL、NoSQL、Log日志)中的主数据/业务数据和企业网站/App端中用户行为数据的采集。企业内部数据采集的工作任务是通过数据库抽取相关技术(Java、Sqoop、GoldenGate、Canal)把存储在企业数据库系统中的数据抽取出来,重新整合、同步与存储;企业网站/App数据采集是通过JS/SDK等技术手段,把网页/App端的用户登录、点击、查看等行为收集起来,同步到后端的数据存储系统中。
通过内部、外部数据采集到的数据最终都会存到分布式文件系统(Hadoop、Spark)中统一存储,便于后续的数据分析与挖掘。这些工作要求工程师了解企业数据流通机制,精通Oracle、MySQL、NoSQL等数据库的工作原理和主流的大数据接入技术(Kafka、Storm、Flume、MQ、SparkStreaming),熟悉Nginx日志、算法设计、数据结构、Java和Scala等。
网友评论