Computer Engineering and Applications 计 算 机 工 程 与 应 用 2013,49(16) 25 基 于 开 源 Hadoop 的 矢 量 空 间 数 据 分 布 式 处 理 研 究 尹 芳 1, 冯 敏 2, 诸 云 强 2 3, 刘 睿 YIN Fang 1, FENG Min 2, ZHU Yunqiang 2, LIU Rui 3 1. 长 安 大 学 地 球 科 学 与 资 源 学 院, 西 安 710054 2. 中 国 科 学 院 地 理 科 学 与 资 源 研 究 所, 北 京 100101 3. 重 庆 师 范 大 学 地 理 科 学 学 院, 重 庆 400047 1.College of Earth Science and Resources,Chang an University,Xi an 710054,China 2.Institute of Geographic Sciences and Natural Resources Research,Chinese Academy of Sciences,Beijing 100101,China 3.College of Geographical Science,Chongqing Normal University,Chongqing 400047,China YIN Fang, FENG Min, ZHU Yunqiang, et al. Research on vector spatial data distributed computing using Hadoop projects. Computer Engineering and Applications, 2013, 49(16):25-29. Abstract:The paper designs a vector spatial data distributed computing system based on Open Source Hadoop Projects, in order to satisfy the needs of massive vector data. According to the characteristics of the vector spatial data, Key/Value data model and GeoJSON data format, the paper brings forward a distributed Key/Value storage method for vector spatial data based on HDFS. The key techniques on how to computing large-scale vector spatial data based on MapReduce are elaborated in detail, including data partitioning and parallel processing mechanism of Map step, results merging of Reduce step. A vector spatial data distributed computing prototype system is developed using Open Source Hadoop projects and applied to deal with the 1 100, 000 land use data of Guanzhong area in China. The evaluation result indicates that the Hadoop MapReduce can significantly leverage the performance of vector spatial data analysis, especially when more computing nodes are used. Key words:vector spatial data; Key/Value; GeoJSON; Apache Hadoop; MapReduce; distributed computing 摘 要 : 为 实 现 大 规 模 矢 量 数 据 的 高 性 能 处 理, 在 开 源 项 目 Hadoop 基 础 上, 设 计 与 开 发 了 一 个 基 于 MapReduce 的 矢 量 数 据 分 布 式 计 算 系 统 根 据 矢 量 空 间 数 据 的 特 点, 通 过 分 析 Key/Value 数 据 模 型 及 GeoJSON 地 理 数 据 编 码 格 式, 构 建 了 可 存 储 于 Hadoop hdfs 的 矢 量 数 据 Key/Value 文 本 文 件 格 式 ; 探 讨 矢 量 数 据 的 MapReduce 计 算 过 程, 对 Map 数 据 分 片 并 行 处 理 过 程 及 Reduce 结 果 合 并 等 关 键 步 骤 进 行 了 详 细 阐 述 ; 基 于 上 述 技 术, 建 立 了 矢 量 数 据 分 布 式 计 算 原 型 系 统, 详 细 介 绍 系 统 组 成, 并 将 其 应 用 于 处 理 关 中 地 区 1 10 万 土 地 利 用 矢 量 空 间 数 据, 取 得 较 好 效 果 关 键 词 : 矢 量 空 间 数 据 ;Key/Value;GeoJSON;Apache Hadoop;MapReduce; 分 布 式 处 理 文 献 标 志 码 :A 中 图 分 类 号 :TP391 doi:10.3778/j.issn.1002-8331.1301-0294 1 引 言 随 着 GIS 在 交 通 运 输 灾 害 预 测 资 源 调 查 等 领 域 的 应 用, 矢 量 空 间 数 据 量 和 计 算 机 处 理 运 算 量 快 速 增 加, 依 靠 单 机 系 统 的 数 据 存 储 处 理 方 式 已 经 难 以 满 足 现 代 应 用 的 需 求 面 对 海 量 和 复 杂 的 矢 量 空 间 数 据, 如 何 对 其 进 行 高 [1] 效 存 储 管 理 与 处 理, 成 为 地 学 领 域 的 重 要 研 究 内 容 云 计 算 为 解 决 海 量 数 据 处 理 提 出 了 MapReduce 分 布 式 计 算 模 式 开 源 项 目 Hadoop 的 出 现, 促 进 了 MapReduce 的 快 速 发 展 国 外 很 多 学 者 尝 试 利 用 Hadoop 对 MapReduce 的 运 行 效 率 应 用 前 景 进 行 研 究 : 王 永 刚 对 Hadoop 云 计 算 平 台 下 地 理 信 息 服 务 的 若 干 关 键 技 术 进 行 了 研 究 [1] ;Yang [2] H 等 对 MapReduce 进 行 扩 展, 提 出 Map-Reduce-Merge 计 算 过 程, 用 于 处 理 关 系 数 据 ;Zhang Wang 等 针 对 空 间 数 据 集 在 MapReduce 上 的 连 接 ANN 查 询 操 作 进 行 了 详 细 讨 论 [3-4] ; 范 建 永 对 HBase 如 何 存 储 矢 量 空 间 数 据 进 行 了 探 讨 [5] 基 于 上 述 研 究, 结 合 开 源 Hadoop 项 目, 探 讨 一 种 适 用 基 金 项 目 : 国 家 自 然 科 学 基 金 (No.41101364); 中 国 科 学 院 地 理 科 学 与 资 源 研 究 所 一 三 五 战 略 科 技 计 划 项 目 (No.2012ZD010) 作 者 简 介 : 尹 芳 (1983 ), 女, 博 士 生, 主 要 研 究 方 向 为 地 理 信 息 服 务 及 分 布 式 处 理 ; 冯 敏 (1981 ), 男, 助 理 研 究 员, 博 士, 主 要 研 究 方 向 为 地 理 信 息 服 务 和 地 学 模 型 共 享 ; 诸 云 强 (1977 ), 男, 副 研 究 员, 博 士, 主 要 研 究 方 向 为 地 理 信 息 系 统 开 发 与 应 用, 地 学 数 据 共 享 关 键 技 术 研 究, 地 学 信 息 化 科 研 环 境 (e-geoscience) 理 论 体 系 与 关 键 技 术 研 究 ; 刘 睿 (1983 ), 男, 副 教 授, 博 士, 主 要 研 究 方 向 为 地 理 信 息 系 统 应 用 及 资 源 环 境 遥 感 E-mail:liur@lreis.ac.cn 收 稿 日 期 :2013-01-25 修 回 日 期 :2013-05- 文 章 编 号 :1002-8331(2013)16-0025-05
26 2013,49(16) Computer Engineering and Applications 计 算 机 工 程 与 应 用 于 空 间 矢 量 数 据 的 分 布 式 处 理 方 案 分 析 适 用 于 Hadoop hdfs 存 储 的 Key/Value 数 据 模 型 及 MapReduce 计 算 模 式 的 特 点, 探 讨 矢 量 数 据 hdfs 分 布 式 存 储 组 织 策 略 MapReduce 分 布 式 计 算 流 程 等 关 键 环 节, 基 于 Apache Hadoop 构 建 分 布 式 矢 量 数 据 处 理 原 型 系 统, 最 后 以 关 中 地 区 1 10 万 土 地 利 用 数 据 为 例 开 展 应 用 实 践 2 矢 量 数 据 分 布 式 存 储 组 织 策 略 2.1 Key/Value 数 据 模 型 分 析 关 系 模 型 是 目 前 较 为 常 见 的 数 据 模 型 之 一, 但 实 际 上 从 集 合 理 论 来 讲, 关 系 可 以 被 看 成 为 高 度 和 基 数 都 等 于 1 的 Key/Value 集 合 在 关 系 模 型 中, 关 系 R 可 以 表 示 成 R =< R r > 其 中, R 表 示 关 系 模 式,r 代 表 关 系 模 式 实 例 关 系 模 式 实 例 指 由 行 ( 也 称 为 元 组 ) 和 列 ( 也 称 为 属 性 ) 组 成 的 表 关 系 模 式 可 以 表 示 为 一 个 无 序 元 组 < c1:d1 c2:d2 cn:dn >, 其 中 < c1 c2 cn > 代 表 列 名,< d1 d2 dn > 代 表 域 名, 相 应 的 列 值 必 须 属 于 指 定 的 域 集 合 C 可 以 表 示 为 :C = < C c > 其 中,C 表 示 集 合 模 式 ;c 代 表 集 合 实 例 集 合 模 式 可 以 表 示 为 C = < K V > 其 中,K 指 key 关 键 字, 比 方 说 在 k:d 数 值 对 中,k 表 示 key 名 字,d 表 示 域 名 ;V 表 示 实 际 value 值, 代 表 一 个 关 系 模 式 或 是 集 合 模 式 因 此, 面 向 集 合 的 数 据 模 型 可 以 表 示 为 C=<k1:d1,k2: d2kn:dn,r>; 集 合 实 例 c 可 以 表 示 成 一 组 ( pi qi)(i Î{1 2 m}) 键 值 对 的 集 合,m 为 集 合 的 基 数,qi 代 表 一 个 关 系 实 例 或 集 合 实 例,pi 数 据 域 表 示 为 dom(pi)= String Integer Double Boolean 集 合 实 例 c 符 合 C=<k:d, V> 模 式, 表 示 为 :c =C 当 且 仅 当 ( pi qi)(i Î{1 2 m})î c, dom( pi) = d pi = V 需 要 强 调 的 是 当 c =C 时, 集 合 实 例 c 才 是 有 效 的 假 设 一 组 模 型 实 验 参 数 数 据 集 合 ( 图 1), 可 表 示 为 Cparams=<Model:String,:Integer,<: m1 m2 m3 Model 图 1 实 验 参 数 数 据 集 合 8.0 20 Double,:Integer>>, 其 中 H(Cparams)=2, 第 一 级 包 含 关 键 字 为 Model 的 键 值, 属 于 字 符 串 数 值 域 ; 第 二 级 别 包 含 关 键 字 为 的 键 值, 属 于 整 型 数 值 域 ; 而 所 有 的 内 部 关 系 实 例 满 足 <:Double,:Integer> 关 系 模 式 可 见,Key/Value 可 以 说 是 对 关 系 模 型 的 有 效 扩 展 所 有 基 于 Key/Value 模 型 的 数 据 操 作, 都 可 规 约 到 相 关 集 合 操 作 上, 最 终 规 约 到 关 系 操 作 上 同 时, 也 可 以 将 关 系 运 算 中 的 相 关 操 作 拓 展 到 集 合 模 型 中, 来 支 撑 针 对 集 合 数 据 的 相 关 运 算, 如 合 并 (Union) 连 接 求 差 (difference) 等 文 中 空 间 数 据 模 型 都 是 基 于 面 向 集 合 的 Key/Value 模 型 基 础 理 论 构 建 的 2.2 矢 量 数 据 Key/Value 数 据 模 型 构 建 在 当 前 NOSQL 数 据 库 中, 普 通 数 据 采 用 的 JSON 格 [6] 式, 正 是 一 个 无 序 的 名 称 / 值 对 集 合 例 如, 描 述 人 基 本 信 息 的 JSON 数 据 格 式 如 下 :{name:"yinfang",sex:"m", age:"26"} 对 于 矢 量 空 间 数 据 来 讲, 直 接 采 用 基 于 JSON 格 式 的 GeoJSON 实 现 空 间 几 何 实 体 的 描 述 是 可 行 的 GeoJSON 遵 循 WKB 规 范 格 式, 目 前 已 能 够 支 持 点 线 多 边 形 等 几 何 形 式 和 几 何 集 合, 以 及 Feature 和 Feature 集 合 的 定 义 (http://geojson.org/) 以 点 (Point) 为 例, 由 x,y 坐 标 构 成, 表 示 方 式 如 下 : { type : Point, coordinates :[100.0,0.0], properties :{ prop0 : value0, prop1 : valu } } 假 定 空 间 数 据 集 D 包 含 多 个 空 间 对 象 实 体 O i, i = 1 2 D, 利 用 GeoJSON 格 式 描 述 矢 量 空 间 数 据 几 何 实 体, 形 成 如 下 结 构 的 矢 量 数 据 文 件 格 式 : 矢 量 数 据 文 件 ={<O 1.ID,O 1.Geometry,O 1.Attribute><O 2.ID, O 2.Geometry,O 2.Attribute><O n.id,o n.geometry,o n.attribute>}, 其 中 :O i.geometry={ type : 实 体 类 型, coordinates :[ 几 何 实 体 WKB 编 码 ]};O i.attribute={ properties :{< 属 性 名, 属 性 值 > 键 值 对 列 表 }} 同 时, 每 个 空 间 对 象 实 体 记 录 都 以 文 本 文 件 的 方 式 保 存 为 一 行 这 样 可 以 方 便 地 利 用 Hadoop 平 台 提 供 的 基 于 文 本 行 的 文 件 操 作 函 数, 实 现 每 个 空 间 对 象 实 体 记 录 的 读 取 和 写 入 此 外, 对 于 矢 量 数 据 文 件, 具 体 的 元 数 据 内 容 包 含 空 间 对 象 实 体 个 数 投 影 坐 标 属 性 数 据 域 等 基 本 信 息 2.3 HDFS 矢 量 数 据 存 储 过 程 通 过 HDFS 来 存 储 和 管 理 矢 量 数 据 文 件, 就 是 直 接 将 2.2 节 创 建 的 空 间 对 象 实 体 记 录 文 本 及 元 数 据 文 件 上 传 到 HDFS 文 件 系 统,HDFS 将 其 进 行 自 动 切 割, 分 成 大 量 小 的 数 据 块 ( 缺 省 为 64 MB), 分 别 存 储 到 不 同 的 节 点 上
尹 芳, 冯 敏, 诸 云 强, 等 : 基 于 开 源 Hadoop 的 矢 量 空 间 数 据 分 布 式 处 理 研 究 2013,49(16) 27 3 矢 量 数 据 MapReduce 计 算 处 理 流 程 利 用 MapReduce 处 理 矢 量 数 据, 首 先 要 将 空 间 对 象 实 体 按 照 一 定 的 规 则 进 行 数 据 分 片, 之 后 将 这 些 块 数 据 分 配 到 各 计 算 节 点, 由 各 计 算 节 点 完 成 运 算 后,Reduce 对 结 果 进 行 合 并, 完 成 数 据 处 理 本 章 将 详 细 介 绍 分 块 规 则 及 Map Reduce 过 程 的 注 意 环 节 3.1 矢 量 数 据 MapReduce 计 算 流 程 分 析 目 前, 针 对 矢 量 数 据 MapReduce 分 布 式 计 算 的 相 关 研 究 较 少 并 且, 现 有 研 究 基 本 没 有 考 虑 矢 量 数 据 的 属 性 特 [7-10] 征 然 而, 在 矢 量 数 据 进 行 处 理 分 析 过 程 中, 属 性 数 据 具 有 重 要 的 作 用 本 章 在 分 析 现 有 矢 量 数 据 MapReduce 计 算 过 程 基 础 上, 对 其 进 行 改 进, 使 之 兼 顾 空 间 和 属 性 特 征 矢 量 数 据 MapReduce 处 理 的 过 程 主 要 分 为 三 个 阶 段 : (1) 根 据 空 间 对 象 空 间 位 置 特 征 属 性 O.Geometry, 构 建 划 分 映 射 函 数 f, 将 空 间 对 象 划 分 成 R 个 数 据 分 片, 并 在 不 同 计 算 节 点 上 执 行 数 据 分 片 拷 贝 注 意 : 第 一 阶 段 要 重 点 确 定 分 割 函 数 f, 函 数 输 入 为 数 据 集 D 与 正 整 数 R,R 代 表 划 分 成 的 分 片 数 量,f 输 出 结 果 是 将 数 据 集 D 中 的 空 间 对 象 实 体 划 分 到 R 个 分 区 中 f 函 数 最 理 想 的 状 态 是 实 现 数 据 集 D 平 均 分 配 为 R 份 但 在 实 际 操 作 中,f 函 数 将 空 间 位 置 临 近 的 对 象 分 配 到 同 一 个 分 区 内, 各 分 区 间 的 数 据 量 可 以 存 在 一 定 的 微 小 变 化, 保 证 分 组 之 间 数 据 量 的 负 载 均 衡 (2) 主 控 程 序 分 配 M 个 Mapper 和 R 个 Reducer, 通 过 资 源 监 控 机 制 控 制 各 计 算 节 点 执 行 相 应 的 单 元, 利 用 Mapper 对 各 分 块 数 据 进 行 相 应 空 间 分 析 处 理, 利 用 Reducer 对 结 果 进 行 过 滤 合 并 注 意 : 第 二 阶 段 在 Map 阶 段,Mapper 读 取 第 一 阶 段 的 分 块 数 据, 并 按 照 相 应 的 ( 如 查 询 缓 冲 区 分 析 等 ) 需 求 对 分 块 数 据 进 行 处 理 ; 之 后, 利 用 Reducer 将 相 应 结 果 进 行 过 滤 归 并 等 处 理 (3) 将 R 个 独 立 的 Mapper 分 析 结 果, 发 送 到 某 个 计 算 节 点 或 主 控 节 点, 由 该 节 点 将 所 有 计 算 结 果 组 合 合 并, 获 得 最 终 结 果 一 般 来 讲, 前 两 个 阶 段 是 分 布 式 并 行 执 行 的, 最 后 阶 [7] 段 不 需 要 很 高 的 计 算 能 力, 只 需 按 顺 序 执 行 即 可 以 下 内 容 对 分 割 函 数 f 的 建 立 及 Map 和 Reduce 处 理 过 程 进 行 详 细 阐 述 3.2 矢 量 数 据 划 分 函 数 构 建 根 据 矢 量 数 据 的 特 征, 矢 量 数 据 MapReduce 处 理 过 程 中 数 据 划 分 阶 段, 需 要 重 点 考 虑 邻 近 性 和 非 均 匀 性 特 点 通 过 对 比 分 析, 选 取 Z 序 曲 线 法 根 据 O.Geometry 属 性 建 立 空 间 填 充 曲 线, 完 成 数 据 的 空 间 区 域 划 分, 得 到 具 有 邻 近 性 特 征 的 一 维 空 间 实 体 对 象 序 列 基 于 获 取 到 的 空 间 实 体 对 象, 在 主 要 考 虑 数 据 量 均 匀 分 布 的 因 素 下, 将 数 据 集 D 分 布 到 接 近 均 匀 的 R 份 则 具 体 构 建 过 程 如 下 : (1) 每 个 对 象 的 id 和 空 间 位 置 生 成 <key/value> 对 集 合,key 为 每 个 对 象 的 id 号,value 为 每 个 对 象 的 Geometry 值 通 过 Z 序 填 充 曲 线 计 算, 获 得 每 个 对 象 的 Z 序 编 码 值 S ={U (O i i = 1 2 L} 式 中,U 为 Z 序 填 充 曲 线 (2) 将 S 排 序 后 分 配 到 R 个 大 小 接 近 相 等 的 块 中 当 S[ j - 1]<U (O S[ j] 时, 对 象 O 被 分 配 到 第 j 块,j = 1 2 R (3) 得 到 分 块 函 数 f 对 数 据 集 D 进 行 分 割, 定 义 如 下 : ì 1 ï f (o = í j, S[ j - 1]< U (o S[ j], ï îr, U (o > S[R - 1] 1, U (o S[ ] j = 2 3 R - 1 3.3 Map 与 Reduce 计 算 流 程 实 现 在 Map 计 算 单 元 执 行 过 程 中, 基 于 数 据 划 分 函 数, 可 保 证 如 果 各 节 点 中 共 有 M 个 Mapper, 则 每 个 节 点 分 配 个 对 象, 其 中 数 据 量 范 围 可 控 制 在 16~64 MB 之 间 Map 函 数 读 取 到 的 输 入 数 据 内 容 是 包 含 空 间 数 据 id 空 间 特 征 和 属 性 特 征 的 键 值 对 <O.ID,O.Geometry,O.Attribute>, 使 得 Mapper 计 算 过 程 可 以 方 便 地 读 取 到 矢 量 数 据 的 空 间 特 征 属 性 数 据, 完 成 相 关 操 作 的 处 理 在 Reduce 计 算 单 元 执 行 过 程 中, 主 要 是 在 得 到 空 间 分 析 处 理 中 间 结 果 后, 对 空 间 特 征 相 邻 或 接 近 的 矢 量 数 据 进 行 归 并 处 理 当 Reduce 过 程 执 行 完 成 后, 根 据 键 值 对 中 的 O.ID 和 O.Geometry 对 每 个 矢 量 数 据 进 行 排 序, 得 到 按 预 先 定 义 的 数 据 键 值 排 序 的 矢 量 数 据 空 间 分 析 结 果 假 设 矢 量 数 据 计 算 流 由 TFn 表 示,DFn 表 示 矢 量 数 据 流 具 体 的 数 据 处 理 流 程 如 下 ( 图 2): (1) 矢 量 数 据 处 理 程 序 运 行 后, 首 先 对 分 治 规 约 计 算 过 程 进 行 初 始 化 (TF1), 指 定 主 控 节 点 和 各 计 算 节 点, 对 各 计 算 节 点 进 行 初 始 配 置 (2)TF2 为 由 主 控 节 点 发 出 的 数 据 分 配, 将 第 一 阶 段 分 块 数 据 分 配 到 各 计 算 节 点 (DF1), 并 由 主 控 节 点 对 输 入 数 据 生 成 <O.ID,O.Geometry,O.Attribute> 键 值 对 集 合 (3)TF3 执 行 Map, 得 到 由 主 控 节 点 分 配 的 矢 量 数 据 <O.ID,O.Geometry,O.Attribute> 键 值 对 映 射 表, 根 据 主 控 节 点 分 配 的 数 据 处 理, 各 计 算 节 点 执 行 矢 量 数 据 空 间 分 析 处 理 并 得 到 中 间 结 果 这 一 过 程 中 包 括 : 1Map 函 数 在 各 计 算 节 点 中 读 取 矢 量 数 据 (DF2), 在 计 算 完 成 后, 将 中 间 结 果 保 存 到 中 (DF3) 2 各 计 算 节 点 将 计 算 的 中 间 结 果 的 <O.ID,O.Geometry, O.Attribute> 键 值 对 映 射 表 发 送 给 主 控 节 点 (DF4), 主 控 节 点 在 将 映 射 表 排 序 后 反 馈 给 计 算 节 点 (DF5) (4)TF4 用 于 执 行 Reduce, 这 一 过 程 根 据 矢 量 数 据 空 间 分 析 中 间 结 果 的 键 (id 和 空 间 特 征 ) 进 行 排 序, 对 相
28 2013,49(16) Computer Engineering and Applications 计 算 机 工 程 与 应 用 第 一 阶 段 : 数 据 分 块 数 据 集 key = id value = O.Geometry S = U (O 1 S = U (O 2 S = U (O R f (O S[1] S[2] S[R] 分 块 结 果 空 间 数 据 库 数 据 分 配 计 算 单 维 值 Map 阶 段 分 块 Reduce 阶 段 第 二 阶 段 : 空 间 数 据 分 析 处 理 矢 量 数 据 处 理 程 序 S[1] DF1 TF2 TF1 TF1 主 控 节 点 DF4 DF5 DF2 DF3 计 算 节 点 1 DF6 计 算 节 点 1 DF7 DF8 S[2] 计 算 节 点 计 算 节 点 S[R] 分 块 结 果 TF3 Map 阶 段 通 信 阶 段 TF4 Reduce 阶 段 TF5 第 三 阶 段 : 结 果 合 并 计 算 节 点 1 计 算 节 点 数 据 合 并 空 间 数 据 分 析 结 果 图 2 基 于 MapReduce 处 理 矢 量 数 据 过 程 邻 或 接 近 的 结 果 进 行 归 并, 同 时 对 数 据 进 行 精 炼, 避 免 副 本 这 一 过 程 包 括 : 1Reduce 函 数 执 行 后, 各 计 算 节 点 将 空 间 分 析 中 间 结 果 发 送 给 其 他 计 算 节 点 (DF6); 2 各 计 算 节 点 根 据 键 值 对 读 取 输 入 数 据 (DF7); 3Reduce 函 数 将 计 算 结 果 进 行 归 并, 写 入 各 计 算 节 点 (DF8) 如 果 计 算 未 完 成, 执 行 新 一 轮 的 Map-Reduce 计 算 过 程 (TF4) 3.4 分 析 结 果 合 并 Reduce() 函 数 根 据 每 一 个 中 间 结 果 的 键 (key) 来 遍 历 排 序 后 的 数 据, 并 且 把 key 和 相 关 的 中 间 结 果 value 集 合 传 递 给 Reduce() 函 数,Reduce() 函 数 的 计 算 节 点 最 终 把 输 出 结 果 存 放 在 主 节 点 机 器 的 一 个 输 出 文 件 中, 获 得 分 析 的 最 终 结 果 4 原 型 系 统 架 构 及 测 试 本 文 基 于 Hadoop 0.20.0 版 本 开 发 了 矢 量 数 据 分 布 式 存 储 和 计 算 原 型 系 统 该 系 统 由 基 于 Hadoop MapReduce 模 块 的 分 布 式 计 算 模 块 基 于 HDFS 的 分 布 式 存 储 模 块 分 布 式 处 理 服 务 模 块 以 及 客 户 端 等 部 分 组 成 ( 见 图 3) 系 统 采 用 J2EE 环 境 开 发, 运 行 于 Linux 环 境 由 于 MapReduce 适 用 于 联 合 性 能 较 低 的 计 算 机 进 行 分 布 式 并 行 计 算, 在 实 验 中 以 3 台 普 通 PC 构 建 了 系 统 的 测 试 环 境 每 个 节 点 机 器 的 配 置 相 同,CPU:1 GHz; 内 存 :1 GB; 硬 盘 :100 GB 操 作 系 统 为 Ubuntu 10.0.4 在 上 述 测 试 环 境 下, 随 着 计 算 节 点 数 目 从 1 台 增 加 至 3 台, 关 中 地 区 1:10 万 土 地 利 用 数 据 ( 数 据 量 75.8 MB,55 632
尹 芳, 冯 敏, 诸 云 强, 等 : 基 于 开 源 Hadoop 的 矢 量 空 间 数 据 分 布 式 处 理 研 究 2013,49(16) 29 客 户 端 Internet 计 算 节 点 主 节 点 分 布 式 处 理 Web 服 务 启 动 分 布 式 处 理 模 块 创 建 监 控 HDFS 数 据 存 储 列 表 接 收 NameNode DataNode MapReduce 框 架 Map/Reduce Interface Job Tracker Task Tracker 调 度 分 配 执 行 图 3 原 型 系 统 组 成 个 多 边 形 空 间 对 象 实 体 ) 的 空 间 范 围 查 询 时 间 ( 查 询 范 围 为 [106.75,35 ]~[109.75,34 ], 查 询 数 量 为 32 591 个 多 边 形 ) 分 别 为 620 s 498 s 402 s 5 结 论 本 文 通 过 网 络 分 布 式 连 接 多 台 PC 计 算 机, 能 够 利 用 已 有 的 普 通 计 算 资 源, 完 成 对 大 规 模 矢 量 数 据 的 高 效 处 理 探 讨 了 利 用 MapReduce 并 行 方 法 处 理 空 间 数 据 的 基 本 步 骤, 通 过 对 关 中 地 区 1:10 万 土 地 利 用 数 据 的 应 用 测 试, 结 果 表 明 : 分 布 式 计 算 方 法 通 过 连 接 多 计 算 节 点, 能 够 有 效 地 提 升 矢 量 数 据 的 计 算 效 率, 而 且 计 算 节 点 对 计 算 性 能 的 影 响 非 常 明 显, 通 过 添 加 节 点 能 够 实 现 对 性 能 的 提 升 有 助 于 提 高 地 学 矢 量 数 据 的 分 析 计 算 能 力, 解 决 地 学 相 关 模 拟 计 算 的 性 能 瓶 颈 参 考 文 献 : [1] 王 永 刚. 基 于 Hadoop 云 计 算 平 台 的 地 理 信 息 服 务 若 干 关 键 技 术 研 究 [D]. 北 京 : 中 国 科 学 院 研 究 生 院 遥 感 应 用 研 究 所,2011. [2] Yang H,Dasdan A,Hsiao R L,et al.map-reduce-merge:simplified relational data processing on large clusters[c]//zhou L Z,Ling T W.Proceedings of Intemational Confererlce on Management of Data,Beijing.USA:Association for Computing Machinery,2007:1029-1040. [3] Zhang Shubin,Han Jizhong,Liu Zhiyong,et al.sjmr:parallelizing spatial Join with MapReduce on clusters[c]//sterling T.Proceedings of International Conference on Cluster Computing and Workshops,New Orleans,LA.USA:IEEE Computer Society,2009:1-4. [4] Wang Kai,Han Jizhong,Tu Bibo,et al.accelerating spatial data processing with MapReduce[C]//Jiang H.Proceedings of the 16th International Conference on Parallel and Distributed Systems,Shanghai.USA:IEEE Computer Society,2010: 229-236. [5] 范 建 永, 龙 明, 熊 伟. 基 于 HBase 的 矢 量 空 间 数 据 分 布 式 存 储 研 究 [J]. 地 理 与 地 理 信 息 科 学,2012,28(5):39-42. [6] Stonebraker M.SQL databases v.nosql databases[j].communications of the ACM,2010,53(4):10-11. [7] Cary A,Sun Zhengguo,Hristidis V,et al.experiences on processing spatial data with MapReduce[J].Scientific and Statistical Database,2009:302-319. [8] 张 书 彬, 韩 冀 中, 刘 志 勇, 等. 基 于 MapReduce 实 现 空 间 查 询 的 研 究 [J]. 高 技 术 通 讯,2010,20(7):719-726. [9] 冯 敏, 尹 芳, 诸 云 强, 等. 基 于 MapReduce 的 分 布 式 地 形 数 据 分 析 计 算 研 究 [J]. 华 中 科 技 大 学 学 报 : 自 然 科 学 版,2011,39 (S1):24-27. [10] 高 昂. 面 向 空 间 数 据 的 分 布 式 计 算 服 务 研 究 [D]. 北 京 : 中 科 院 中 国 科 学 院 研 究 生 院 ( 地 理 科 学 与 资 源 研 究 所 ),2011.