写点什么

Esri 卢萌谈 Hadoop 在 GIS 数据处理中的运用

  • 2013-05-20
  • 本文字数:3342 字

    阅读完需:约 11 分钟

在现代人的日常生活中,缺少不了地图的身影,而地图已经超越了简单的工具属性,它的价值正在逐步被大家挖掘出来,例如:通过 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,做数据挖掘和数据分析的主要目的也就是为了实现数据的价值。 未来是一个大数据的时代,在不久的将来,数据可能成为最大的一类交易商品。在互联网上,继“流量为王”、“应用为王”之后,下一个概念应当就是“数据为王”。

2013-05-20 02:027978

评论

发布
暂无评论
发现更多内容

osx使用alfred集成有道查词

Geek_pwdeic

macos Alfred 有道

推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐

汀丶人工智能

nlp 推荐算法

LR性能测试常见问题及处理方法(五)

性能测试 问题排查 LoadRunner 云性能测试

LR性能测试常见问题及处理方法(六)

性能测试 问题排查 LoadRunner 云性能测试

Spark练习题

mm

Sparksql Spark Scala 大数据开发

前端二面react面试题集锦

beifeng1996

React

2023年1月中国汽车智能网联月度观察

易观分析

汽车 智能网联

2023前端二面经典面试题汇总

loveX001

JavaScript

LR性能测试常见问题及处理方法(四)

性能测试 问题排查 LoadRunner 云性能测试

电脑版Boom3D音响音效增强环绕软件

茶色酒

Boom3D

ChatGPT 入门案例|商务智能对话客服(四)| 社区征文

TiAmo

AI ChatGPT

Unittest+Python接口自动化测试如何进行token关联?

Python 自动化测试 unittest Token

微软 New Bing 和 Edge 动手实践:令人惊讶的 AI 集成度

kcodez

微软 edge 新必应 Copilot

不同程序集,名称空间类名和方法签名都一样的方法,如何调用

newbe36524

C# Docker Kubernetes

LR性能测试常见问题及处理方法(三)

性能测试 问题排查 LoadRunner

广告流量反作弊风控中的模型应用

vivo互联网技术

算法 广告 风控系统

快学会这个技能-.NET API拦截技法

沙漠尽头的狼

hook harmony .NET API拦截 拦截 伪造

软件测试/测试开发 | App常见bug解析

测试人

软件测试 自动化测试 测试开发 app测试

百度工程师浅谈分布式日志

百度Geek说

分布式 运维 日志 百度文库 企业号 2 月 PK 榜

云业务成本的组成与管理趋势

SEAL安全

云服务 云成本 FinOps 企业号 2 月 PK 榜

社招中级前端笔试面试题总结

loveX001

JavaScript

基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)

Python 单元测试 自动化测试 unittest

社招前端常考react面试题总结

beifeng1996

React

立即执行函数在前端国际化方案中的应用

xiaoxi666

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

FDF循环互助智能合约开发系统搭建

薇電13242772558

智能合约

每日一题之Vue数据劫持原理是什么?

bb_xiaxia1998

Vue

前端面试指南之JS面试题总结

loveX001

JavaScript

SpringBoot集成Tomcat服务

Java 架构

React-hooks面试考察知识点汇总

beifeng1996

React

Esri卢萌谈Hadoop在GIS数据处理中的运用_语言 & 开发_张月_InfoQ精选文章