原文地址:http://www.infoq.com/cn/news/2013/05/hadoop-usage-in-esri
在现代人的日常生活中,缺少不了地图的身影,而地图已经超越了简单的工具属性,它的价值正在逐步被大家挖掘出来,例如:通过Nike+,你可以看到自己每天的运动路径和热量消耗、商家可以通过地图对消费者进行定向广告投放等。越来越多的互联网公司或个人开发者尝试通过结合地图去做更多不一样的事情,对于地图数据本身也有很多有意思的事情,InfoQ借此机会采访了Esri的卢萌,听他谈谈在GIS数据是如何运用Hadoop进行并行处理的,他也会在6月5~6号的Esri空间信息技术大会上对这个问题做分享。
InfoQ: 请您向InfoQ的读者做下自我介绍吧!
卢萌:我叫卢萌,2005年大学毕业后就进入了GIS这个行业,碰巧的是2005年正是谷歌地图发布的那一年,各种WebGIS在中国开始大行其道,所以我应该算是国内做WebGIS比较早的那一拨人了。在这些年中,做了不少项目,后来进入了Esri中国,目前在Esri中国政府行业技术部担任高级产品咨询师的职务,主要研究的方向是传统GIS领域中的空间分析、空间统计等技术,同时也对云GIS、海量数据挖掘等新技术应用有过一定的涉猎。
InfoQ: 请问卢老师GIS领域目前国内外发展情况如何?
卢萌:借用WEB时代的说法,我们也把网络时代的GIS发展,分为1.0、2.0和正在迈向的3.0时代。
1.0时代,GIS是专业人士玩的东西,主要是通过一小批专业人士做出各种地图或者应用,然后通过网络发布到出去,广大的用户通过浏览器来查看地图,也就是一个人发布,大家来看。 2.0时代是以交互为标志的时代,GIS也是一样,在业界,Esri最先推出的ArcGIS Online这类的平台,提出了空间信息共享和协作的概念,我们能够很轻易的获取到各种专业的空间数据,并且这些数据的来源除了专业机构,还有广大的使用。在这个平台中,每一个用户都成了空间信息的发布者,也是信息的享用者。
而未来的3.0时代,将以一种更加智能的方式来获取、使用空间信息,并且能够直接获取到我们需要的结果,而不仅仅是一堆地图和数据。3.0时代是以服务为核心的时代。就像我们购买了一堆服务器,一堆软件,部署了各种环境,编写了很多代码,那么我们的目的是什么?是想要那些服务器?那些软件和那些代码吗?当然不是,我们是通过这些基础建设来解决我们的实际问题,获取需要的结果。3.0的时代,我们更多的将这些基础建设、分析模型和处理过程托管到以网络为基础的云环境中,我们只需要提出问题,然后获取结果就可以了。
InfoQ:Hadoop目前涉及的科学领域很多,不仅包含众所周知的互联网行业,也包括如能源开采、节能环保、生物医学等领域。请问卢老师,Hadoop在GIS(地理信息系统)这个领域有哪些典型的应用场景,又是如何实现呢?
卢萌:传统的GIS数据存储,大多依托于各种关系型数据库,但是数据库由于其在海量数据管理、高并发读写、难以扩展等方面,已经开始的制约了GIS的发展。而且关系型数据库一直在非结构化数据领域难有作为,这一点更是致命伤。世界上90%以上的数据都是非结构化的,GIS里面大量数据如影像数据等,都是非结构化的。 而Hadoop以其高可靠性、高扩展性、高效性和高容错性,特别是在海量的非结构化或者半结构化数据上的分析处理优势,给我们提供了另外一种思路。 Hadoop的核心算法就是“分而治之”,这个与GIS里面很多算法是相通的,GIS里面很多应用场景都是要去分析不同区域内的各种信息,把这样的计算放到Hadoop上,正好利用了Hadoop的分布式计算特性。特别是一直让GIS界最头痛的海量影像数据存储和分析,在Hadoop的分布式存储和分布式运算架构上,更是能够体现出Hadoop在GIS应用上的优势。
InfoQ:Esri公司推出开源环境“GIS Tools for Hadoop”,其中还包含了基于Hive的UDF,这将给地理信息这个行业带来哪些新的机会呢?
卢萌:GIS Tools for Hadoop是Esri推出的基于Hadoop上的一套完整的空间大数据量处理的环境,包含有一套工具、一套API和一系列的框架。此环境的推出,扩展在Hadoop上geomtry的类型和对空间数据的操作,让开发人员能够方便的在空间数据上构建MapReduce应用程序。
Hive是由Facebook首先研发的一个基于Hadoop的数据仓库工具。可以将结构化的数据映射成数据表并提供类SQL的语言进行数据查询,适合于数据参考的统计分析。GIS Tools for Hadoop扩展了Hive在Esri Geometry API上的应用,使用户可以通过hive进行空间数据的处理。
数据仓库一直都是一个比较热门的领域,而在空间数据库上构建数据仓库,进行数据挖掘,更是一个比较新的话题。一个单位中需要在海量空间数据上做分析有各种不同的人员,有工程师也有专业数据分析人员,他们之间的计算机知识层次不一。所以构建一套满足各种人员和程序需求的基础设施就很有必要。Hive在维持Hadoop灵活性和扩展性的基础上提供类似关系型数据库的基本功能,在Hadoop文件系统上提供了方便的数据查询和管理功能。
GIS Tools for Hadoop中包含了基于Hive的UDF(User-Defined-Function)这一功能,可以让开发人员和数据分析人员能够构建面向业务的分析应用,在GIS中有很多特定的算法和模型,通过UDF都可以加入到Hadoop中去。这样看来,未来势必会使用它来定制开发和搭建各种面向业务的个性化工具和软件。
InfoQ: 既了解GIS又熟悉Hadoop开发,这样的人目前是不是比较稀缺?请您给大家一些学习和就业方向上的建议吧。
卢萌:虽然经过了这些年的发展,熟悉GIS的开发人员一直还是供不应求,而Hadoop在互联网上作为“大数据分析”的代名词,熟悉Hadoop的人员更是稀缺。据麦肯锡全球研究院的研究预测在未来6年,仅在美国就可能面临缺乏14万至19万具备深入分析数据能力人才的情况。
对于Hadoop来说,最大的优点就是开放性,因为它是开源的,所以每天有数以万记的程序员和爱好者在学习和研究Hadoop系统。作为一个新手,要学习Hadoop,最重要的就是动手去操作,从安装部署到优化到开发,一步一步的掌握MapReduce编程方式和各种应用场景,了解Hadoop的实现原理和算法。当然我们还可以去阅读他提供的源码,这也是开源软件最大的好处。
学然后知不足,教然后知困。我们可以在一些社区或者博客上记录在学习过程中的点点滴滴,当有朝一日,回过头来看我们曾经走过的足迹,你会发现,在不知不觉中,当年的小树苗已经成长成为了参天大树。
虽然目前IT界主流的开发还是依托在关系型数据库上面的,但是我们可以在工作中去逐步推广Hadoop的思想和应用,去潜移默化的改变周围的环境,未来Hadoop前景一定是光明的。
InfoQ: 除了Hadoop外,GIS还有其它并行计算的解决方案吗?
卢萌:从ArcGIS 10.1开始,ArcGIS for Server变成了纯64位的架构,即不再支持32位操作系统。 另外在ArcGIS 10.1的SP1包中,提供了ArcGIS 10.1 for Desktop—Background Geoprocessing (64-bit)补丁包,实现64位后台地理处理,并且增加了新的“并行处理因子”环境,可以分跨多个进程来划分和执行处理操作。在10.1 SP1中新增支持使用最多4核处理器进行并行处理的功能,现已实现于一些空间分析工具当中。 而在即将发布的ArcGIS 10.2中,更是更新了600多个软件节点,其中主要集中于软件的质量和性能增强。
InfoQ:最后一个问题,请问卢老师,您眼中的大数据的未来是什么样的?
卢萌:大数据是现今非常时髦的IT词汇之一。什么叫大数据?如果单纯以量来看,在以MB为单位的硬盘存储量的时代,TB甚至是GB可能就算是大数据了,而现在TB硬盘普及的时代,恐怕要PB甚至是EB才算大数据了。 在IDC最新的《数字宇宙》(Digital Universe)中预计,到2020年,全球的数据存储总量将达到35ZB。而且这个数字还是受到了存储能力的限制。 对于大数据,IBM提出了“三V”的概念,即大量化(Volume)、多样化(Variety)和快速化(Velocity)。最近这两年,着眼于数据应用的专家们提出了“四V”的概念,就是在原有的“三V”的基础上加上了Value(价值)。 毋庸置疑,最后一个V(Value),才是我们最值得关注一个V,做数据挖掘和数据分析的主要目的也就是为了实现数据的价值。 未来是一个大数据的时代,在不久的将来,数据可能成为最大的一类交易商品。在互联网上,继“流量为王”、“应用为王”之后,下一个概念应当就是“数据为王”。