与看电视、读报纸、读书一样,从数据界(datanature)[11]中获取数据就是为了获得知识和信息,越来越多的人通过浏览器阅读网页,比看电视、读报纸的人还要多。在数据界中生活工作,获取需要的数据是一项日常事务。当前最常用的数据获取工具是谷歌、百度之类的搜索引擎,搜索引擎在数据界中的角色就像人的眼睛一样,在数据界中寻找任何东西几乎都需要使用搜索引擎。
与自然科学研究一样,数据科学[12,13,14]的研究也是针对数据界的不同部分开展研究,这就需要从数据界获取一个数据集。当然,这个数据集包括自己拥有的或者别人给定的,但作为数据科学的研究对象,越来越多的情况是需要数据科学家自己去获得一个要研究的数据集。而在数据资源开发利用领域,则要求在用户拥有的数据资源中进行开发利用[15],这要求从各指定的数据源中获取所需要的数据集,然后进行开发利用。
数据获取的方法有很多,下面是一些常用的方法。
1)用于整合的方法
从各给定的数据源获取数据是一类专门的数据获取方法,通常用于数据整合。一般情况下,一个领域或一个机构有多个确定的数据源,需要将这些数据源的全部或部分数据整合到一起,以方便进行数据分析(如BI)或数据科学研究工作。这时,首先要做的工作是分析各个数据源,获得它们的元数据及其它们的含义(如果有相应的技术文档,关于元数据的信息也可以从技术文档中直接获得)。然后根据数据整合的需要(主要是需要哪些数据),建立数据源的元数据和整合数据库的元数据之间的映射,就可以获取数据了。 目前主要使用的技术是ETL(extract-transform-load)工具。
2)搜索方法(www.xing528.com)
常见的数据获取方法是“搜索-下载(search and download)”,即用搜索引擎(如谷歌或百度等)搜索到所需要的数据,然后链接到相应的数据源,最后下载以获得所需要的数据。或者直接登录到像“万方数据”“万德数据”这样的数据服务公司,搜索到所需要的数据并下载。“搜索-抽取(search and extracted)”是另外一种常见的方法。同样用搜索引擎(如谷歌或百度等)搜索到所需要的数据,然后链接到相应的数据源,分析并入侵该网站数据源,建立数据获取的元数据映射及相应的数据获取程序,定期从该数据源服务器获取需要的数据。
3)其他方法
其他方法还有agent方法、扫描方法、载体监听。agent方法是将一个agent(agent是能够独立主动执行某项任务的程序,如“木马程序”)植入数据源服务器,该agent监控数据源服务器的运行,发现有新的数据产生就将新数据发送到指定的目的服务器上,完成一次数据获取工作。扫描方法需要设计一个扫描程序(如“爬虫程序”)定期扫描各种数据源服务器,将数据源中需要的数据抽取过来。载体监听方法是监听数据界的各种载体,包括监听各种网络、监听无线信号、路由截获、甚至盗窃服务器等,从中截获数据。
显然,数据获取有合法和非法两类,非法获取就涉及数据安全方面的内容了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。