刊首语

Size: px
Start display at page:

Download "刊首语"

Transcription

1 入 门 专 刊 创 刊 号 2010 年 1 月 - 1 -

2 出 品 Hadoop 技 术 论 坛 总 编 辑 易 剑 ( 一 见 ) 副 总 编 辑 代 志 远 ( 国 宝 ) 王 磊 (beyi) 本 期 主 编 皮 冰 锋 ( 若 冰 ) 编 辑 皮 冰 锋 ( 若 冰 ) 易 剑 ( 一 见 ) 贺 湘 辉 ( 小 米 ) 王 磊 (beyi) 代 志 远 ( 国 宝 ) 柏 传 杰 ( 飞 鸿 雪 泥 ) 何 忠 育 (Spork) 秘 中 凯 陈 炬 美 工 / 封 面 设 计 易 剑 ( 一 见 ) 网 址 投 稿 信 箱 hadoopor@foxmail.com

3 刊 首 语 2010 年 1 月, Hadoop 开 发 者 沐 着 2010 年 的 第 一 缕 春 光 诞 生 了 正 是 有 了 Doug Cutting 这 样 的 大 师 级 开 源 者, 正 是 有 了 无 数 个 为 Hadoop 贡 献 力 量 的 开 源 者 们 的 共 同 努 力, 才 有 了 Hadoop 自 诞 生 时 的 倍 受 关 注 到 现 在 的 倍 受 瞩 目 Hadoop 从 单 一 应 用 发 展 到 目 前 的 Hadoop Ecosystem, 自 成 一 格 的 技 术 体 系, 叩 开 了 信 息 爆 炸 时 代 的 海 量 数 据 处 理 的 大 门, 开 辟 了 海 量 数 据 存 储 与 计 算 及 其 应 用 的 新 领 地, Hadoop 开 发 者 正 是 在 这 样 的 背 景 下 应 运 而 生 Hadoop 技 术 交 流 群 自 创 建 起, 短 短 的 几 个 月 时 间 里 就 形 成 了 2 个 超 级 大 群, Hadoop 技 术 体 系 深 蒙 面 向 各 行 各 业 应 用 的 开 发 者 们 的 厚 爱, 可 以 预 见 Hadoop 应 用 前 景 广 阔 但 时 下 稍 显 稚 嫩, 需 要 广 大 的 爱 好 者 共 同 尝 试 探 索, 发 掘 应 用 的 同 时 帮 助 改 进 Hadoop 开 发 者 是 Hadoop 交 流 群 的 几 位 志 愿 者 们 自 发 创 建 的, 希 望 它 的 出 现 能 为 您 的 学 习 和 探 索 铺 路, 同 时 也 期 盼 能 分 享 您 的 Hadoop 之 旅 在 分 享 中, hadoop 开 发 者 将 与 您 一 路 同 行, 共 同 进 步 分 享 自 由 开 放, Hadoop 开 发 者 将 秉 承 这 一 开 源 社 区 的 血 脉 和 传 统, 传 承 百 家 争 鸣, 在 思 想 交 流 和 技 术 的 切 磋 中 促 进 hadoop 社 区 的 发 展, 期 待 Hadoop 这 一 尚 待 开 垦 的 田 野 里 百 花 齐 放 最 后, 感 谢 Hadoop 开 发 者 编 辑 组 所 有 同 仁 们, 彼 此 素 未 蒙 面 的 爱 好 者 能 聚 到 一 起, 为 了 一 个 共 同 的 爱 好 策 划 这 本 杂 志, 这 本 身 就 是 Hadoop 魅 力 的 体 现 当 然, 也 要 感 谢 大 师 Doug Cutting 和 Hadoop 社 区 的 开 源 者 们, 因 为 有 了 您, 这 里 才 变 得 如 此 精 彩! Hadoop 开 发 者 编 辑 组

4 目 录 1 Hadoop 介 绍 2 Hadoop 在 国 内 应 用 情 况 3 Hadoop 源 代 码 eclipse 编 译 教 程 7 在 Windows 上 安 装 Hadoop 教 程 13 在 Linux 上 安 装 Hadoop 教 程 19 在 Windows 上 使 用 eclipse 编 写 Hadoop 应 用 程 序 24 在 Windows 中 使 用 Cygwin 安 装 HBase 28 Nutch 与 Hadoop 的 整 合 与 部 署 31 在 Windows eclipse 上 单 步 调 试 Hive 教 程 38 Hive 应 用 介 绍 42 Hive 执 行 计 划 解 析 50 MapReduce 中 的 Shuffle 和 Sort 分 析 53 海 量 数 据 存 储 和 计 算 平 台 的 调 试 器 研 究 56 探 讨 MapReduce 模 型 的 改 进 58 运 行 eclipse 编 译 出 的 Hadoop 框 架 59 表 关 联 在 MapReduce 上 的 实 现 63 Hadoop 计 算 平 台 和 Hadoop 数 据 仓 库 的 区 别

5 Hadoop 介 绍 Hadoop 是 Apache 下 的 一 个 项 目, 由 HDFS MapReduce HBase Hive 和 ZooKeeper 等 成 员 组 成 其 中,HDFS 和 MapReduce 是 两 个 最 基 础 最 重 要 的 成 员 HDFS 是 Google GFS 的 开 源 版 本, 一 个 高 度 容 错 的 分 布 式 文 件 系 统, 它 能 够 提 供 高 吞 吐 量 的 数 据 访 问, 适 合 存 储 海 量 (PB 级 ) 的 大 文 件 ( 通 常 超 过 64M), 其 原 理 如 下 图 所 示 : 采 用 Master/Slave 结 构 NameNode 维 护 集 群 内 的 元 数 据, 对 外 提 供 创 建 打 开 删 除 和 重 命 名 文 件 或 目 录 的 功 能 DatanNode 存 储 数 据, 并 提 负 责 处 理 数 据 的 读 写 请 求 DataNode 定 期 向 NameNode 上 报 心 跳,NameNode 通 过 响 应 心 跳 来 控 制 DataNode InfoWord 将 MapReduce 评 为 2009 年 十 大 新 兴 技 术 的 冠 军 MapReduce 是 大 规 模 数 据 (TB 级 ) 计 算 的 利 器,Map 和 Reduce 是 它 的 主 要 思 想, 来 源 于 函 数 式 编 程 语 言, 它 的 原 理 如 下 图 所 示 : Map 负 责 将 数 据 打 散,Reduce 负 责 对 数 据 进 行 聚 集, 用 户 只 需 要 实 现 map 和 reduce 两 个 接 口, 即 可 完 成 TB 级 数 据 的 计 算, 常 见 的 应 用 包 括 : 日 志 分 析 和 数 据 挖 掘 等 数 据 分 析 应 用 另 外, 还 可 用 于 科 学 数 据 计 算, 如 圆 周 率 PI 的 计 算 等 Hadoop MapReduce 的 实 现 也 采 用 了 Master/Slave 结 构 Master 叫 做 JobTracker, 而 Slave 叫 做 TaskTracker 用 户 提 交 的 计 算 叫 做 Job, 每 一 个 Job 会 被 划 分 成 若 干 个 Tasks JobTracker 负 责 Job 和 Tasks 的 调 度, 而 TaskTracker 负 责 执 行 Tasks 创 刊 号 2010 年 1 月 - 1 -

6 Hadoop 在 国 内 应 用 情 况 主 要 公 司 更 多 的 数 据 请 浏 览 : 地 域 分 布 下 面 的 数 据 由 Hadoop 技 术 论 坛 提 供, 数 据 的 绝 对 值 参 考 意 义 不 大, 主 要 是 看 各 城 市 间 的 相 对 数 据 北 京 深 圳 和 杭 州 位 列 前 三 甲, 分 析 主 要 原 因 是 : 北 京 有 淘 宝 和 百 度, 深 圳 有 腾 讯, 杭 州 有 网 易 等 互 联 网 公 司 是 Hadoop 在 国 内 的 主 要 使 用 力 量 淘 宝 是 在 国 内 最 先 使 用 Hadoop 的 公 司 之 一, 而 百 度 赞 助 了 HyperTable 的 开 发, 加 上 北 京 研 究 Hadoop 的 高 校 多, 所 以 北 京 是 Hadoop 方 面 研 究 和 应 用 需 求 最 高 的 城 市 位 于 北 京 的 中 科 院 研 究 所, 在 2009 年 度 还 举 办 过 几 次 Hadoop 技 术 大 会, 加 速 了 Hadoop 在 国 内 的 发 展 创 刊 号 2010 年 1 月 - 2 -

7 Hadoop 源 代 码 eclipse 编 译 教 程 作 者 : 一 见 1. 下 载 Hadoop 源 代 码 Hadoop 各 成 员 源 代 码 下 载 地 址 : 请 使 用 SVN 下 载, 在 SVN 浏 览 器 中 将 trunk 目 录 下 的 源 代 码 check-out 出 来 即 可 请 注 意 只 check-out 出 SVN 上 的 trunk 目 录 下 的 内 容, 如 : 而 不 是 原 因 是 目 录 下 包 括 了 很 多 非 源 代 码 文 件, 很 庞 大, 导 致 需 要 很 长 的 check-out 时 间 2. 准 备 编 译 环 境 2.1. Hadoop 代 码 版 本 本 教 程 所 采 用 的 Hadoop 是 北 京 时 间 日 上 午 下 载 的 源 代 码, 和 hadoop-0.19.x 版 本 的 差 异 可 能 较 大 2.2. 联 网 编 译 Hadoop 会 依 赖 很 多 第 三 方 库, 但 编 译 工 具 Ant 会 自 动 从 网 上 下 载 缺 少 的 库, 所 以 必 须 保 证 机 器 能 够 访 问 Internet 2.3. java 编 译 Hadoop 要 用 JDK1.6 以 上, 网 址 : 安 装 好 之 后, 请 设 置 好 JAVA_HOME 环 境 变 量 2.4. Ant 和 Cygwin 需 要 使 用 Ant 工 具 来 编 译 Hadoop, 而 Ant 需 要 使 用 到 Cygwin 提 供 的 一 些 工 具, 如 sed 等, 可 以 从 : 下 载 Ant, 从 下 载 Cygwin(Cygwin 的 安 装, 请 参 考 在 Windows 上 安 装 Hadoop 教 程 一 文 ) 安 装 好 之 后, 需 要 将 Ant 和 Cygwin 的 bin 目 录 加 入 到 环 境 变 量 PATH 中, 如 下 图 所 示 : 注 意 : 在 安 装 Cygwin 时, 建 议 将 SVN 安 装 上, 因 为 在 Ant 编 译 过 程 中 会 通 过 SVN 下 载 些 文 件, 但 这 个 不 是 必 须 的, 下 载 不 成 功 时, 并 未 见 出 错, 编 译 仍 然 可 以 成 功 2.5. Eclipse 创 刊 号 2010 年 1 月 - 3 -

8 Eclipse 则 可 以 从 上 下 载 3. 编 译 Hadoop 在 这 里, 我 们 以 编 译 Hadoop 家 庭 成 员 common 为 例, 对 Hadoop 其 它 成 员 的 编 译 方 法 是 类 似 的 3.1. 编 译 common 成 员 步 骤 1) 在 Elipse 的 Package 视 图 中 单 击 右 键, 选 择 New->Java Project, 如 下 图 所 示 : 步 骤 2) 选 择 源 代 码 目 录, 设 置 Project 名 在 上 图 所 示 的 对 话 框 中, 点 击 Browse 按 钮, 选 择 common 源 代 码 目 录, 并 设 置 Project name 为 common 工 程 导 入 完 成 后, 进 入 Eclipse 主 界 面, 可 以 看 到 common 已 经 导 入 进 来, 但 可 以 看 到 common 上 有 红 叉 叉, 是 因 为 Elipse 默 认 使 用 了 Java Builder, 而 不 是 Ant Builder, 所 以 下 一 步 就 是 设 置 使 用 Ant Builder 步 骤 3) 设 置 Builder 为 Ant: 右 键 common->properties->builders: 在 上 图 所 示 的 界 面 中, 点 击 New 按 钮, 在 弹 出 的 对 话 框 中 选 中 Ant Builder, 确 定 之 后 会 弹 出 如 下 对 话 框 : 创 刊 号 2010 年 1 月 - 4 -

9 点 击 Browse File System 按 钮, 选 择 common 源 代 码 目 录 下 的 build.xml 文 件, 并 设 置 Name 为 common_builder(name 可 以 改 成 其 它 的, 但 建 议 使 用 common_builder, 因 为 这 样 名 副 其 实 ), 操 作 结 果 如 下 图 所 示 : 除 上 图 所 示 的 设 置 外, 还 需 要 设 置 如 下 图 所 示 的 Targets, 建 议 设 置 成 Manual Build 编 译 方 式, 而 不 是 Auto Build 编 译 方 式 因 为 在 Auto Build 模 式 下, 任 何 修 改 都 会 触 发 编 译, 而 Manual Build 模 式 下, 只 在 需 要 的 时 候, 点 击 编 译 按 钮 或 菜 单 编 译 即 可 Hadoop 各 成 员 都 需 要 编 译 成 jar, 所 以 做 如 下 图 所 示 的 一 个 修 改 : 创 刊 号 2010 年 1 月 - 5 -

10 确 定 之 后, 返 回 如 下 图 所 示 的 Edit Configuration 对 话 框 : 上 面 完 成 后, 回 到 Builder 的 主 对 话 框, 再 将 对 话 框 中 的 Java Builder 下 移, 并 将 它 前 面 的 勾 去 掉 进 入 Eclipse 主 界 面, 由 于 之 前 选 择 了 Manual Build, 所 以 需 要 人 工 方 式 驱 动 编 译, 编 译 成 功 后, 可 以 看 到 BUILD SUCCESSFUL 字 样 请 注 意 : 如 果 上 图 所 示 的 菜 单 中 的 Build Automatically 被 勾 中, 则 在 common 的 右 键 菜 单 中 可 能 不 会 出 现 Build 子 菜 单 在 编 译 过 程 中,Ant 会 自 动 从 网 上 下 载 所 依 赖 的 库 common 的 编 译 成 功 结 束 后, 可 以 创 刊 号 2010 年 1 月 - 6 -

11 在 build 目 录 下 找 到 编 译 后 生 成 的 文 件 hadoop-core dev.jar 3.2. 编 译 Hadoop 其 它 成 员 hdfs mapreduce 和 hive 的 编 译 方 式 同 common 4. FAQ 4.1. 联 网 确 保 可 以 上 internet,ant 需 要 自 动 下 载 很 多 第 三 方 依 赖 库, 如 果 不 能 联 网, 编 译 会 复 杂 很 多 4.2. 编 译 hive hive 的 编 译 相 对 复 杂 些, 而 且 默 认 它 会 编 译 多 个 版 本 的 hive, 建 立 修 改 shims 目 录 下 的 ivy.xml 文 件, 去 掉 不 必 要 版 本 的 编 译 4.3. 编 译 生 成 文 件 位 置 录 下 ; common 编 译 后 生 成 build\hadoop-core dev.jar; hdfs 编 译 后 生 成 build\hadoop-hdfs dev.jar; mapreduce 编 译 后 生 成 build\hadoop-mapred dev.jar; hive 编 译 后 生 成 build\service\hive_service.jar, 请 注 意 并 没 有 直 接 放 在 build 目 hbase 编 译 后 生 成 build\hbase dev.jar; 有 时 候 在 编 译 某 个 时 出 错, 可 先 跳 过, 编 译 其 它 的,Refresh 之 后 再 编 译 在 Windows 上 安 装 Hadoop 教 程 作 者 : 一 见 1. 安 装 JDK 不 建 议 只 安 装 JRE, 而 是 建 议 直 接 安 装 JDK, 因 为 安 装 JDK 时, 可 以 同 时 安 装 JRE MapReduce 程 序 的 编 写 和 Hadoop 的 编 译 都 依 赖 于 JDK, 光 JRE 是 不 够 的 JRE 下 载 地 址 : JDK 下 载 地 址 : 下 载 Java SE 即 可 2. 安 装 Cygwin 不 建 议 使 用 Windows 域 用 户 配 置 和 运 行 Cygwin, 由 于 公 司 防 火 墙 等 原 因, 容 易 遇 到 一 些 较 难 解 决 的 问 题 另 外, 如 果 运 行 Cygwin 的 用 户 和 登 录 Windows 的 用 户 不 同, 则 需 要 将 Cygwin 安 装 目 录 及 子 目 录 的 拥 有 者 (Owner) Cygwin 安 装 程 序 下 载 地 址 : 当 然 也 可 以 从 下 载, 本 教 程 下 载 的 是 Cygwin setup.exe 的 存 创 刊 号 2010 年 1 月 - 7 -

12 放 目 录 可 随 意 无 要 求 当 setup.exe 下 载 成 功 后, 直 接 运 行, 在 弹 出 的 Cygwin Net Release Setup Program 的 对 话 框 中 直 接 点 击 下 一 步, 选 择 download source 如 下 : 选 择 Install from Internet, 进 入 下 图 所 示 对 话 框 : 设 置 Cygwin 的 安 装 目 录,Install For 选 择 All Users,Default Text File Type 选 择 Unix/binary 下 一 步 之 后, 设 置 Cygwin 安 装 包 存 放 目 录 : 设 置 Internet Connection 的 方 式, 选 择 Direct Connection : 之 后 选 择 Download site : 创 刊 号 2010 年 1 月 - 8 -

13 下 一 步 之 后, 可 能 会 弹 出 下 图 的 Setup Alert 对 话 框, 直 接 确 定 即 可 在 Select Packages 对 话 框 中, 必 须 保 证 Net Category 下 的 OpenSSL 被 安 装 : 如 果 还 打 算 在 eclipse 上 编 译 Hadoop, 则 还 必 须 安 装 Base Category 下 的 sed : 另 外 建 议 将 Editors Category 下 的 vim 安 装, 以 方 便 在 Cygwin 上 直 接 修 改 配 置 文 创 刊 号 2010 年 1 月 - 9 -

14 件 ; Devel Category 下 的 subversion 建 议 安 装 : 下 一 步 进 入 Cygwin 安 装 包 下 载 过 程 当 下 载 完 后, 会 自 动 进 入 到 setup 的 对 话 框 : 在 上 图 所 示 的 对 话 框 中, 选 中 Create icon on Desktop, 以 方 便 直 接 从 桌 面 上 启 动 Cygwin, 然 后 点 击 完 成 按 钮 至 此,Cgywin 已 经 安 装 完 成 3. 配 置 环 境 变 量 需 要 配 置 的 环 境 变 量 包 括 PATH 和 JAVA_HOME: 将 JDK 的 bin 目 录 Cygwin 的 bin 目 录 以 及 Cygwin 的 usr\bin 目 录 都 添 加 到 PATH 环 境 变 量 中 ;JAVA_HOME 指 向 JRE 安 装 目 录 4. 安 装 sshd 服 务 点 击 桌 面 上 的 Cygwin 图 标, 启 动 Cygwin, 执 行 ssh-host-config 命 令, 当 要 求 输 入 yes/no 时, 选 择 输 入 no 当 看 到 Have fun 时, 一 般 表 示 sshd 服 务 安 装 成 功 执 行 过 程 如 图 : 如 果 是 Cygwin 1.7 之 前 的 版 本, 则 ssh-host-config 显 示 界 面 如 下 图 所 示 : 创 刊 号 2010 年 1 月

15 5. 启 动 sshd 服 务 在 桌 面 上 的 我 的 电 脑 图 标 上 单 击 右 键, 点 击 管 理 菜 单, 启 动 CYGWIN sshd 服 务 : 当 CYGWIN sshd 的 状 态 为 已 启 动 后, 接 下 来 就 是 配 置 ssh 登 录 6. 配 置 ssh 登 录 执 行 ssh-keygen 命 令 生 成 密 钥 文 件, 一 路 直 接 回 车 即 可, 如 果 不 出 错, 应 当 是 需 要 三 次 按 回 车 键 按 如 下 命 令 生 成 authorized_keys 文 件 : cd ~/..ssh/ cp id_rsa.pub authorized_keys 完 成 上 述 操 作 后, 执 行 exit 命 令 先 退 出 Cygwin 窗 口, 如 果 不 执 行 这 一 步 操 作, 下 面 的 操 作 可 能 会 遇 到 错 误 接 下 来, 重 新 运 行 Cygwin, 执 行 ssh localhost 命 令, 在 第 一 次 执 行 时, 会 有 如 下 图 所 示 的 提 示, 输 入 yes, 直 接 回 车 即 可 : 如 果 是 Windows 域 用 户, 这 步 操 作 可 能 会 遇 到 问 题, 错 误 信 息 如 下 : 创 刊 号 2010 年 1 月

16 这 个 错 误 暂 无 解 决 办 法, 问 题 的 解 决 情 况, 可 关 注 Hadoop 技 术 论 坛 中 的 贴 : 版 本 ssh 问 题 ) 如 果 配 置 成 功, 执 行 who 命 令 时, 可 以 看 到 如 下 图 所 示 的 信 息 : 7. 下 载 hadoop 安 装 包 hadoop 安 装 包 下 载 地 址 : tar.gz 当 然, 也 可 以 进 入 下 载 其 它 的 版 本, 不 过 建 议 直 接 上 0.20 版 本 8. 安 装 hadoop 将 hadoop 安 装 包 hadoop tar.gz 解 压 到 D:\hadoop\run 目 录 ( 可 以 修 改 成 其 它 目 录 ) 下, 如 下 图 所 示 : 接 下 来, 需 要 修 改 hadoop 的 配 置 文 件, 它 们 位 于 conf 子 目 录 下, 分 别 是 hadoop-env.sh core-site.xml hdfs-site.xml 和 mapred-site.xml 共 四 个 文 件 在 Cygwin 环 境,masters 和 slaves 两 个 文 件 不 需 要 修 改 修 改 hadoop-env.sh 只 需 要 将 JAVA_HOME 修 改 成 JDK 的 安 装 目 录 即 可, 需 要 注 意 两 点 : (1) JDK 必 须 是 1.6 或 以 上 版 本 ; (2) 设 置 JDK 的 安 装 目 录 时, 路 径 不 能 是 windows 风 格 的 目 录 (d:\java\jdk1.6.0_13), 而 是 LINUX 风 格 (/cygdrive/d/java/jdk1.6.0_13) 在 hadoop-env.sh 中 设 定 JDK 的 安 装 目 录 : export JAVA_HOME=/cygdrive/d/java/jdk1.6.0_13 修 改 core-site.xml 为 简 化 core-site.xml 配 置, 将 D:\hadoop\run\src\core 目 录 下 的 core-default.xml 文 件 复 制 到 D:\hadoop\run\conf 目 录 下, 并 将 core-default.xml 文 件 名 改 成 coresite.xml 修 改 fs.default.name 的 值, 如 下 所 示 : 创 刊 号 2010 年 1 月

17 如 果 上 图 中 的 端 口 号 8888, 可 以 改 成 其 它 未 被 占 用 的 端 口 修 改 hdfs-site.xml 为 简 化 hdfs-site.xml 配 置, 将 D:\hadoop\run\src\hdfs 目 录 下 的 hdfs-default.xml 文 件 复 制 到 D:\hadoop\run\conf 目 录 下, 并 将 hdfs-default.xml 文 件 名 改 成 hdfssite.xml 不 需 要 再 做 其 它 修 改 修 改 mapred-site.xml 为 简 化 mapred-site.xml 配 置, 将 D:\hadoop\run\src\mapred 目 录 下 的 mapreddefault.xml 文 件 复 制 到 D:\hadoop\run\conf 目 录 下, 并 将 mapred-default.xml 文 件 名 改 成 mapred-site.xml 上 图 中 的 端 口 号 9999, 可 以 改 成 其 它 未 被 占 用 的 端 口 到 这 里,hadoop 宣 告 安 装 完 毕, 可 以 开 始 体 验 hadoop 了! 9. 启 动 hadoop 在 Cygwin 中, 进 入 hadoop 的 bin 目 录, 运 行./start-all.sh 启 动 hadoop, 在 启 动 成 功 之 后, 可 以 执 行./hadoop fs -ls / 命 令, 查 看 hadoop 的 根 目 录 如 果 运 行 mapreduce, 请 参 考 其 它 文 档, 本 教 程 的 内 容 到 此 结 束 在 Linux 上 安 装 Hadoop 教 程 作 者 : 小 米 gshexianghui@126.com 在 Linux 下 搭 建 Hadoop 集 群, 请 先 熟 悉 Linux 的 基 本 概 念 和 操 作, 如 cd ls tar cat ssh sudo scp 等 操 作 养 成 搜 索 意 识 很 重 要, 遇 到 问 题 借 用 google 百 度 等, 或 者 论 坛, 推 荐 Hadoop 技 术 论 坛 ubuntu 和 redhat 等 版 本 的 linux 在 操 作 命 令 上 有 不 同 点, 但 安 装 Hadoop 的 流 程 一 样 创 刊 号 2010 年 1 月

18 实 践 环 境 : Ubuntu8.04+jdk1.6+hadoop ( 三 台 实 体 机 ) 机 器 名 IP 作 用 Hexianghui NameNode master jobtracker hexianghui DataNode slave tasktracker hexianghui DataNode slave tasktracker 注 意 : 初 学 者 可 以 选 择 三 台 做 实 验, 一 台 做 NameNode,master 和 jobtracker, 另 外 两 台 做 DataNode,slave,taskTracker 关 于 这 几 个 概 念, 可 以 参 考 Hadoop 的 官 方 文 档 安 装 ubuntu 操 作 系 统 的 datanode 配 置 内 存 最 好 满 足 512M, NameNode 的 机 器 满 足 1G 内 存,2G 更 好 ubuntu 安 装 后, 可 不 启 动 图 形 界 面, 节 约 内 存 安 装 步 骤 : 1 安 装 ubuntu8.04 更 新 源 修 改 ( 方 便 以 后 更 新 提 高 速 度, 教 育 网 可 以 参 考 如 下 网 址 ): 创 建 用 户 : 为 了 操 作 的 简 便, 在 所 有 机 器 上 创 建 相 同 用 户 名 和 相 同 密 码 的 用 户 本 例 创 建 了 相 同 的 用 户 hexianghui 修 改 机 器 名 :$ hostname 机 器 名 修 改 方 法 参 考 文 档 : 在 /etc/hosts 中 添 加 机 器 名 和 相 应 的 IP: 2 开 启 ssh 服 务 安 装 openssh-server:$ sudo apt-get install openssh-server 注 意 : 自 动 安 装 openssh-server 时, 先 要 进 行 sudo apt-get update 操 作 可 以 在 windows 下 用 SSH Secure Shell Client( 详 见 附 录 ) 来 测 试 一 下 : 连 接 弹 出 如 下 窗 口 : 创 刊 号 2010 年 1 月

19 输 入 密 码 后 能 正 常 进 入, 就 可 以 实 现 远 程 登 录 和 管 理 了 3 建 立 ssh 无 密 码 登 录 (1) 在 NameNode 上 实 现 无 密 码 登 录 本 机 : $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa, 直 接 回 车, 完 成 后 会 在 ~/.ssh/ 生 成 两 个 文 件 :id_dsa 和 id_dsa.pub 这 两 个 是 成 对 出 现, 类 似 钥 匙 和 锁 再 把 id_dsa.pub 追 加 到 授 权 key 里 面 ( 当 前 并 没 有 authorized_keys 文 件 ):$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 完 成 后 可 以 实 现 无 密 码 登 录 本 机 :$ ssh localhost (2) 实 现 NameNode 无 密 码 登 录 其 他 DataNode: 把 NameNode 上 的 id_dsa.pub 文 件 追 加 到 datanode 的 authorized_keys 内 ( 以 节 点 为 例 ): a. 拷 贝 NameNode 的 id_dsa.pub 文 件 : $ scp id_dsa.pub hexianghui@ :/home/hexianghui/ b. 登 录 , 执 行 $ cat id_dsa.pub >>.ssh/authorized_keys 其 他 的 datanode 执 行 同 样 的 操 作 注 意 : 如 果 配 置 完 毕, 如 果 namenode 依 然 不 能 访 问 datanode, 可 以 修 改 datanode 的 authorized_keys:$ chmod 600 authorized_keys 4 关 闭 防 火 墙 $ sudo ufw disable 注 意 : 这 步 非 常 重 要 如 果 不 关 闭, 会 出 现 找 不 到 datanode 问 题 5 安 装 jdk1.6 下 载 地 址 : 下 载 后, 直 接 安 装 本 例 的 安 装 路 径 为 /home/hexianghui/jdk1.6.0_14 安 装 后, 添 加 如 下 语 句 到 /etc/profile 中 : export JAVA_HOME=/home/hexianghui/jdk1.6.0_14 export JRE_HOME=/home/hexianghui/jdk1.6.0_14/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 注 意 : 每 台 机 器 的 java 环 境 最 好 一 致 安 装 过 程 中 如 有 中 断, 切 换 为 root 权 限 来 安 装 6 安 装 hadoop 下 载 hadoop tar.gz: tar.gz 解 压 :$ tar zvxf hadoop tar.gz 把 Hadoop 的 安 装 路 径 添 加 到 环 /etc/profile 中 : export HADOOP_HOME=/home/hexianghui/hadoop 创 刊 号 2010 年 1 月

20 export PATH=$HADOOP_HOME/bin:$PATH 7 配 置 hadoop hadoop 的 主 要 配 置 都 在 hadoop /conf 下 (1) 在 conf/hadoop-env.sh 中 配 置 Java 环 境 (namenode 与 datanode 的 配 置 相 同 ): $ gedit hadoop-env.sh $ export JAVA_HOME=/home/hexianghui/jdk1.6.0_14 (2) 配 置 conf/masters 和 conf/slaves 文 件 :( 只 在 namenode 上 配 置 ) masters: slaves: (3) 配 置 conf/core-site.xml, conf/hdfs-site.xml 及 conf/mapred-site.xml( 简 单 配 置,datanode 的 配 置 相 同 ) core-site.xml: <configuration> <!--- global properties --> <property> <name>hadoop.tmp.dir</name> <value>/home/hexianghui/tmp</value> <description>a base for other temporary directories.</description> </property> <!-- file system properties --> <property> <name>fs.default.name</name> <value>hdfs:// :9000</value> </property> </configuration> hdfs-site.xml:( replication 默 认 为 3, 如 果 不 修 改,datanode 少 于 三 台 就 会 报 错 ) <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> mapred-site.xml: <configuration> <property> <name>mapred.job.tracker</name> <value> :9001</value> </property> </configuration> 8 运 行 hadoop 创 刊 号 2010 年 1 月

21 进 入 hadoop /bin, 首 先 格 式 化 文 件 系 统 :$ hadoop namenode format 启 动 Hadoop:$ start-all.sh 用 jps 命 令 查 看 进 程,NameNode 上 的 结 果 如 下 : DataNode 上 的 结 果 : 查 看 集 群 状 态 :$ hadoop dfsadmin -report Hadoop 的 web 方 式 查 看 : 9 运 行 wordcount.java 程 序 (1) 先 在 本 地 磁 盘 建 立 两 个 输 入 文 件 file01 和 file02: $ echo Hello World Bye World > file01 $ echo Hello Hadoop Goodbye Hadoop > file02 (2) 在 hdfs 中 建 立 一 个 input 目 录 :$ hadoop fs mkdir input (3) 将 file01 和 file02 拷 贝 到 hdfs 中 : $ hadoop fs copyfromlocal /home/hexianghui/soft/file0* input (4) 执 行 wordcount: $ hadoop jar hadoop examples.jar wordcount input output (5) 完 成 之 后, 查 看 结 果 : $ hadoop fs -cat output/part-r Bye 1 创 刊 号 2010 年 1 月

22 Goodbye 1 Hadoop 2 Hello 2 World 2 附 录 : 可 能 出 现 的 问 题 及 相 应 的 解 决 方 法 : 1 如 果 防 火 墙 未 关, 可 能 出 现 如 下 错 误 : File /home/hexianghui/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1 用 jps 查 看 进 程 都 正 常, 用 web 查 看 live nodes 为 0. 说 明 datanode 没 有 正 常 启 动, 但 datanode 进 程 实 际 是 启 动 了 解 决 方 法 : 关 闭 防 火 墙 另 一 种 可 能 : 把 safemode 置 于 off 状 态 :$ hadoop dfsadmin safemode leave 2 如 果 在 虚 拟 机 中 测 试 安 装 Hadoop 可 能 会 出 现 虚 拟 地 址 错 误 3 SSH 是 一 个 用 来 替 代 TELNET FTP 以 及 R 命 令 的 工 具 包 通 过 SSH 可 以 把 所 有 传 输 的 数 据 进 行 加 密, 这 样 " 中 间 人 " 这 种 攻 击 方 式 就 不 可 能 实 现 了, 而 且 也 能 够 防 止 DNS 欺 骗 和 IP 欺 骗 下 载 地 址 : 本 教 程 到 此 结 束 如 有 疑 问, 可 以 参 考 更 多 其 它 资 料 或 联 系 作 者 欢 迎 读 者 把 遇 到 的 新 问 题 以 及 解 决 方 法 发 送 到 gshexianghui@126.com 或 者 贴 在 hadoopor 技 术 论 坛 上 以 完 善 此 教 程 和 为 其 他 读 者 提 供 经 验 资 料 非 常 感 谢 您 的 参 与 创 刊 号 2010 年 1 月

23 在 Windows 上 使 用 eclipse 编 写 Hadoop 应 用 程 序 作 者 : 一 见 1. 前 言 本 文 档 通 过 图 文 结 合 的 方 式, 展 现 在 Windows 上 编 写 和 编 译 Hadoop 应 用 程 序, 然 后 放 到 Linux 运 行 的 全 过 程 2. 创 建 Java 工 程 打 开 eclipse, 选 择 File -> New -> Java Project, 新 建 一 个 Java Project, 进 入 New Java Project 对 话 框, 将 Project name 设 置 为 DFSOperator, 如 下 图 所 示 : 选 中 DFSOperator, 并 单 击 右 键, 选 择 New -> Class 菜 单, 新 建 Name 为 DFSOperator 的 class, 并 选 中 自 动 创 建 main 函 数, 如 下 图 所 示 : 3. 配 置 编 译 参 数 下 面 开 始 配 置 Build Path, 选 中 DFSOperator, 单 击 右 键, 点 击 下 图 所 示 菜 单 Build Path -> Configure Build Path, 进 入 Java Build Path 配 置 界 面 选 择 Libraries 标 签 页, 点 击 右 侧 的 Add External JAR 按 钮, 将 安 装 好 的 hadoop- 创 刊 号 2010 年 1 月 19

24 core.jar 添 加 进 来 4. 源 代 码 进 入 的 DFSOperator.java 文 件 编 辑 界 面, 将 DFSOperator.java 的 内 容 修 改 成 如 下 : public class DFSOperator { /** args */ public static void main(string[] args) { // TODO Auto-generated method stub Configuration conf = new Configuration(); try { FileSystem fs = FileSystem.get(conf); Path f = new Path("hdfs:///dfs_operator.txt"); FSDataOutputStream os = fs.create(f, true); int i=0; for (i=0; i<100000; ++i) os.writechars("test"); os.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printstacktrace(); } } } 5. 编 译 生 成 JAR 右 键 DFSOperator 项 目, 选 择 Build Project, 编 译 项 目 工 程, 编 译 DFSOperator.java 后, 生 成 下 图 所 示 的 DFSOperator.class 文 件 : 右 键 项 目, 选 择 Export : 创 刊 号 2010 年 1 月 20

25 进 入 下 图 所 示 的 Export 对 话 框 : 在 上 图 所 示 对 话 框 中, 选 中 JAR file, 然 后 点 击 Next 按 钮, 进 入 下 图 : 创 刊 号 2010 年 1 月 21

26 按 上 图 所 示, 设 置 好 JAR 包 的 文 件 名 和 存 放 位 置, 然 后 点 击 Finish 按 钮, 生 成 dfs_operator.jar 文 件, 如 下 图 所 示 : 然 后 将 dfs_operator.jar 文 件 上 传 到 Hadoop Master 节 点 6. 测 试 运 行 假 设 Hadoop 安 装 在 /usr/local/hadoop 目 录 下,dfs_operator.jar 存 放 在 hadoop/bin 目 录 下, 按 照 下 图 所 示 的 五 步 依 次 进 行 操 作 : 创 刊 号 2010 年 1 月 22

27 首 先 进 入 Hadoop 的 bin 目 录, 然 后 依 次 完 成 如 下 的 五 步 操 作 : (1) 查 看 当 前 目 录, 检 查 dfs_operator.jar 是 否 存 在 :ls (2) 查 看 Hadoop 根 目 录 下 是 否 存 在 dfs_operator.txt 文 件 :./hadoop fs -ls / (3) 运 行 dfs_operator.jar, 以 生 成 dfs_operator.txt 文 件 :./hadoop jar./dfs_operator.jar DFSOperator (4) 再 查 看 Hadoop 根 目 录 下 是 否 存 在 dfs_operator.txt 文 件 :./hadoop fs -ls / (5) 检 查 dfs_operator.txt 文 件 的 内 容 :./hadoop fs -cat /dfs_operator.txt 7. 结 束 到 此, 整 个 过 程 结 束, 掌 握 方 法 后, 可 以 开 始 丰 富 Hadoop 应 用 程 序 了! 创 刊 号 2010 年 1 月 23

28 在 Windows 中 使 用 Cygwin 安 装 HBase 作 者 : 飞 鸿 雪 泥 jaguar13@yahoo.cn 1. 简 介 HBase 是 Hadoop 的 正 式 子 项 目, 是 面 向 列 的 分 布 式 数 据 库, 它 在 存 储 数 据 结 构 上 并 非 关 系 型, 而 是 疏 松 分 布 式 的 持 久 并 按 多 维 排 序 索 引 的 map 型, 思 想 源 于 Google 的 BigTable 论 文 ( 由 于 HBase 是 一 个 分 布 式 大 规 模 的 平 台, 主 要 安 装 在 类 Unix 平 台 上 但 是 由 于 其 开 发 语 言 是 Java, 因 此 它 同 样 具 有 跨 平 台 的 特 性, 同 样 也 可 以 安 装 在 Windows 操 作 系 统 上 为 了 方 便 起 见, 使 用 具 有 类 Unix 特 性 的 Cygwin 来 安 装 HBase 2. 目 的 本 文 主 要 阐 述 在 伪 分 布 式 模 式 (Pseudo-distributed mode) 下, 在 Windows 操 作 系 统 上 使 用 Cygwin 来 安 装 运 行 和 测 试 HBase 项 目 对 于 真 正 的 分 布 式 的 集 群 配 置, 可 以 参 考 本 文 以 及 HBase 项 目 官 网 ( 3. 安 装 与 配 置 软 件 版 本 : JDK 1.6( 或 以 上 版 本 ) Cygwin 2.5 Hadoop 0.20.x HBase 0.20.x 3.1. Java Cygwin Cygwin SSH 这 里 的 三 个 软 件 的 安 装 过 程, 可 以 参 考 Hadoop 开 发 者 杂 志 创 刊 号 中 在 Windows 上 安 装 Hadoop 教 程, 在 此 不 再 赘 述 3.2. Hadoop 同 样,Hadoop 的 安 装 也 可 以 参 考 Hadoop 开 发 者 杂 志 创 刊 号 中 在 Windows 上 安 装 Hadoop 教 程 一 文 但 是 根 据 笔 者 的 安 装 过 程, 列 出 以 下 几 点 注 意 : 1. 在 配 置 hadoop-env.sh 中 的 JAVA_HOME 时,Jdk 往 往 安 装 在 C:\Program Files\ 文 件 夹 下, 例 如 :C:\Program Files\Java\jdk1.6.0_01 JAVA_HOME 应 配 置 如 下 : export JAVA_HOME=/cygdrive/c/Progra~1/Java/jdk1.6.0_01 其 中, 由 于 Cygwin 无 法 识 别 Program Files 中 间 的 空 格, 如 果 不 按 照 上 述 设 置, 则 系 统 无 法 找 到 Jdk 安 装 目 录 例 如 : 当 然, 你 也 可 以 在 Cygwin 的 /usr/local 目 录 下 添 加 一 个 连 接, 从 而 方 便 配 置 JAVA_HOME ln -s /cygdrive/c/program\ Files/Java/jdk1.6.0_01 \ /usr/local/jdk1.6.0_01 export JAVA_HOME=/usr/local/jdk1.6.0_01 2. 在 core-site.xml 配 置 文 件 中, 属 性 fs.default.name 的 值 与 Hadoop 开 发 者 创 刊 号 2010 年 1 月 24

29 杂 志 创 刊 号 中 在 Windows 上 安 装 Hadoop 教 程 一 文 中 的 值 保 持 一 致, 设 置 为 : hdfs://localhost:8888 同 样, 配 置 文 件 mapred-site.xml 中 的 mapred.job.tracker 属 性 值 设 置 为 : localhost: 在 Hadoop 分 布 式 文 件 系 统 中 创 建 两 个 目 录 hbase 和 tmp, 这 两 个 目 录 将 在 下 面 安 装 HBase 的 过 程 中 使 用, 在 Shell 中 输 入 命 令 如 下 : bin/hadoop dfs mkdir hbase tmp 3.3. HBase 假 设 HBASE_HOME 为 HBase 的 安 装 目 录 1. 在 $HBASE_HOME/conf/hbase-env.sh 中 增 加 如 下 两 个 环 境 变 量 : export JAVA_HOME=/cygdrive/c/Progra~1/Java/jdk1.6.0_01 export HBASE_IDENT_STRING=localhost 其 中,JAVA_HOME 的 设 置 参 照 上 文 的 说 明 2. 将 $HBASE_HOME/conf/hbase-default.xml 中 的 所 有 内 容, 拷 贝 到 $HBASE_HOME/conf/hbase-site.xml 文 件 中 3. 修 改 hbase-site.xml 配 置 文 件 中 的 hbase.rootdir 属 性, 以 及 hbase.tmp.dir 属 性, 如 下 所 示 : <property> <name>hbase.rootdir hbase.rootdir</name> <value>hdfs://localhost:8888/hbase hdfs://localhost:8888/hbase</value> <description>the directory shared by region servers. Should be fully-qualified to include the filesystem to use. E.g: hdfs://namenode_server:port/hbase_rootdir </description> </property> <property> <name>hbase.tmp.dir hbase.tmp.dir</name> <value>hdfs://localhost:8888/tmp hdfs://localhost:8888/tmp</value> <description>temporary directory on the local filesystem.</description> </property> 注 意, 这 里 设 置 的 两 个 目 录 正 是 上 文 中 在 Hadoop 的 分 布 式 文 件 系 统 中 建 立 的 两 个 目 录, 此 外, 端 口 号 也 与 前 面 保 持 一 致, 设 置 为 : 修 改 hbase-site.xml 配 置 文 件 中 的 hbase.zookeeper.quorum 属 性 的 值 为 , 在 Cygwin 中, localhost 有 时 无 法 正 确 识 别 如 下 所 示 : <property> <name>hbase.zookeeper.quorum hbase.zookeeper.quorum</name> <value> </value> <description>comma separated list of servers in the ZooKeeper Quorum. For example, "host1.mydomain.com, host2.mydomain.com, host3.mydomain.com". By default this is set to localhost for local and pseudo-distributed modes of operation. For a fully-distributed setup, this should be set to a full list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh this is the list of servers which we will start/stop ZooKeeper on. </description> 创 刊 号 2010 年 1 月 25

30 </property> 4. 测 试 下 面 测 试 系 统 是 否 正 确 安 装 1. 打 开 Cygwin 的 终 端, 执 行 ssh localhost 命 令 2. 在 Hadoop 安 装 目 录 下, 执 行 bin/start-all.sh 脚 本, 启 动 Hadoop 3. 在 Hbase 安 装 目 录 下, 执 行 bin/start-hbase.sh 脚 本, 启 动 HBase 4. 在 Hbase 安 装 目 录 下, 执 行 bin/hbase shell, 进 入 Shell 命 令 模 式 5. 在 Shell 中 输 入 create 'test', 'data', 执 行 结 果 通 过 输 入 list 命 令 进 行 查 看 如 下 图 所 示 : 6. 在 Shell 中 分 别 输 入 以 下 三 条 命 令, 以 创 建 三 条 记 录 : put 'test', 'row1', 'data:1', 'value1' put 'test', 'row2', 'data:2', 'value2' put 'test', 'row3', 'data:3', 'value3' 7. 输 入 scan 'test' 命 令, 通 过 执 行 结 果 来 测 试 上 述 三 条 命 令 的 执 行 情 况 如 下 图 所 示 创 刊 号 2010 年 1 月 26

31 5. 总 结 至 此,HBase 在 Windows 操 作 系 统 中 利 用 Cygwin 工 具 已 经 安 装 完 成, 并 运 行 良 好 用 户 可 以 在 系 统 中 存 储 大 规 模 的 数 据, 并 进 行 海 量 数 据 处 理 创 刊 号 2010 年 1 月 27

32 Nutch 与 Hadoop 的 整 合 与 部 署 作 者 : 若 冰 pi.bingfeng@gmail.com Nutch 项 目 主 要 是 实 现 网 络 爬 虫 的, 底 层 的 索 引 结 构 借 用 Lucene, 文 件 系 统 及 计 算 模 型 是 建 立 在 Hadoop 的 HDFS 及 Mapreduce 基 础 之 上, 这 些 都 是 Dog Cutting 带 给 我 们 的 优 秀 作 品 在 这 里, 我 主 要 介 绍 下 Nutch1.0 与 Hadoop 的 整 合 部 署, 搭 建 一 个 分 布 式 网 络 爬 虫 环 境, 并 通 过 查 询 检 索 验 证 我 们 抓 取 的 数 据 初 始 环 境 准 备 : 1. 2 台 linux 机 器 : master: , hostname: crawler slaver: , hostname: crawler 所 有 机 器 上 都 装 上 java JDK, 版 本 为 及 以 上 版 本, 更 低 版 本 的 jdk 在 编 译 时 会 出 现.version class 不 匹 配 问 题 可 用 java -version 验 证 jdk 的 版 本 设 安 装 路 径 为 : /usr/java/jdk1.6.0_11 3. 在 master 上 安 装 tomcat, 设 安 装 路 径 为 : /usr/local/tomcat 4. 建 立 master 到 本 机 及 每 个 slave 的 SSH 受 信 证 书, 使 得 master 调 用 SSH 登 录 slave 时, 不 需 要 输 入 密 码, 也 可 以 反 过 来 建 立 slave 到 master 的 受 信 证 书 注 : secondarynamenode 默 认 在 localhost 上, 所 以 也 需 要 构 建 master 到 本 机 的 SSH 受 信 证 书 示 例 : 从 master( ) 到 一 个 slave( ) (1) 查 看 master/slave 上 是 否 含 有 /root/.ssh 文 件 夹, 如 果 没 有, 执 行 ssh-keygen t rsa 命 令, 直 接 enter 结 束, 产 生 /root/.ssh 文 件 夹 ; (2) 将 master 上 的 /root/.ssh 下 的 id_rsa.pub 文 件 发 送 到 slave 的 /root/.ssh 下, 并 将 id 修 改 为 主 机 id, 以 区 分 来 自 哪 台 机 器 的 受 信 在 上 执 行 : scp root@ :/root/.ssh/id_rsa.pub cat 1_rsa.pub >> authorized_keys. /root/.ssh/1_rsa.pub OK, 在 上 用 ssh 登 录 , 输 入 一 次 密 码 之 后, 下 次 登 录 就 不 需 要 密 码 了 5. 在 master 及 slave 上 都 要 补 充 /etc/hosts 文 件 配 置, 将 master 及 slave 的 IP 及 hostname 加 上 : vi /etc/hosts: crawler crawler001 实 验 步 骤 : 1. 下 载 Nutch-1.0.tar.gz 到 master 上, 并 解 压 缩 到 /data/nutch-1.0; 2. 因 为 Nutch-1.0 中 默 认 包 含 了 hadoop core.jar, 就 不 需 要 单 独 下 载 hadoop 了, 只 需 要 修 改 几 个 配 置 文 件 3. 修 改 /data/nutch-1.0/conf/hadoop-site.xml 文 件, 简 单 的 配 置 信 息 如 下 : <?xml version="1.0"?> 创 刊 号 2010 年 1 月 28

33 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.default.name</name> <value>hdfs:// :54310</value> <description>master 的 IP 地 址 加 端 口, 如 果 没 有 冲 突, 不 要 修 改 端 口 </description> </property> <property> <name>mapred.job.tracker</name> <value>hdfs:// :54311</value> <description>jobtraker 的 配 置,master 的 IP 地 址 加 端 口 </description> </property> <property> <name>dfs.replication</name> <value>1</value> <description>replication of dfs system, 测 试 阶 段 可 以 设 为 1</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoopdata/tmp</value> <description>a base for other temporary directories.</description> </property> <property> <name>dfs.data.dir</name> <value>/data/hadoopdata/data</value> <description>determines where on the local filesystem an DFS data node should store its blocks. If this is a comma-delimited list of directories, then data will be stored in all named directories, typically on different devices. Directories that do not exist are ignored. </description> </property> <property> <name>dfs.name.dir</name> <value>/data/hadoopdata/name</value> <description>determines where on the local filesystem the DFS name node list should store the name table(fsimage). If this is a comma-delimited 创 刊 号 2010 年 1 月 29

34 </property> of directories then the name table is replicated in all of the directories, for redundancy. </description> </configuration> 说 明 : 在 hadoop 的 0.20 等 新 版 本 中, 取 消 了 hadoop-site.xml, 取 而 代 之 的 是 hdfssite.xml 及 core-site.xml 两 个 拆 分 的 xml 文 件, 但 在 nutch 1.0 中 还 是 默 认 hadoopsite.xml, 所 以 需 要 把 其 他 信 息 都 集 中 在 hadoop-site.xml 中 ; 4. 根 据 jdk 的 配 置 路 径, 修 改 /data/nutch-1.0/conf/ hadoop-env.sh 中 的 jdk 参 数 配 置 : # The java implementation to use. Required. export JAVA_HOME=/usr/java/jdk1.6.0_11 5. 修 改 /data/nutch-1.0/conf/master, 默 认 的 master 是 localhost, 修 改 配 置 为 master 的 IP 或 机 器 名 这 里 为 : 修 改 /data/nutch-1.0/conf/slaves, 默 认 的 slaves 也 是 localhost 修 改 后 的 slaves: nutch 默 认 的 抓 取 crawl-urlfilter.txt 中 是 skip everything else 的, 为 了 测 试, 我 们 修 改 该 文 件, 以 抓 取 网 站 为 例 修 改 /data/nutch-1.0/conf/crawl-urlfilter.txt 文 件 如 下 : # accept hosts in MY.DOMAIN.NAME #+^ +^ 8. 补 充 conf 下 的 nutch-site.xml, 增 加 http.agent.name 等 必 要 属 性 <property> <name>http.agent.name</name> <value>nutch-1.0</value> <description> </description> </property> 9. 将 master 的 nutch-1.0 拷 贝 到 各 slave 上, 最 好 是 同 样 的 目 录 配 置, 根 据 每 个 slave 的 JAVA_HOME 的 不 同 修 改 hadoop-env.sh; 10. 在 master 上 执 行 bin/hadoop namenode -format, 对 HDFS 进 行 格 式 化 处 理 ; 除 非 删 除 了 master 上 的 hadoop.tmp.dir 目 录 否 则 不 需 要 重 新 执 行 这 个 命 令 11. 调 用 bin/start-all.sh, 测 试 是 否 正 常 如 果 启 动 不 正 常, 最 好 检 查 下 logs 下 面 namenode 及 jobtracker 的 日 志 ; 12. 在 HDFS 上 构 建 爬 虫 主 目 录 crawl 及 rooturl 的 目 录 : bin/hadoop fs mkdir crawl bin/hadoop fs mkdir rooturl 在 master 本 机 建 立 url 入 口 地 址, 这 里 只 添 加 并 上 传 到 HDFS 的 rooturl 目 录 下 : bin/hadoop fs put root.txt rooturl 13. 运 行 爬 虫 命 令 :bin/nutch crawl rooturl dir crawl threads 1 -depth 1 ; 暂 时 使 用 一 个 thread, 抓 取 一 层 ; 14. 命 令 执 行 完 毕, 恭 喜 你 一 轮 爬 虫 已 经 完 成 了, 运 行 bin/hadoop fs ls crawl, 可 以 看 到 抓 取 的 结 果, 包 括 crawldb,linkdb,index,segments 等 ; Nutch 检 索 部 署 ( 主 要 在 master 上 验 证 ) 创 刊 号 2010 年 1 月 30

35 1. 将 HDFS 的 crawl 目 录 下 的 index 及 segments 拷 贝 到 /data/search 目 录 下 ; 2. 将 /data/nutch-1.0/nutch-1.0.war 解 压 缩 到 tomcat 的 webapps 目 录 下 : jar -xvf nutch-1.0.tar /usr/local/tomcat/webapps/nutch 3. 修 改 tomcat/webapps/nutch/web-inf/classes/nutch-site.xml, 添 加 search-dir: <property> <name>searcher.dir</name> <value>/data/search</value> <description></description> </property> 4. 启 动 tomcat, 查 询 测 试 地 址 : 如 果 能 看 到 查 询 页 面, 请 检 索 测 试, 恭 喜 你 成 功 了 经 验 总 结 与 注 意 事 项 : 1. 最 好 在 master 及 每 台 slave 的 /etc/hosts 中 配 置 集 群 中 的 所 有 机 器 ; 2. 尽 量 把 master 及 slaver 的 防 火 墙 关 掉, 不 然 在 调 用 hadoop dfs put 命 令 时, 有 可 能 会 出 现 No route to host 错 误 ; 3. 在 抓 取 之 前, 必 须 确 保 各 个 slave 与 其 他 机 器 的 date 时 间 一 致, 如 果 时 间 不 一 致, 在 generate 时 可 能 会 出 现 generate list 为 空 的 情 况 ; 4. 有 些 网 站 的 robots.txt 对 爬 虫 做 了 限 制, 不 允 许 某 些 爬 虫 抓 取, 如 百 度 知 道 等, 测 试 时 尽 量 不 要 以 这 种 网 页 作 为 例 子 编 后 语 Nutch 只 是 提 供 了 一 个 可 以 用 来 实 现 网 络 爬 虫 的 框 架, 但 真 正 用 到 实 际 环 境 中, 有 很 多 地 方 要 根 据 需 求 进 行 修 改, 包 括 指 定 网 络 爬 虫 设 置 中 文 分 词 的 改 进 爬 虫 增 量 更 新 特 殊 文 档 解 析 方 式 分 布 式 信 息 检 索 等 在 Nutch 的 未 来 1.1 版 本 中,Dog Cutting 那 些 大 师 们 正 准 备 将 hadoop 的 Hbase 这 个 很 强 大 的 数 据 存 储 结 构 也 集 成 进 来, 这 样 会 加 快 crawldb 及 linkdb 的 处 理 过 程, 从 而 提 高 整 个 网 络 爬 虫 的 效 率, 我 们 拭 目 以 待 在 Windows eclipse 上 单 步 调 试 Hive 教 程 作 者 : 一 见 1. 前 言 本 教 程 假 设 你 已 经 掌 握 了 Hadoop 在 Cygwin 上 的 安 装, 以 及 Hive 在 Windows Eclipse 上 的 编 译 技 能, 否 则 请 先 掌 握 安 装 和 编 译 方 法, 才 继 续 往 下 浏 览 2. 参 考 资 料 在 Windows 上 安 装 Hadoop 教 程 Hadoop 源 代 码 eclipse 编 译 教 程 3. 安 装 Hadoop 和 编 译 Hive 创 刊 号 2010 年 1 月 31

36 假 设 Hadoop 安 装 在 E:\hadoop\run 目 录,Hive 源 代 码 存 放 在 E:\hadoop\src\hive 目 录 下, 并 且 Hive 已 经 编 译 通 过 Hadoop 安 装 请 参 考 在 Windows 上 安 装 Hadoop 教 程 一 文, Hive 的 编 译 请 参 考 Hadoop 源 代 码 eclipse 编 译 教 程 一 文 编 译 Hive 成 功 后, 还 不 能 立 即 调 试 Hive, 需 要 先 将 编 译 后 生 成 的 jar 安 装 好 4. 安 装 Hive Hive 和 Hadoop 可 以 安 装 在 不 同 的 目 录 我 们 将 Hive 安 装 到 E:\hadoop\run\hive 目 录 下 1) 在 E:\hadoop\run 下 创 建 hive 子 目 录 ; 2) 将 E:\hadoop\src\hive 目 录 下 的 bin conf 和 lib 三 个 子 目 录 复 制 到 E:\hadoop\run\hive 目 录 下 ( 可 不 复 制 SVN 目 录 ; 3) 将 E:\hadoop\src\hive\build 目 录 下 相 关 的 jar 文 件 都 复 制 到 E:\hadoop\run\hive\lib 目 录 下,README 和 LICENSE 文 件 不 用 复 制 需 要 复 制 的 jar 文 件 如 下 图 所 示 : 其 中 ql 文 件 夹 下 的 lib 如 下 : Hive 的 配 置 文 件 E:\hadoop\run\hive\conf\hive-default.xml 不 需 要 修 改 4) 打 开 eclipse, 选 中 hive 项 目 ( 要 求 保 证 Hive 已 经 编 译 通 过 ), 点 击 菜 单 Run, 选 择 De Debug Configurations, 进 入 配 置 Debug 界 面 : 创 刊 号 2010 年 1 月 32

37 在 Debug Configurations 界 面, 选 中 Java Application, 并 点 击 下 图 所 示 的 New launch configuration 按 钮 : 在 New launch configuration 界 面 中, 点 击 Search earch 按 钮 : 在 弹 出 的 Select Main Type 对 话 框 中, 选 中 CliDriver CliDriver,CliDriver 是 Hive 的 入 口 类, 实 现 了 main 函 数, 如 下 图 所 示 : 确 定 之 后, 返 回 到 Debug Configurations 界 面, 将 New_configuration 改 成 CliDriver, 创 刊 号 2010 年 1 月 33

38 然 后 点 击 Apply 按 钮, 如 下 图 所 示 : 切 换 到 Classpath 界 面 : 点 击 Add External JARs, 将 E:\hadoop\run\hadoop core.jar E:\hadoop\run\lib E:\hadoop\run\lib 和 E:\hadoop\run\hive\lib E:\hadoop\run\hive\lib 两 个 目 录 下 所 有 的 jar 都 添 加 进 来 : 创 刊 号 2010 年 1 月 34

39 接 下 来, 还 需 要 将 Hive 的 conf 目 录 添 加 进 来, 点 击 Advanced Advanced 按 钮, 弹 出 如 下 图 所 示 对 话 框 : 在 上 图 所 示 对 话 框 中, 选 择 Add External Folder, 将 E:\hadoop\run\hive\conf 添 加 进 来, 然 后 点 击 Apply Apply 按 钮, 结 果 如 下 图 所 示 : 创 刊 号 2010 年 1 月 35

40 当 点 击 上 图 所 示 的 Debug 按 钮 后, 将 进 入 如 下 图 所 示 的 界 面 : 由 于 存 在 Bug, 在 Cygwin 环 境 中, 将 无 法 输 入 SQL 语 句, 因 此 在 调 试 之 前, 还 必 须 解 决 或 绕 开 这 个 Bug 下 面 开 始 解 决 这 个 问 题 在 eclipse 中 打 开 CliDriver.java 文 件, 找 到 main 函 数 中 的 如 下 一 行 代 码 : while ((line = reader.readline(curprompt+"> "))!= null) { 将 其 替 换 成 如 下 一 段 代 码 : Scanner sc = new Scanner(System.in); while (true true) { 创 刊 号 2010 年 1 月 36

41 System.out.print(curPrompt+">"); line = sc.nextline(); if (null == line) break; 保 存 修 改, 再 编 译 Hive, 当 编 译 成 功 后, 将 E:\hadoop\src\hive\build\cli\hive_cli.jar 复 制 到 E:\hadoop\run\hive\lib 目 录, 并 覆 盖 掉 原 来 的 hive_cli.jar 到 此, 所 有 准 备 工 作 都 完 成 了, 可 以 开 始 一 步 步 调 试 Hive 了,eclipse 主 要 调 试 快 捷 键 : F11: 运 行 程 序, 进 入 调 试 F5: 单 步, 并 进 入 函 数 内 F6: 单 步, 但 不 进 入 函 数 内 F7: 从 当 前 函 数 内 跳 到 上 一 级 调 用 F8: 一 直 执 行 到 断 点 Ctrl+Shift+B: 添 加 或 删 除 断 点 有 关 eclipse 更 多 的 快 捷 键, 请 参 考 贴 : 如 果 你 的 eclipse 没 有 进 入 Debug 界 面, 请 按 照 下 图 所 示 操 作 即 可 : 应 当 保 证 CliDriver.java 窗 口 是 Debug 界 面 的 活 动 窗 口, 并 在 CliDriver.java 窗 口 按 F11 快 捷 键 进 入 调 试 状 态 5. 编 后 语 调 试 Hive 对 熟 悉 eclipse 开 发 环 境 的 java 熟 手 来 说, 应 当 是 一 件 非 常 容 易 的 事, 本 文 主 要 供 从 C/C++ 等 非 java 语 言 转 过 来 的 Hadoop 开 发 者 欢 迎 大 家 加 入 Hadoop 技 术 论 坛 ( 多 多 交 流 问 题 和 分 享 经 验 创 刊 号 2010 年 1 月 37

42 Hive 应 用 介 绍 作 者 : 李 均 fiberlijun@yahoo.com.cn 1. Hive 简 介 一 场 关 于 进 行 大 规 模 数 据 分 析 的 最 佳 方 法 的 辩 论 正 在 数 据 系 统 界 进 行 着 企 业 阵 容 的 保 守 派 青 睐 于 关 系 数 据 库 和 SQL 语 言, 然 而 互 联 网 阵 容 则 集 中 于 MapReduce 的 开 发 模 式 ( 流 行 于 Google,Hadoop 实 现 开 源 克 隆 ) 业 界 无 人 小 视 这 场 争 论, 最 保 险 的 预 测 是 未 来 将 很 快 发 生 改 变 SQL 和 MapReduce 之 间 的 界 限 已 经 变 得 模 糊 Greenplum 和 Aster Data 两 家 初 创 的 数 据 库 公 司 分 别 推 出 了 集 成 了 SQL 语 言 引 擎 和 MapReduce 的 大 规 模 并 行 系 统 Facebook 的 开 源 项 目 Hive 在 Hadoop 之 上 提 供 了 类 似 于 SQL 的 查 询 语 言 (HQL), 使 不 熟 悉 map/reduce 的 用 户 很 方 便 的 利 用 SQL 语 言 查 询, 汇 总, 分 析 数 据 而 map/reduce 开 发 人 员 可 以 把 自 己 写 的 mapper 和 reducer 作 为 插 件 来 支 持 Hive 做 更 复 杂 的 数 据 分 析 下 面 的 章 节 介 绍 了 如 何 安 装 配 置 Hive 以 及 HQL 语 言 示 例 HQL 支 持 GROUP BY,JOIN, UION, 聚 合 等 查 询, 最 后 介 绍 了 Hive 的 Partition 机 制 和 应 用 2. Hive 安 装 和 配 置 图 1 Hive 设 计 框 架 图 hadoop 集 成 了 hive, 安 装 配 置 起 来 比 往 常 版 本 要 更 加 傻 瓜 化 配 置 下 面 两 个 环 境 变 量 后 就 可 以 启 动 hive 了 : export HADOOP=/usr/local/distribute-hadoop-boss/hadoopenv/hadoop Export IVE_HOME=/usr/local/distribute-hadoop-boss/hadoopenv/hadoop /contrib/hive cd $HIVE_HOME bin/hive 启 动 类 似 mysql 的 shell,hive -f 参 数 直 接 执 行 某 个 文 件 里 的 查 询 语 句 目 录 权 限 配 置 配 置 : /tmp 目 录 配 置 成 所 有 用 户 都 有 write 权 限 Table 对 应 的 目 录 的 owner 必 须 是 hive 启 动 用 户 创 刊 号 2010 年 1 月 38

43 3. 使 用 举 例 3.1. 支 持 的 字 段 数 据 类 型 1) Integers (small is 2 bytes, medium is 4 bytes and big is 8 bytes) 2) Floating point numbers (Single and Double precision) 3) Strings 4) Datetime 5) Boolean 3.2. 创 建 Table,load load 数 据 下 面 的 HQL 语 句 创 建 了 一 个 表 名 为 tcss 的 table, FIELDS TERMINATED BY 指 定 数 据 文 件 各 个 字 段 的 分 割 符 为, CREATE TABLE tcss (domain_id INT, log_time STRING, log_date STRING, log_type INT, uin BIGINT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/hivetest/tcss'; 缺 省 配 置 下,Hive 会 在 hadoop 文 件 系 统 创 建 目 录 /user/hive/warehouse/tcss 来 存 放 数 据 文 件 使 用 location 参 数 可 以 指 定 tcss 表 的 目 录 然 后 直 接 使 用 fs 命 令 把 数 据 文 件 put 到 此 目 录 下 实 现 LOAD 的 操 作 hadoop fs -put./tcss_ _qq.small /user/hivetest/tcss/small1 hadoop fs -put./tcss_ _qq.small /user/hivetest/tcss/small2 Tcss 表 包 含 了 small1 和 small2 两 个 文 件 的 所 有 记 录, 文 件 的 内 容 片 段 如 下 10180, :34:44, ,1001, , :34:46, ,0, , :34:48, ,10180, , :34:50, ,10180, HQL 支 持 把 查 询 结 果 保 存 在 另 一 个 table 里 或 者 是 本 地 的 文 件 INSERT OVERWRITE TABLE tcssout select tcss.* from tcss ; INSERT OVERWRITE DIRECTORY '/tmp/reg_4' FIELD DELIMITER ','select tcss.* from tcss ; 3.3. 表 查 询 用 select 命 令 可 以 查 询 内 容 select count(tcss.uin) from tcss; Hive 把 这 个 查 询 语 句 转 化 成 1 个 mapreduce 任 务 分 配 给 hadoop, 任 务 成 功 后 返 回 结 果 reduce 的 个 数 是 1, 这 是 经 过 语 义 解 析 后 决 定 的 如 果 语 义 解 析 对 reduce 个 数 没 有 特 殊 要 求, 就 采 用 mapred.reduce.tasks 这 个 参 数 作 为 reduce 个 数 创 刊 号 2010 年 1 月 39

44 图 2 Hive 把 HQL 查 询 编 译 成 mapreduce 任 务 简 单 的 select where 查 询 FROM user INSERT OVERWRITE TABLE user_active SELECT user.* WHERE user.active = true; Inner JOIN 查 询 FROM page_view pv JOIN user u ON (pv.userid = u.id) INSERT OVERWRITE TABLE pv_users SELECT pv.*, u.gender, u.age WHERE pv.date = ; HQL 也 支 持 LEFT OUTER, RIGHT OUTER,FULL OUTER JOIN 以 及 多 表 JOIN 查 询 FROM page_view pv JOIN user u ON (pv.userid = u.id) JOIN friend_list f ON (u.id = f.uid) INSERT OVERWRITE TABLE pv_friends SELECT pv.*, u.gender, u.age, f.friends WHERE pv.date = ; 3.4. 聚 合 查 询 为 了 计 算 不 同 性 别 的 独 立 用 户 数, 可 以 用 如 下 的 查 询 FROM pv_users INSERT OVERWRITE TABLE pv_gender_sum SELECT pv_users.gender, count (DISTINCT pv_users.userid) GROUP BY pv_users.gender; 多 次 聚 合 可 以 一 次 完 成, 像 下 面 这 个 查 询, 但 是 两 个 聚 合 的 distinct 一 定 要 相 同 FROM pv_users INSERT OVERWRITE TABLE pv_gender_agg SELECT pv_users.gender, count(distinct pv_users.userid), count(), sum(distinctpv_users.userid) GROUP BY pv_users.gender; 3.5. 其 他 高 级 查 询 Union all Custom map/reduce scripts Co groups Case statement(hive 2.0 支 持 ) 4. Partition 介 绍 创 刊 号 2010 年 1 月 40

45 4.1. 准 备 模 拟 ISD 按 天 上 传 的 目 录 文 件, 我 们 准 备 了./ISD/ 到./ISD/ 六 个 目 录, 每 个 目 录 有 1 个 数 据 文 件 具 体 见 下 图 每 个 目 录 有 1 个 数 据 文 件, 具 体 见 下 图 接 下 来 我 们 要 演 示 如 何 按 日 期 Partition 到 一 个 表 里 4.2. 如 何 Partition 1) 建 立 带 有 Partition 的 表 qzone_partion_t 按 partdate 参 数 做 Partition 存 储, 注 意 partdate 不 是 表 的 真 实 字 段 CREATE TABLE qzone_partion_t ( logid string, datetime1 string, uin1 bigint, datetime2 string, uin2 bigint, ip string, logtype int, mdate string) PARTITIONED BY(partdate DATETIME) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION '/user/distributehadoop-boss/isd_qzone'; 2) 把 hadoop 某 个 目 录 的 文 件 按 Partition 插 入 表 先 建 一 个 临 时 表 映 射 到 目 录 /ISD/ , 表 结 构 和 上 面 的 一 致, 只 是 没 有 partition 参 数 : CREATE EXTERNAL TABLE qzone_ ( logid string, datetime1 string, uin1 bigint, datetime2 string, uin2 bigint, ip string, logtype int, mdate string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION '/user/distribute-hadoop-boss/isd/ '; 再 把 临 时 表 的 所 有 内 容 按 PARTITION(partdate=' ') 参 数 插 入 qzone_partion_t 表 : FROM qzone_ t INSERT OVERWRITE TABLE qzone_partion_t PARTITION(partdate=' ') select *; 上 面 这 个 过 程 其 实 是 一 个 拷 贝 过 程 通 过 map 完 成, 见 下 图 如 果 目 录 内 容 很 大 会 有 一 些 耗 时 通 过 上 述 操 作 我 们 把./ISD/ 到./ISD/ 六 个 目 录 的 数 据 按 日 期 partition 插 入 到 了 qzone_partion_t 表 里 每 个 partition 对 应 一 个 子 目 录, 比 如 : /user/distribute-hadoop-boss/isd_qzone/partdate= 下 面 列 出 了 六 个 partition 对 应 的 目 录 创 刊 号 2010 年 1 月 41

46 4.3. 基 于 Partition 的 查 询 qzone_partion_t 有 到 六 个 partition, 下 面 举 例 说 明 如 何 在 hive 下 做 基 于 partition 的 查 询 : 1. 针 对 某 一 个 partition 日 期 查 询, hive 只 会 对 partition 对 应 的 这 个 目 录 做 mapreduce 计 算 : select count(1) from qzone_partion_t where qzone_partion_t.partdate=' '; 2. 针 对 某 个 partition 区 间 查 询,hive 也 只 会 对 对 相 应 目 录 做 mapreduce 计 算, 比 如 下 面 这 个 例 子, 就 只 有 17 到 22 六 个 目 录 参 与 计 算 : select count(1) from qzone_partion_t where qzone_partion_t.partdate>=' ' and partdate<=' '; Hive 执 行 计 划 解 析 作 者 : 代 志 远 1. 前 言 Hive 是 基 于 Hadoop 构 建 的 一 套 数 据 仓 库 分 析 系 统, 它 提 供 了 丰 富 的 SQL 查 询 方 式 来 分 析 存 储 在 Hadoop 分 布 式 文 件 系 统 中 的 数 据 Hive 可 以 将 结 构 化 的 数 据 的 存 储 存 储 在 数 据 仓 库 中, 通 过 自 己 的 SQL 去 查 询 分 析 需 要 的 内 容, 这 套 SQL 简 称 Hive SQL 它 与 关 系 型 数 据 库 的 SQL 略 有 不 同, 但 支 持 了 绝 大 多 数 的 语 句 如 DDL DML 以 及 常 见 的 聚 合 函 数 连 接 查 询 条 件 查 询 2. 流 程 分 析 创 刊 号 2010 年 1 月 42

47 S Q L 入 口 接 受 指 令 解 析 生 成 执 行 计 划 解 析 执 行 计 划 p la n.xm l 是 否 还 有 MapReduce 任 务 Y E S 生 成 MapReduce 任 务 提 交 J o b H ad oop 集 群 图 1 Hive 任 务 流 程 图 Hive 在 Hadoop 的 架 构 体 系 中 承 担 了 一 个 SQL 解 析 的 过 程, 它 提 供 了 对 外 的 入 口 来 获 取 用 户 的 指 令 然 后 对 指 令 进 行 分 析, 解 析 出 一 个 MapReduce 程 序 组 成 可 执 行 计 划, 并 按 照 该 计 划 生 成 对 应 的 MapReduce 任 务 提 交 给 Hadoop 集 群 处 理, 获 取 最 终 的 结 果 图 1 就 是 一 个 Hive 任 务 流 程 图, 从 图 中 分 析 可 以 看 到 两 个 疑 问 : 1) 为 何 提 交 Job 后 还 会 去 再 执 行 MapReduce 任 务? 2) Plan.xml 是 否 被 共 用? 当 Plan 计 划 生 成 时 xml 的 方 式 保 存 在 HDFS 文 件 系 统 中, 共 有 两 份, 一 份 是 存 在 HDFS 中 不 删 除, 一 份 保 存 在 HDFS 缓 存 区 内, 执 行 结 束 后 会 删 除 任 务 计 划 由 根 任 务 与 子 任 务 构 成, 整 个 任 务 计 划 可 能 会 包 含 多 个 MapReduce 任 务 和 非 MapReduce 任 务, 一 个 MapReduce 任 务 中 的 执 行 计 划 也 会 包 括 子 任 务, 当 该 MapReduce 任 务 做 为 一 个 Job 提 交 的 时 候 会 根 据 执 行 计 划 里 的 任 务 流 程 进 行 MapReduce 处 理 然 后 汇 总 进 行 下 一 步 操 作 在 整 个 的 任 务 执 行 中,HiveSql 任 务 经 历 了 语 法 解 析 -> 生 成 执 行 Task 树 -> 生 成 执 行 计 划 -> 分 发 任 务 ->MapReduce 任 务 执 行 任 务 计 划 的 这 样 一 个 过 程 下 面 我 们 就 从 一 个 具 体 的 SQL 实 例 来 分 析 下 Hive 中 执 行 的 任 务 计 划 : INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value FROM src src1 JOIN src src2 ON (src1.key = src2.key); 该 实 例 是 将 表 src 做 内 连 接 查 询, 并 将 结 果 插 入 到 目 标 表 dest_j1 中 语 法 解 析 -> 生 成 执 行 Task 过 程 : 创 刊 号 2010 年 1 月 43

48 SemanticAnalyzerFactory +g et() : BaseSemanticAnalyzer BaseSemanticAnalyzer +analyzeinternal(in : ASTNode) +genmapredtasks(in : Q B ) +getplan(in : Q B ) Q B D river +compile() : in t +execute( ) +g et() : BaseSemanticAnalyzer +getchild() : ASTNode +p arse () : ASTNode SemanticAnalyzer +analyze( ) +validate( ) ASTNode +getchild() : ASTNode Context ParseDriver +p arse () : ASTNode 图 2 语 法 解 析 -> 执 行 流 程 图 在 这 个 过 程 中 经 历 如 下 几 个 处 理 : SQL 抽 象 语 法 树 -> QB(Query Block) -> 逻 辑 计 划 树 (Operator) -> 执 行 计 划 树 (Task) 1. 抽 象 语 法 树 的 生 成 图 3 就 是 在 语 法 解 析 过 程 中 的 类 之 间 的 关 系 在 程 序 编 译 过 程 中 antlr 解 析 Hive.g 文 件 会 生 成 HiveLexer.java 与 HiveParser.java 这 两 个 类, 用 于 使 用 整 型 数 据 匹 配 输 入 的 sql 字 段,HiveParser 通 过 statement 方 法 生 成 对 应 的 语 法 树, 并 通 过 statement_return 的 gettree 方 法 返 回 HiveParser T o kenstrea m HiveLexer +execstatement( ) +statement() : statement_retu rn statement _r r etur r n -leaf -HiveParser +gettree () : ASTNode HiveParserX +settreeadaptor(in : CommonTreeAdaptor) TokenRewriteStream HiveLexerX CommonTreeAdaptor ANTLRNoCaseStringStream 图 3 语 法 解 析 过 程 中 的 类 之 间 的 关 系 方 法 statement 的 通 过 HiveParser 得 到 的 处 理 判 断 操 作 的 流 程, 如 果 是 explain 就 执 行 explainstatement 分 析 计 划, 如 果 是 add insert select load create 等 DML 或 DDL 创 刊 号 2010 年 1 月 44

49 操 作 会 执 行 的 execstatement 解 析 语 法 execstatement 的 逻 辑 : 根 据 类 型 判 断 分 为 load query ddl 例 子 中 的 sql 是 先 query 后 load 的 过 程,query 过 程 中 sql 用 union 与 all 分 割, 分 割 后 的 单 SQL 语 法 体 为 : insertclause selectclause fromclause ( whereclause )? ( groupbyclause )? ( orderbyclause )? ( clusterbyclause )? ( distributebyclause )? ( sortbyclause )? ( limitclause )? -> ^( TOK_QUERY fromclause ^( TOK_INSERT insertclause selectclause ( whereclause )? ( groupbyclause )? ( orderbyclause )? ( clusterbyclause )? ( distributebyclause )? ( sortbyclause )? ( limitclause )? ) ) selectstatement ) 自 然 在 这 里 会 根 据 antlr 已 定 义 的 语 法 规 则 中 将 sql 解 析 成 语 法 树 2. 抽 象 语 法 树 -> QB -> 逻 辑 计 划 树 -> 执 行 计 划 树 (Task) 在 这 个 过 程 中 要 进 行 四 步 处 理 : 1) 逻 辑 计 划 生 成 QB 中 使 用 QBParseInfo 记 录 逻 辑 树 的 信 息, 针 对 已 生 成 的 语 法 树, 在 这 里 对 它 进 行 分 析 对 独 立 的 SQL 进 行 select from where orderby groupby limit 的 分 析 并 加 载 到 QBParseInfo 中, 如 果 是 复 合 查 询 的 话 自 然 在 语 法 树 种 记 录 了 树 结 构, 递 归 分 析 当 前 语 法 树 的 子 查 询 : public void dophase1(astnode ast, QB qb, Phase1Ctx ctx_1) { QBParseInfo qbp = qb.getparseinfo(); boolean skiprecursion = false; if (ast.gettoken()!= null) { } skiprecursion = true; switch (ast.gettoken().gettype()) {... } case HiveParser.TOK_SELECT:...//select case HiveParser.TOK_WHERE:...//where case HiveParser.TOK_FROM:...//from case HiveParser.TOK_SORTBY:...//sort case HiveParser.TOK_ORDERBY:...//order case HiveParser.TOK_GROUPBY:...//group case HiveParser.TOK_LIMIT:...//limit case HiveParser.TOK_UNION:...//union default: skiprecursion = false; break; if (!skiprecursion) { // 迭 代 子 查 询 int child_count = ast.getchildcount(); for (int child_pos = 0; child_pos < child_count; ++child_pos) { } // 递 归 dophase1((astnode) ast.getchild(child_pos), qb, ctx_1); } 创 刊 号 2010 年 1 月 45

50 } 2) 获 取 元 数 据 在 Hive 系 统 中 每 个 表 以 hdfs 路 径 的 形 式 保 存, 数 据 存 储 在 表 路 径 中, 与 数 据 相 关 的 表 信 息 存 储 在 数 据 库 中 作 为 元 数 据 3) 生 成 MapReduce 执 行 计 划 获 取 该 操 作 信 息 处 理 jo i n 是 否 唯 一 jo i n 否 合 并 jo i n 是 Y e s 生 成 单 个 jo i n 操 作 还 有 操 作 4) MapReduce 任 务 计 划 分 析 图 4 生 成 MapReduce 执 行 计 划 流 图 Hive 中 提 供 了 一 个 非 常 有 用 的 计 划 分 析 策 略 以 帮 助 开 发 人 员 分 析 执 行 计 划, 在 执 行 语 句 的 头 部 加 上 explain 的 形 式 : EXPLAIN INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value FROM src src1 JOIN src src2 ON (src1.key = src2.key); 输 入 查 询 能 得 到 如 下 结 果 : STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 STAGE PLANS: Stage: Stage-1 Map Reduce Alias -> Map Operator Tree: src2 TableScan alias: src2 Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: 创 刊 号 2010 年 1 月 46

51 expr: key type: int tag: 1 value expressions: expr: value type: string src1 TableScan alias: src1 Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 0 value expressions: expr: key type: int Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 {VALUE._col1} outputcolumnnames: _col0, _col3 Select Operator expressions: expr: _col0 type: int expr: _col3 type: string outputcolumnnames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 1 table: input org.apache.hadoop.mapreduce.lib.input.textinputformat output org.apache.hadoop.hive.ql.io.hiveignorekeytextoutputformat format: format: 创 刊 号 2010 年 1 月 47

52 Stage: Stage-0 Move Operator tables: replace: true table: serde: org.apache.hadoop.hive.serde2.lazy.lazysimpleserde name: dest_j1 inputformat:org.apache.hadoop.mapreduce.lib.input.textinputformat outputformat:org.apache.hadoop.hive.ql.io.hiveignorekeytextoutputformat serde: org.apache.hadoop.hive.serde2.lazy.lazysimpleserde name: dest_j1 在 信 息 的 头 部 我 们 看 到 了 : Stage-1 is a root stage Stage-0 depends on stages: Stage-1 从 这 里 可 以 看 出 Plan 计 划 的 Job 任 务 结 构, 整 个 任 务 会 分 为 两 个 Job 执 行, 第 一 个 Job 处 理 由 Stage-1 构 成, 第 二 个 Job 将 由 Stage-2 构 成,Stage-2 的 处 理 必 须 依 赖 Stage-1 阶 段 的 结 果 下 面 来 对 Stage-1 和 Stage-2 分 别 进 行 解 释 : 从 我 们 的 SQL 中 我 们 先 将 其 分 解 为 两 步 : (1) 连 接 查 询 : SELECT src1.key, src2.value FROM src src1 JOIN src src2 ON (src1.key = src2.key); (2) insert overwrite into dest_j1; Stage-1 应 对 第 一 步 操 作, 从 explains 的 信 息 中 我 们 看 到 了 Map Operator Tree 与 Reduce Operator Tree 两 步 操 作 Stage-1 对 应 一 次 完 整 的 MapReduce 任 务 Map Operator Tree 对 应 的 是 Map 阶 段,Reduce Operator Tree 对 应 的 是 Reduce 阶 段 从 Map Operator Tree 我 们 看 到 了 两 个 并 列 的 操 作 src1 与 src2, 分 析 SQL 语 句 可 以 知 道 src1 与 src2 分 别 是 连 接 查 询 的 元 数 据 列, 就 如 同 执 行 了 select * from src src1; 与 select * from src src2; 两 个 Map 任 务 产 生 的 输 出 成 为 了 Reduce 的 输 入 文 件 从 Reduce Operator Tree 分 析 可 以 看 到 如 下 信 息, 条 件 连 接 Map 的 输 出 以 及 通 过 预 定 义 的 输 出 格 式 生 成 符 合 dest_j1 的 存 储 格 式 的 数 据 存 储 到 HDFS 中 在 我 们 创 建 dest_j1 表 的 时 候, 没 有 指 定 该 表 的 存 储 格 式, 默 认 会 以 Text 为 存 储 格 式, 输 入 输 出 会 以 TextInputFormat 与 TextOutputFormat 进 行 读 写 : table: inputformat: org.apache.hadoop.mapreduce.lib.input.textinputformat outputformat: org.apache.hadoop.hive.ql.io.hiveignorekeytextoutputformat serde: org.apache.hadoop.hive.serde2.lazy.lazysimpleserde name: dest_j1 input format 的 值 对 应 org.apache.hadoop.mapreduce.lib.input.textinputformat, 这 是 因 为 在 开 始 的 Map 阶 段 产 生 的 临 时 输 出 文 件 是 以 TextOutputFormat 格 式 保 存 的, 自 然 Reduce 的 读 取 是 由 TextInputFormat 格 式 处 理 读 入 数 据 这 些 是 由 Hadoop 的 MapReduce 处 理 细 节 来 控 制, 而 Hive 只 需 要 指 定 处 理 格 式 即 可 创 刊 号 2010 年 1 月 48

53 Serde 值 为 org.apache.hadoop.hive.serde2.lazy.lazysimpleserde 类, 这 时 这 个 对 象 的 保 存 的 值 为 _col0 _col1, 也 就 是 我 们 预 期 要 查 询 的 src1.key 与 src2.value, 这 个 值 具 体 的 应 该 为 _col0+ 表 dest_j1 设 置 的 列 分 割 符 +_col1 outputformat:org.apache.hadoop.hive.ql.io.hiveignorekeytextoutputformat 可 以 知 道 output 的 处 理 是 使 用 该 类 来 处 理 的 注 意, 通 常 我 们 使 用 的 Hadoop 程 序 中 看 到 OutFormat 的 RecordWriter 中 方 法 write(key,value) 是 同 时 输 出 key 与 value 值, 而 在 这 里 LazySimpleSerDe 的 值 就 作 为 value 值 传 给 了 write 方 法,key 为 空 通 过 分 析 HiveIgnoreKeyTextOutputFormat 的 代 码 可 以 进 一 步 验 证 : Protected static class IgnoreKeyWriter extends RecordWriter{ public synchronized void write(k key, V value) throws IOException { this.mwriter.write(null, value); } } Stage-2 对 应 上 面 提 到 的 第 二 步 操 作 这 时 stage-1 产 生 的 临 时 处 理 文 件 举 例 如 tmp, 需 要 经 过 stage-2 阶 段 操 作 处 理 到 dest_j1 表 中 Move Operator 代 表 了 这 并 不 是 一 个 MapReduce 任 务, 只 需 要 调 用 MoveTask 的 处 理 就 行, 在 处 理 之 前 会 去 检 查 输 入 文 件 是 否 符 合 dest_j1 的 存 储 格 式, 如 :HiveFileFormatUtils.checkInputFormat() 格 式 符 合 临 时 文 件 导 入 到 目 标 文 件 夹 里 即 可, 代 码 如 : db.loadtable(new Path(tbd.getSourceDir()), tbd.gettable().gettablename(), tbd.getreplace(), new Path(tbd.getTmpDir())); if (work.getoutputs()!= null) work.getoutputs().add(new WriteEntity(table)); 3. 编 后 语 以 上 过 程 为 Hive 系 统 在 接 受 一 个 SQL 语 句 并 分 析 语 法 到 生 成 执 行 计 划 到 分 配 任 务 的 过 程, 由 于 文 章 篇 幅 有 限 不 能 详 细 讲 解, 后 期 的 杂 志 中, 我 们 会 详 细 介 绍 每 个 过 程, 并 通 过 实 例 和 通 用 技 术 的 结 合 让 大 家 进 一 步 学 习 和 了 解 创 刊 号 2010 年 1 月 49

54 MapReduce 中 的 Shuffle 和 Sort 分 析 作 者 :Spork MapReduce 是 现 今 一 个 非 常 流 行 的 分 布 式 计 算 框 架, 它 被 设 计 用 于 并 行 计 算 海 量 数 据 第 一 个 提 出 该 技 术 框 架 的 是 Google 公 司, 而 Google 的 灵 感 则 来 自 于 函 数 式 编 程 语 言, 如 LISP,Scheme,ML 等 MapReduce 框 架 的 核 心 步 骤 主 要 分 两 部 分 :Map 和 Reduce 当 你 向 MapReduce 框 架 提 交 一 个 计 算 作 业 时, 它 会 首 先 把 计 算 作 业 拆 分 成 若 干 个 Map 任 务, 然 后 分 配 到 不 同 的 节 点 上 去 执 行, 每 一 个 Map 任 务 处 理 输 入 数 据 中 的 一 部 分, 当 Map 任 务 完 成 后, 它 会 生 成 一 些 中 间 文 件, 这 些 中 间 文 件 将 会 作 为 Reduce 任 务 的 输 入 数 据 Reduce 任 务 的 主 要 目 标 就 是 把 前 面 若 干 个 Map 的 输 出 汇 总 到 一 起 并 输 出 从 高 层 抽 象 来 看,MapReduce [1] 的 数 据 流 图 如 图 1 所 示 : 图 1 MapReduce 高 层 数 据 流 图 本 文 的 重 点 是 剖 析 MapReduce 的 核 心 过 程 Shuffle 和 Sort 在 本 文 中,Shuffle 是 指 从 Map 产 生 输 出 开 始, 包 括 系 统 执 行 排 序 以 及 传 送 Map 输 出 到 Reducer 作 为 输 入 的 过 程 在 这 里 我 们 将 去 探 究 Shuffle 是 如 何 工 作 的, 因 为 对 基 础 的 理 解 有 助 于 对 MapReduce 程 序 进 行 调 优 首 先 从 Map 端 开 始 分 析 当 Map 开 始 产 生 输 出 时, 它 并 不 是 简 单 的 把 数 据 写 到 磁 盘, 因 为 频 繁 的 磁 盘 操 作 会 导 致 性 能 严 重 下 降 它 的 处 理 过 程 更 复 杂, 数 据 首 先 是 写 到 内 存 中 的 一 个 缓 冲 区, 并 做 了 一 些 预 排 序, 以 提 升 效 率 如 图 2 所 示 : 创 刊 号 2010 年 1 月 50

55 图 2 MapReduce 中 的 Shuffle 和 Sort 过 程 每 个 Map 任 务 都 有 一 个 用 来 写 入 输 出 数 据 的 循 环 内 存 缓 冲 区 这 个 缓 冲 区 默 认 大 小 是 100MB, 可 以 通 过 io.sort.mb 属 性 来 设 置 具 体 大 小 当 缓 冲 区 中 的 数 据 量 达 到 一 个 特 定 阀 值 (io.sort.mb * io.sort.spill.percent, 其 中 io.sort.spill.percent 默 认 是 0.80) 时, 系 统 将 会 启 动 一 个 后 台 线 程 把 缓 冲 区 中 的 内 容 spill 到 磁 盘 在 spill 过 程 中,Map 的 输 出 将 会 继 续 写 入 到 缓 冲 区, 但 如 果 缓 冲 区 已 满,Map 就 会 被 阻 塞 直 到 spill 完 成 spill 线 程 在 把 缓 冲 区 的 数 据 写 到 磁 盘 前, 会 对 它 进 行 一 个 二 次 快 速 排 序, 首 先 根 据 数 据 所 属 的 partition 排 序, 然 后 每 个 partition 中 再 按 Key 排 序 输 出 包 括 一 个 索 引 文 件 和 数 据 文 件 如 果 设 定 了 Combiner, 将 在 排 序 输 出 的 基 础 上 运 行 Combiner 就 是 一 个 Mini Reducer, 它 在 执 行 Map 任 务 的 节 点 本 身 运 行, 先 对 Map 的 输 出 做 一 次 简 单 Reduce, 使 得 Map 的 输 出 更 紧 凑, 更 少 的 数 据 会 被 写 入 磁 盘 和 传 送 到 Reducer spill 文 件 保 存 在 由 mapred.local.dir 指 定 的 目 录 中,Map 任 务 结 束 后 删 除 每 当 内 存 中 的 数 据 达 到 spill 阀 值 的 时 候, 都 会 产 生 一 个 新 的 spill 文 件, 所 以 在 Map 任 务 写 完 它 的 最 后 一 个 输 出 记 录 时, 可 能 会 有 多 个 spill 文 件 在 Map 任 务 完 成 前, 所 有 的 spill 文 件 将 会 被 归 并 排 序 为 一 个 索 引 文 件 和 数 据 文 件, 如 图 3 所 示 这 是 一 个 多 路 归 并 过 程, 最 大 归 并 路 数 由 io.sort.factor 控 制 ( 默 认 是 10) 如 果 设 定 了 Combiner, 并 且 spill 文 件 的 数 量 至 少 是 3( 由 min.num.spills.for.combine 属 性 控 制 ), 那 么 Combiner 将 在 输 出 文 件 被 写 入 磁 盘 前 运 行 以 压 缩 数 据 图 3 Map 任 务 的 最 终 输 出 文 件 创 刊 号 2010 年 1 月 51

56 对 写 入 到 磁 盘 的 数 据 进 行 压 缩 ( 这 种 压 缩 同 Combiner 的 压 缩 不 一 样 ) 通 常 是 一 个 很 好 的 方 法, 因 为 这 样 做 使 得 数 据 写 入 磁 盘 的 速 度 更 快, 节 省 磁 盘 空 间, 并 减 少 需 要 传 送 到 Reducer 的 数 据 量 默 认 输 出 是 不 被 压 缩 的, 但 可 以 很 简 单 的 设 置 mapred.compress.map.output 为 true 启 用 该 功 能 压 缩 所 使 用 的 库 由 mapred.map.output.compression.codec 来 设 定, 目 前 主 要 有 以 下 几 个 压 缩 格 式, 见 表 1 表 1 Hadoop 支 持 的 压 缩 格 式 压 缩 格 式 工 具 算 法 扩 展 名 支 持 分 卷 是 否 可 分 割 DEFLATE 无 DEFLATE.deflate 不 支 持 不 可 以 gzip gzip DEFLATE.gz 不 支 持 不 可 以 当 spill 文 件 归 并 完 毕 后,Map 将 删 除 所 有 的 临 时 spill 文 件, 并 告 知 TaskTracker 任 务 已 完 成 Reducers 通 过 HTTP 来 获 取 对 应 的 数 据 用 来 传 输 partitions 数 据 的 工 作 线 程 个 数 由 tasktracker.http.threads 控 制, 这 个 设 定 是 针 对 每 一 个 TaskTracker 的, 并 不 是 单 个 Map, 默 认 值 为 40, 在 运 行 大 作 业 的 大 集 群 上 可 以 增 大 以 提 升 数 据 传 输 速 率 现 在 让 我 们 转 到 Shuffle 的 Reduce 部 分 Map 的 输 出 文 件 放 置 在 运 行 Map 任 务 的 TaskTracker 的 本 地 磁 盘 上 ( 注 意 :Map 输 出 总 是 写 到 本 地 磁 盘, 但 Reduce 输 出 不 是, 一 般 是 写 到 HDFS), 它 是 运 行 Reduce 任 务 的 TaskTracker 所 需 要 的 输 入 数 据 Reduce 任 务 的 输 入 数 据 分 布 在 集 群 内 的 多 个 Map 任 务 的 输 出 中,Map 任 务 可 能 会 在 不 同 的 时 间 内 完 成, 只 要 有 其 中 的 一 个 Map 任 务 完 成,Reduce 任 务 就 开 始 拷 贝 它 的 输 出 这 个 阶 段 称 之 为 拷 贝 阶 段 Reduce 任 务 拥 有 多 个 拷 贝 线 程, 可 以 并 行 的 获 取 Map 输 出 可 以 通 过 设 定 mapred.reduce.parallel.copies 来 改 变 线 程 数, 默 认 是 5 Reducer 是 怎 么 知 道 从 哪 些 TaskTrackers 中 获 取 Map 的 输 出 呢? 当 Map 任 务 完 成 之 后, 会 通 知 它 们 的 父 TaskTracker, 告 知 状 态 更 新, 然 后 TaskTracker 再 转 告 JobTracker 这 些 通 知 信 息 是 通 过 心 跳 通 信 机 制 传 输 的 因 此 针 对 一 个 特 定 的 作 业,JobTracker 知 道 Map 输 出 与 TaskTrackers 的 映 射 关 系 Reducer 中 有 一 个 线 程 会 间 歇 的 向 JobTracker 询 问 Map 输 出 的 地 址, 直 到 把 所 有 的 数 据 都 取 到 在 Reducer 取 走 了 Map 输 出 之 后,TaskTrackers 不 会 立 即 删 除 这 些 数 据, 因 为 Reducer 可 能 会 失 败 它 们 会 在 整 个 作 业 完 成 后,JobTracker 告 知 它 们 要 删 除 的 时 候 才 去 删 除 如 果 Map 输 出 足 够 小, 它 们 会 被 拷 贝 到 Reduce TaskTracker 的 内 存 中 ( 缓 冲 区 的 大 小 由 mapred.job.shuffle.input.buffer.percent 控 制, 制 定 了 用 于 此 目 的 的 堆 内 存 的 百 分 比 ); 如 果 缓 冲 区 空 间 不 足, 会 被 拷 贝 到 磁 盘 上 当 内 存 中 的 缓 冲 区 用 量 达 到 一 定 比 例 阀 值 ( 由 mapred.job.shuffle.merge.threshold 控 制 ), 或 者 达 到 了 Map 输 出 的 阀 值 大 小 ( 由 mapred.inmem.merge.threshold 控 制 ), 缓 冲 区 中 的 数 据 将 会 被 归 并 然 后 spill 到 磁 盘 拷 贝 来 的 数 据 叠 加 在 磁 盘 上, 有 一 个 后 台 线 程 会 将 它 们 归 并 为 更 大 的 排 序 文 件, 这 样 做 节 省 了 后 期 归 并 的 时 间 对 于 经 过 压 缩 的 Map 输 出, 系 统 会 自 动 把 它 们 解 压 到 内 存 方 便 对 其 执 行 归 并 ZIP zip DEFLATE.zip 支 持 可 以 bzip2 bzip2 bzip2.bz2 不 支 持 可 以 LZO lzop LZO.lzo 不 支 持 不 可 以 当 所 有 的 Map 输 出 都 被 拷 贝 后,Reduce 任 务 进 入 排 序 阶 段 ( 更 恰 当 的 说 应 该 是 归 并 阶 段, 因 为 排 序 在 Map 端 就 已 经 完 成 ), 这 个 阶 段 会 对 所 有 的 Map 输 出 进 行 归 并 排 序, 这 个 工 作 会 重 复 多 次 才 能 完 成 假 设 这 里 有 50 个 Map 输 出 ( 可 能 有 保 存 在 内 存 中 的 ), 并 且 归 并 因 子 是 10( 由 io.sort.factor 控 制, 就 像 Map 端 的 merge 一 样 ), 那 最 终 需 要 5 次 归 并 每 次 归 并 会 把 10 个 文 件 归 并 为 一 个, 最 终 生 成 5 个 中 间 文 件 在 这 一 步 之 后, 系 统 不 再 把 5 个 中 间 文 件 归 并 创 刊 号 2010 年 1 月 52

57 成 一 个, 而 是 排 序 后 直 接 喂 给 Reduce 函 数, 省 去 向 磁 盘 写 数 据 这 一 步 最 终 归 并 的 数 据 可 以 是 混 合 数 据, 既 有 内 存 上 的 也 有 磁 盘 上 的 由 于 归 并 的 目 的 是 归 并 最 少 的 文 件 数 目, 使 得 在 最 后 一 次 归 并 时 总 文 件 个 数 达 到 归 并 因 子 的 数 目, 所 以 每 次 操 作 所 涉 及 的 文 件 个 数 在 实 际 中 会 更 微 妙 些 譬 如, 如 果 有 40 个 文 件, 并 不 是 每 次 都 归 并 10 个 最 终 得 到 4 个 文 件, 相 反 第 一 次 只 归 并 4 个 文 件, 然 后 再 实 现 三 次 归 并, 每 次 10 个, 最 终 得 到 4 个 归 并 好 的 文 件 和 6 个 未 归 并 的 文 件 要 注 意, 这 种 做 法 并 没 有 改 变 归 并 的 次 数, 只 是 最 小 化 写 入 磁 盘 的 数 据 优 化 措 施, 因 为 最 后 一 次 归 并 的 数 据 总 是 直 接 送 到 Reduce 函 数 那 里 在 Reduce 阶 段,Reduce 函 数 会 作 用 在 排 序 输 出 的 每 一 个 key 上 这 个 阶 段 的 输 出 被 直 接 写 到 输 出 文 件 系 统, 一 般 是 HDFS 在 HDFS 中, 因 为 TaskTracker 节 点 也 运 行 着 一 个 DataNode 进 程, 所 以 第 一 个 块 备 份 会 直 接 写 到 本 地 磁 盘 到 此,MapReduce 的 Shuffle 和 Sort 分 析 完 毕 海 量 数 据 存 储 和 计 算 平 台 的 调 试 器 研 究 作 者 : 一 见 1. 前 言 在 Hadoop 的 基 础 上, 提 出 一 种 新 的 调 度 器 模 型, 试 图 达 到 并 行 高 效 灵 活 和 资 源 最 大 化 利 用 的 目 的 本 文 研 究 的 基 础 建 立 在 存 储 和 计 算 的 均 衡 之 上, 有 关 均 衡 的 话 题 请 参 见 探 讨 MapReduce 模 型 的 改 进 一 文 2. 集 群 结 构 集 群 中 只 存 在 两 类 节 点 : 调 度 节 点 和 工 作 节 点 创 刊 号 2010 年 1 月 53

58 3. 适 用 场 景 本 调 度 器 适 用 以 下 应 用 场 景 : 需 要 充 分 利 用 CPU 等 硬 件 资 源 需 要 多 Job 并 行 运 行 需 要 设 置 不 同 的 Job 运 行 级 别 对 紧 急 情 况 ( 如 领 导 要 求 出 某 份 数 据 ) 的 支 持 4. Job 和 Task Job 直 接 面 向 用 户, 由 用 户 提 交, 并 且 用 户 可 以 控 制 它 的 运 行 每 一 个 Job 都 被 划 分 成 若 干 个 Task 只 有 Job 有 优 先 级,Task 是 没 有 优 先 级 概 念 的 5. Job 优 先 级 Job 的 优 先 级 概 念 分 三 类 : 5.1. 建 议 优 先 级 建 议 优 先 级 是 用 户 在 提 交 Job 时 指 定, 共 分 五 个 等 级, 它 并 不 代 表 实 际 运 行 时 的 级 别 支 持 在 运 行 时 调 整 优 先 级 5.2. 实 际 优 先 级 Job 实 际 运 行 时 的 优 先 级, 由 调 度 器 根 据 建 议 优 先 级 和 Job 进 入 队 列 的 时 间 动 态 计 算 出 Job 进 入 队 列 的 时 间 越 长, 那 么 它 的 实 际 优 先 级 也 会 越 高, 目 的 是 防 止 低 优 先 级 的 Job 被 饿 死, 得 不 到 被 执 行 的 机 会 5.3. 绝 对 优 先 级 当 有 突 发 事 件 或 系 统 故 障 恢 复 后, 可 能 存 在 一 些 非 常 紧 急 的 Job, 它 必 须 第 一 时 间 内 完 成 它, 所 以 定 义 出 绝 对 优 先 级 该 优 先 级 的 Job 执 行 时, 独 占 所 有 资 源, 其 它 的 Job 都 必 须 无 条 件 地 让 出 资 源 可 以 有 多 个 绝 对 优 先 级 Job, 多 个 绝 对 优 先 级 的 Job 之 间 是 串 型 运 行 的, 即 同 一 时 刻 只 会 有 一 个 绝 对 优 先 级 在 运 行 另 外, 还 可 以 降 低 绝 对 优 先 级 Job 为 普 通 优 先 级 Job 优 先 级 类 型 特 性 实 际 优 先 级 由 建 议 优 先 级 和 入 队 时 间 共 同 决 定, 每 个 时 间 片 后 需 要 重 新 计 普 通 优 先 级 Job 算 实 际 优 先 级 值 绝 对 优 先 级 Job 实 际 优 先 级 只 由 入 队 时 间 决 定, 只 能 串 型 运 行, 入 队 时 间 越 早 优 先 级 越 高 6. 时 间 片 和 Task 操 作 系 统 的 调 度 器 是 有 时 间 片 概 念 的, 以 达 到 并 多 进 程 并 发 运 行 的 目 的 同 样, MapReduce 的 调 度 也 可 以 借 用 这 个 思 想, 问 题 的 关 键 演 变 为 如 何 确 定 时 间 片 由 于, 我 们 面 对 的 是 海 量 数 据, 因 此 通 常 每 一 个 Job 都 会 被 分 解 成 大 量 的 Task, 而 且 每 个 Task 的 粒 度 在 可 调 整 的 64M 左 右, 所 以 可 以 将 一 个 Task 作 为 一 个 时 间 片, 也 就 是 将 一 个 Task 作 为 一 个 原 子 操 作 看 待, 在 一 个 Task 运 行 过 程 中 是 不 可 以 中 断 的 一 个 Task 作 为 一 个 调 度 时 间 片, 是 本 调 度 器 最 核 心 的 思 想 7. 调 度 准 则 创 刊 号 2010 年 1 月 54

59 在 任 何 时 候, 只 要 有 空 闲 的 CPU CORE, 而 且 有 待 调 度 的 Task, 那 么 Task 即 可 被 分 配 到 空 闲 的 CPU CORE 上, 即 使 当 前 的 Job 是 否 处 于 绝 对 优 先 级, 目 的 是 为 了 最 大 的 利 用 硬 件 资 源 因 为 并 不 是 所 有 的 绝 对 优 先 级 Job 都 能 够 完 全 充 分 的 利 用 所 有 的 CPU CORE, 所 以 如 果 不 这 样 做, 就 会 浪 费 部 分 CPU CORE, 达 不 到 充 分 利 用 硬 件 资 源 的 目 的 将 一 个 节 点 划 分 为 N 个 Slots,N 值 等 于 该 节 点 的 CPU CORE 个 数, 也 就 是 一 个 节 点 最 多 可 以 运 行 与 CPU CORE 个 数 相 等 的 Task, 这 些 Tasks 可 以 分 属 于 不 同 的 Job 8. 性 能 估 计 由 于 本 调 度 策 略 充 分 利 用 了 硬 件 资 源, 具 体 到 了 每 一 壳 CPU CORE 的 粒 度, 不 管 是 串 型 还 是 并 行, 都 不 会 有 CPU CORE 的 浪 费, 所 以 总 的 性 能 应 当 是 各 调 度 策 略 中 最 高 的 操 作 系 统 进 程 间 的 切 换, 通 常 是 一 个 较 大 的 开 销, 但 MapReduce 中 Job 的 切 换 开 销 可 以 忽 略 不 计, 因 为 这 个 动 作 是 在 调 度 节 点 完 成 的, 工 作 节 点 并 不 参 与 9. 内 存 估 计 一 个 工 作 节 点 上, 同 一 时 刻 只 会 有 CPU CORE 个 数 的 Task 在 运 行, 所 以 工 作 节 点 对 内 存 的 需 求 很 低 工 作 节 点 的 内 存 占 用 主 要 分 三 部 分 : 框 架 公 共 部 分 内 存 Tasks 框 架 占 用 内 存 和 Tasks 业 务 占 用 内 存 其 中, 框 架 公 共 部 分 内 存 占 用 约 在 100M 以 内, 单 个 Task 框 架 内 存 占 用 约 在 100M( 假 设 一 个 block 大 小 为 64M, 且 一 次 性 将 它 映 射 到 内 存 ) 以 内., 一 个 带 4 个 CPU CORE 的 节 点 需 要 的 内 存 也 不 会 超 过 1G, 其 余 的 内 存 供 Tasks 业 务 使 用 因 此, 节 点 机 器 的 物 理 内 存 达 到 2G 即 可 满 足 运 行 需 求 创 刊 号 2010 年 1 月 55

60 探 讨 MapReduce 模 型 的 改 进 作 者 : 一 见 1. 需 要 什 么? 到 底 需 要 什 么 了? 不 同 的 人 会 有 不 同 的 回 答 要 求 系 统 稳 定 高 效 和 易 于 维 护? 这 些 不 能 算 是 答 案, 因 为 几 乎 所 有 的 系 统 都 有 这 样 的 要 求 如 果 数 据 量 一 直 在 以 TB 级 的 数 量 增 长, 系 统 需 要 支 撑 PB 量 级, 甚 至 EB 量 级 时, 什 么 样 的 系 统 才 能 满 足 这 样 的 需 求? 答 案 只 有 一 个, 那 就 是 具 备 线 性 扩 展 能 力 的 系 统 可 以 从 不 同 的 角 度 来 看 待 这 个 问 题 : 从 用 户 角 度 来 看 : 需 要 具 备 线 性 扩 展 能 力 ; 从 存 储 和 计 算 的 分 层 角 度 来 看 : 存 储 和 计 算 两 个 层 面 都 需 要 具 备 线 性 扩 展 能 力 ; 从 元 数 据 管 理 的 角 度 来 看 : 元 数 据 管 理 也 必 须 具 备 线 性 扩 展 能 力, 而 不 受 限 于 单 个 节 点 的 容 量 和 处 理 能 力 ; 从 系 统 的 整 体 架 构 上 来 看 : 均 衡 分 布 式 海 量 数 据 存 储 和 计 算 平 台 的 建 设 成 功 与 否, 关 键 一 点 就 是 看 均 衡 控 制 得 如 何, 均 衡 还 会 影 响 到 它 的 核 心 功 能 调 度 器 的 实 现 2. Map-Reduce 模 型 Hadoop MapReduce 实 现 存 储 的 均 衡, 但 未 实 现 计 算 的 均 衡, 这 是 它 天 生 的 缺 陷 目 前, 通 常 采 用 规 避 的 办 法 来 解 决 这 个 问 题, 由 编 写 MapReduce 代 码 的 程 序 员 来 保 证, 这 也 使 得 MapReduce 的 调 度 器 无 法 实 现 得 相 当 灵 活, 多 调 度 策 略 无 法 使 用, 而 只 能 分 集 群 多 调 度 器 并 存 下 面, 我 们 就 探 讨 如 何 改 进 Map-Reduce 模 型, 建 立 新 的 编 程 模 型 3. Map-Balance-Reduce 模 型 创 刊 号 2010 年 1 月 56

61 新 的 模 型 仍 然 保 持 简 单 性, 针 对 reduce 输 入 不 均 衡 的 缺 陷, 在 reduce 之 前 增 加 balance 一 层, 这 层 的 作 用 就 是 保 证 reduce 的 输 入 是 均 衡 的, 同 时 保 证 语 义 不 变, 因 此 用 户 需 要 实 现 的 接 口 由 map 和 reduce 两 个 变 成 三 个, 还 需 要 实 现 balance: public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { protected void map(keyin key,valuein value,context context ); } public class Reducer<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { protected void reduce(keyin key,iterable<valuein> values,context context ); } public class Balancer<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { protected void balance(keyin key,valuein value,context context ); } 根 据 新 的 MBR 模 型, 原 来 的 MR 流 程 变 成 如 下 图 所 示 的 新 过 程 : 创 刊 号 2010 年 1 月 57

62 从 上 图 可 以 看 出, 一 次 计 算 可 能 需 要 经 历 多 次 balance 过 程, 具 体 是 多 少 和 数 据 量 的 大 小 有 关 导 致 reduce 输 入 不 均 衡 的 原 因 主 要 在 两 个 方 面 : 相 同 KEY 的 记 录 数 过 多 和 不 同 KEY 聚 集 后 的 结 果 相 同, 对 于 前 者 可 以 考 虑 在 map 端 优 化, 后 者 主 要 是 改 进 partition 算 法 4. MBR vs MR 4.1. MBR 优 点 (1) 编 程 更 简 单, 不 需 要 考 虑 打 散 KEY 的 问 题 (2) 可 以 实 现 非 常 强 的 调 度 器, 有 关 调 度 器 的 研 究, 请 参 见 海 量 数 据 存 储 和 计 算 平 台 的 调 试 器 研 究 一 文 (3) 具 备 全 线 性 扩 展 能 力 4.2. MBR 缺 点 1) 相 比 MR, 程 序 员 需 要 多 实 现 一 个 balace 接 口 2) 如 果 对 小 数 据 量 启 用 balance, 存 在 性 能 降 低 的 可 能 运 行 eclipse 编 译 出 的 Hadoop 框 架 作 者 : 一 见 本 文 介 绍 如 何 发 布 eclipse 编 译 出 的 Hadoop 框 架, 有 关 Hadoop 的 编 译, 请 参 考 相 关 文 章, 需 要 发 布 的 JAR 文 件, 包 括 Common HDFS 和 MapReduce 三 个 成 员 的 JAR 文 件 Hadoop 官 方 发 布 的 release 二 进 制 包, 将 common HDFS 和 MapReduce 都 打 包 在 hadoopx.y.z-core.jar 一 个 JAR 文 件 中, 但 如 果 使 用 eclipse 编 译, 则 会 分 别 生 成 三 个 不 同 的 包 文 件, 如 : hadoop-core snapshot.jar,hadoop-hdfs snapshot.jar 和 hadoop-mapred snapshot.jar 发 布 这 三 个 JAR 文 件 的 方 法 如 下 : 创 刊 号 2010 年 1 月 58

63 将 eclipse 编 译 生 成 的 core 和 三 个 JAR 文 件 放 到 Hadoop 安 装 目 录 下, 将 原 来 的 hadoopx.y.z-core.jar 文 件 移 到 其 它 目 录 ( 目 录 不 能 为 hadoop/lib 等 Hadoop classpath 包 含 的 目 录 ), 或 重 命 名 成 以.bak 结 尾 的 文 件,Master 和 Slave 节 点 都 需 要 操 作 一 次 另 外, 还 需 要 修 改 bin/hadoop 脚 本 文 件, 将 hadoop-*-core.jar 改 成 hadoop-*.jar # for releases, add core hadoop jar & webapps to CLASSPATH if [ -d "$HADOOP_HOME/webapps" ]; then CLASSPATH=${CLASSPATH}:$HADOOP_HOME fi // 将 下 面 的 hadoop-*-core.jar 改 成 :hadoop-*.jar for f in $HADOOP_HOME/hadoop-*-core.jar; do CLASSPATH=${CLASSPATH}:$f; done # add libs to CLASSPATH for f in $HADOOP_HOME/lib/*.jar; do CLASSPATH=${CLASSPATH}:$f; done 在 运 行 之 前, 还 需 要 更 新 FSImage, 这 个 只 需 要 在 运 行 Hadoop 之 前, 先 执 行 start-dfs.sh - upgrade 命 令, 然 后 再 重 启 Hadoop, 一 切 就 OK 了 表 关 联 在 MapReduce 上 的 实 现 作 者 : 薛 文 编 辑 : 若 冰 MapReudce 是 Hadoop 中 重 要 的 分 布 式 计 算 模 型, 用 以 进 行 大 规 模 的 数 据 计 算 用 户 指 定 一 个 map 函 数, 通 过 这 个 map 函 数 处 理 key/value 键 值 对, 并 产 生 一 系 列 的 中 间 key/value 对, 再 使 用 reduce 函 数 合 并 所 有 的 相 同 Key 值 对 应 的 value 集 合 本 文 借 用 MapReudce 模 型 来 实 现 两 个 表 格 之 间 的 链 接, 从 这 么 一 个 小 小 的 角 度 来 分 析 MapReduce 在 计 算 方 面 的 优 势 问 题 描 述 假 设 有 两 个 表 格, 均 以.txt 文 件 存 储 : (1) 商 品 表 (trade table), 表 格 名 称 包 含 action 字 段, 每 行 为 一 条 数 据, 分 隔 符 为, 对 应 格 式 如 下 : 产 品 ID1 所 属 商 品 ID1 产 品 ID2 所 属 商 品 ID2 产 品 IDn 所 属 商 品 IDn (2) 支 付 表 ( pay table), 文 件 名 称 包 含 alipay, 每 行 为 一 条 数 据, 分 隔 符 同 上, 对 应 格 式 为 : 产 品 ID1 支 付 ID1 产 品 ID2 支 付 ID2 创 刊 号 2010 年 1 月 59

64 产 品 IDn 支 付 IDn 目 标 : 将 这 两 个 表 格 根 据 相 同 的 产 品 ID 链 接 起 来, 生 成 新 的 key/value pair: < 所 属 商 品 ID1, 支 付 ID1> < 所 属 商 品 ID2, 支 付 ID2> < 所 属 商 品 IDn, 支 付 IDn> 解 决 思 路 支 付 表 < 产 品 I D, 支 付 I D > 商 品 表 < 产 品 I D, 商 品 I D > M apper 产 品 I D 1 { 封 装 的 商 品 I D, 封 装 的 支 付 I D } Reduce 来 自 商 品 表 Y E S < 产 品 I D, 封 装 的 商 品 I D > 拆 分 处 理 Output < 商 品 I D, 支 付 I D > N O < 产 品 I D, 封 装 的 支 付 I D > 产 品 I D n { 封 装 的 商 品 I D, 封 装 的 支 付 I D } 实 现 流 程 图 两 个 表 格 中 都 包 含 产 品 ID, 所 以 只 需 要 将 产 品 ID 对 应 的 所 属 商 品 ID 及 支 付 表 ID 对 应 起 来 就 可 以 产 品 ID 是 链 接 的 关 键, 可 以 实 现 所 属 商 品 ID 及 支 付 ID 的 join 由 于 MapReduce 的 本 质 是 map 阶 段 分 发 数 据, 在 Reduce 阶 段 收 集 相 同 key 对 应 的 value, 因 此 在 这 个 问 题 上, 可 以 在 map 阶 段, 将 两 个 表 格 数 据 根 据 产 品 ID 这 个 key 分 发 出 去, 将 商 品 ID 及 支 付 ID 封 装 一 下, 作 为 map 阶 段 的 value, 这 样 在 reduce 阶 段 就 可 以 根 据 产 品 ID 得 到 对 应 的 商 品 ID 及 支 付 ID 了 实 现 代 码 1. Mapper 的 实 现 Input: 输 入 文 件 格 式 设 为 Hadoop 自 带 的 TextInputFormat 类 型, 它 采 用 LineRecordReader 来 read 文 件 LineRecordReader, 顾 名 思 义, 即 为 一 行 一 行 的 读 取, 所 以 输 出 为 <LongWritable, Text>, 其 中 LongWritable 是 每 行 的 offset,text 内 容 为 每 行 数 据 信 息 在 本 例 中, 商 品 表 用 action 标 识 做 前 缀, 支 付 表 用 alipay 标 识 做 前 缀 Mapper: 输 入 为 <LongWritable, Text> 格 式, 输 出 为 <Text,Text> 格 式, 输 出 的 key 为 产 品 ID, 输 出 的 value 为 封 装 后 的 商 品 ID 或 支 付 ID, 即 在 商 品 ID 或 支 付 ID 前 加 上 不 同 的 文 件 标 识 以 示 区 分 PreMapper 是 Mapper 的 具 体 实 现 类, 实 现 方 法 如 下 : 创 刊 号 2010 年 1 月 60

65 public class PreMapper extends MapReduceBase implements Mapper<LongWritable, Text, Text, Text> { public void map(longwritable key,text val,outputcollector<text, Text> output,reporter reporter) throws IOException { Text kr =new Text(); Text kv =new Text(); // 获 得 输 入 文 件 的 路 径 名 String path=((filesplit)reporter.getinputsplit()).getpath().tostring(); String[] line = val.tostring().split("\""); if (line.length <2) { // skip bad value return; } String productid = line[0]; kr.set(productid); // key is product ID; if (path.indexof("auction")>=0) { // 数 据 来 自 商 品 表 String tradeid = line[1]; kv.set("supid" + "\"" + tradeid);// 商 品 ID 的 组 合 方 式 : 加 上 supid 前 缀 } else if (path.indexof("alipay")>=0) { // 数 据 来 自 支 付 表 String payid = line[1]; kv.set("buyid"+"\"" + payid); // 支 付 ID 的 组 合 方 式 : 加 上 buyid 前 缀 ; } } } output.collect(kr, kv); 2. Reduce 的 实 现 Map 阶 段 已 经 根 据 不 同 的 产 品 ID 实 现 了 数 据 的 分 发, 在 Reduce 阶 段 只 需 要 进 行 规 约 处 理, 将 相 同 产 品 ID 的 商 品 ID 及 支 付 ID 组 合 输 出 即 可 备 注 : 在 map 阶 段, 分 别 将 商 品 ID 及 支 付 ID 进 行 了 组 装, 加 上 了 不 同 的 文 件 标 识, 所 以 在 reduce 的 处 理 中 需 要 对 数 据 进 行 拆 分, 区 分 是 商 品 ID 还 是 支 付 ID Reduce 的 具 体 实 现 类 为 CommonReduce public class CommonReduce extends MapReduceBase implements Reducer<Text,Text,Text,Text> { public void reduce(text key,iterator<text>values,outputcollector<text,text> output,reporter reporter) throws IOException { 创 刊 号 2010 年 1 月 61

66 String spuid = ""; String buyerid = ""; // key 是 产 品 ID, 遍 历 相 同 key 对 应 的 数 据 集 合 while( values.hasnext()) { String value = values.next().tostring(); int index = value.indexof('"'); if( index == -1) //skip bad record continue; } String subvalue = value.substring(index + 1, value.length()); if (value.startswith("supid")) { // 是 商 品 ID spuid = subvalue; } else if (value.startswith("buyid")) { // 是 支 付 ID buyerid = subvalue; } // 同 时 含 有 商 品 ID 及 支 付 ID 时, 将 这 两 个 数 据 写 入 output if (!spuid.equals("") &&!buyerid.equals("")) { output.collect(new Text(spuid), new Text(buyerid)); } } } 在 output.collect 语 句 中, 将 对 应 产 品 ID 的 商 品 ID 及 支 付 ID 作 为 key 和 value 写 入 output 3. 调 用 函 数 的 配 置 前 面 分 别 实 现 了 Mapper 及 Reducer, 以 下 是 调 用 的 代 码 备 注 : 这 里 的 输 入 输 出 都 是 文 件 夹, 而 非 文 件 实 际 可 以 有 多 个 商 品 表 或 多 个 支 付 表, 每 个 商 品 表 前 缀 均 为 action, 存 放 在 tradetabledir 目 录 下, 每 个 支 付 表 前 缀 均 为 alipay, 放 在 paytabledir 目 录 下 public class Join { public static void main(string[] args) throws IOException { if (args.length <3) { // 调 用 的 usage System.err.println("Usage: Join <tradetabledir> <paytabledir> <output>"); System.exit(-1); } String tradetabledir = args[0]; String paytabledir = args[1]; String jointabledir = args[2]; 创 刊 号 2010 年 1 月 62

67 // 定 义 Job JobConf conf = new JobConf(Join.class); conf.setjobname("join two tables"); // 定 义 输 入 : 商 品 表 & 支 付 表 FileInputFormat.addInputPath(conf, new Path(tradeTableDir)); FileInputFormat.addInputPath(conf, new Path(payTableDir)); conf.setinputformat(textinputformat.class); // 输 入 文 件 格 式 conf.setmapperclass(premapper.class); // 指 定 Mapper conf.setoutputkeyclass(text.class); // 输 出 文 件 的 key conf.setoutputvalueclass(text.class); // 输 出 文 件 的 mapper conf.setreducerclass(commonreduce.class); // 指 定 Reducer conf.setoutputformat(textoutputformat.class); // 输 出 文 件 格 式 } // 定 义 output FileOutputFormat.setOutputPath(conf, new Path(joinTableDir)); JobClient.runJob(conf); // 执 行 job } 输 出 文 件 在 函 数 中 定 义 了 输 出 文 件, 其 实 也 是 一 个 文 件 夹 程 序 运 行 完 毕 之 后, 在 输 出 文 件 夹 下, 可 以 发 现 类 似 part-00000, part 之 类 的 文 件, 即 合 并 之 后 的 表 格, 文 件 内 容 类 似 : TRADE1 PAYID1 TRADE2 PAYID2 TRADE3 PAYID3 备 注 : 如 果 需 要 将 所 有 结 果 输 出 到 一 个 文 件, 即 一 个 part 中, 需 要 设 置 JobConf 的 reduce 个 数 为 1, 即 conf.setnumreducetasks(1) Hadoop 计 算 平 台 和 Hadoop 数 据 仓 库 的 区 别 作 者 : 一 见 目 前,Hadoop 主 要 还 是 用 做 计 算 平 台, 处 理 海 量 数 据 的 分 析, 如 典 型 的 日 志 分 析, 但 以 Facebook 和 Yahoo 为 首 的 公 司 早 已 经 将 它 用 于 数 据 仓 库 在 国 内, 也 有 不 少 公 司 开 始 尝 试 Hadoop 在 数 据 仓 库 方 面 的 应 用, 但 是 力 度 还 不 够, 而 且 多 半 也 是 借 助 于 Facebook 贡 献 给 Hadoop 的 Hive 组 件 由 于 Hive 提 供 了 类 似 SQL 的 编 程 接 口, 使 得 使 用 Hadoop 的 门 槛 大 大 降 低, 为 Hadoop 在 数 据 仓 库 方 面 的 应 用 迈 出 了 一 大 步 大 家 在 使 用 Hadoop 作 为 数 据 仓 库 时, 经 常 会 拿 来 和 计 算 平 台 对 比 创 刊 号 2010 年 1 月 63

68 实 在 地 说, 目 前 的 Hadoop 还 不 能 完 全 满 足 数 据 仓 库 业 务 的 所 有 需 求, 但 是 可 以 将 它 加 以 改 进, 以 达 到 替 换 传 统 数 据 仓 库 系 统 的 目 的, 这 无 疑 会 给 企 业 节 省 大 笔 开 支 下 面 是 计 算 平 台 和 数 据 仓 库 的 一 个 简 单 对 比, 供 基 于 MapReduce 构 造 数 据 仓 库 系 统 时 参 考 : Hadoop 计 算 平 台 Hadoop 数 据 仓 库 共 同 点 1. 均 需 要 提 供 TB 级 海 量 数 据 的 计 算 能 力 2. 均 采 用 MapReduce 作 为 计 算 引 擎 不 同 点 1. 更 偏 重 计 算 和 弱 存 储 需 求 1. 计 算 和 存 储 都 要 求 高 2. 通 用 平 台, 无 特 定 业 务 要 求 2. 专 用 系 统, 仅 用 于 数 据 仓 库 业 务 3. 存 储 层 为 FS, 体 现 为 文 件 特 性 3. 存 储 层 为 DB, 体 现 为 表 特 性 4. 以 提 供 MapReduce 编 程 为 主 4. 以 提 供 SQL 编 程 为 主 5. 以 非 结 构 化 数 据 为 主 5. 所 有 数 据 结 构 化 6. 无 索 引 6. 支 持 块 索 引, 块 内 索 引 高 效 7. 数 据 只 读, 全 文 扫 描 7. 支 持 增 删 改 8. 按 字 节 数 分 块 8. 按 记 录 数 分 块, 每 个 表 块 的 记 录 数 可 不 同 欢 迎 加 入 Hadoop 技 术 论 坛 进 一 步 交 流! 创 刊 号 2010 年 1 月 64

69 Hadoop 开发者创刊号 总第 1 期 bbs.hadoopor.com hadoop 技术论坛 Hadoop 技术论坛 创刊号 2010 年 1 月 65

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基 内 部 资 料 东 北 师 范 大 教 运 行 基 本 状 态 据 报 告 2015 年 春 季 期 教 务 处 2015 年 10 月 27 日 说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度,

More information

<433A5C446F63756D656E747320616E642053657474696E67735C41646D696E6973747261746F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

<433A5C446F63756D656E747320616E642053657474696E67735C41646D696E6973747261746F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63> ( 一 ) 系 统 整 体 操 作 流 程 简 述 3 ( 二 ) 系 统 中 各 角 色 操 作 功 能 说 明 5 1. 学 院 管 理 员 5 2. 教 学 院 长 8 3. 指 导 教 师 10 4. 答 辩 组 组 长 12 5. 学 生 12 6. 系 统 管 理 员 15 ( 一 ) 论 文 系 统 常 见 问 题 16 ( 二 ) 论 文 查 重 常 见 问 题 22 1 2 主

More information

I

I 机 电 一 级 注 册 建 造 师 继 续 教 育 培 训 广 东 培 训 点 网 上 报 名 操 作 使 用 手 册 (2013 年 1 月, 第 一 版 ) 第 一 章 个 人 注 册 与 个 人 信 息 管 理 1. 个 人 注 册 ( 请 每 人 只 申 请 一 个 注 册 号, 如 果 单 位 批 量 报 班 单 位 帮 申 请 注 册, 不 需 个 人 再 注 册 ) 首 次 报 班,

More information

修改版-操作手册.doc

修改版-操作手册.doc 职 称 信 息 系 统 升 级 指 南 须 使 用 IE9 及 其 以 上 版 本 浏 览 器 或 谷 歌 浏 览 器 登 录 www.njrs.gov.cn 南 京 市 职 称 ( 职 业 资 格 ) 工 作 领 导 小 组 办 公 室 2016 年 5 月 目 录 一 申 报 人 员 操 作 指 南...1 1.1 职 称 初 定 申 报...1 1.1.1 职 称 初 定 基 础 信 息 填

More information

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单 评 委 : 李 炎 斌 - 个 人 清 标 评 审 明 细 表 评 审 因 素 序 号 投 标 单 位 清 标 评 审 1 深 圳 市 创 捷 科 技 有 限 合 格 2 四 川 川 大 智 胜 软 件 股 份 有 限 合 格 3 北 京 航 天 长 峰 科 技 工 业 集 团 有 限 公 司 合 格 4 深 圳 中 兴 力 维 技 术 有 限 合 格 5 深 圳 键 桥 通 讯 技 术 股 份 有

More information

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知 第 卷 第 期 年 月 开 放 教 育 研 究 何 秋 琳 张 立 春 华 南 师 范 大 学 未 来 教 育 研 究 中 心 广 东 广 州 随 着 图 像 化 技 术 和 电 子 媒 体 的 发 展 视 觉 学 习 也 逐 步 发 展 为 学 习 科 学 的 一 个 研 究 分 支 得 到 研 究 人 员 和 教 育 工 作 者 的 广 泛 关 注 基 于 此 作 者 试 图 对 视 觉 学 习

More information

《C语言基础入门》课程教学大纲

《C语言基础入门》课程教学大纲 C 语 言 开 发 入 门 教 程 课 程 教 学 大 纲 课 程 编 号 :201409210011 学 分 :5 学 分 学 时 :58 学 时 ( 其 中 : 讲 课 学 时 :39 学 时 上 机 学 时 :19 学 时 ) 先 修 课 程 : 计 算 机 导 论 后 续 课 程 :C++ 程 序 设 计 适 用 专 业 : 信 息 及 其 计 算 机 相 关 专 业 开 课 部 门 : 计

More information

科 学 出 版 社 科 学 出 版 社 前 言 本 书 是 针 对 普 通 高 等 院 校 经 济 类 和 工 商 管 理 类 本 科 专 业 财 务 管 理 学 的 教 学 需 求, 结 合 教 育 部 经 济 管 理 类 本 科 财 务 管 理 学 课 程 教 学 大 纲 编 写 而 成 的 本 书 执 笔 者 都 是 长 期 工 作 在 财 务 管 理 教 学 一 线 的 专 业 教 师,

More information

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单 评 委 : 徐 岩 宇 - 个 人 清 标 评 审 明 细 表 评 审 因 素 序 号 投 标 单 位 清 标 评 审 1 深 圳 市 创 捷 科 技 有 限 合 格 2 四 川 川 大 智 胜 软 件 股 份 有 限 合 格 3 北 京 航 天 长 峰 科 技 工 业 集 团 有 限 公 司 合 格 4 深 圳 中 兴 力 维 技 术 有 限 合 格 5 深 圳 键 桥 通 讯 技 术 股 份 有

More information

深圳市新亚电子制程股份有限公司

深圳市新亚电子制程股份有限公司 证 券 代 码 :002388 证 券 简 称 : 新 亚 制 程 公 告 编 号 :2016-053 深 圳 市 新 亚 电 子 制 程 股 份 有 限 公 司 2016 年 第 二 次 临 时 股 东 大 会 决 议 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 公 告 内 容 真 实 准 确 和 完 整, 不 存 在 虚 假 记 载 误 导 性 陈 述 或 者 重 大 遗 漏 特

More information

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量 0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 3 无 轻 伤 责 任 事 故 目 标 30 及 事 无 重 大 质 量 工 作 过 失 故 管 无 其 他 一 般 责 任 事 故 理 在 公 司 文 明 环 境 创 建 中, 无 工 作 过 失 及 被 追 究 的

More information

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管 宝 汇 德 Turbocare 微 服 务 系 统 客 户 操 作 手 册 Version 2.0 北 京 宝 汇 德 技 术 服 务 器 有 限 公 司 技 术 研 发 部 目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理... 10 巡

More information

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用 水 路 运 输 建 设 综 合 管 理 信 息 系 统 - 门 户 系 统 用 户 手 册 二 零 一 五 年 十 一 月 目 录 一 系 统 访 问... 1 二 门 户 首 页... 1 1. 申 报 用 户... 1 2. 审 核 用 户... 2 三 系 统 登 录... 4 1. 用 户 名 密 码 登 录... 4 1.1 新 用 户 注 册... 4 1.2 用 户 登 录... 7

More information

珠江钢琴股东大会

珠江钢琴股东大会 证 券 代 码 :002678 证 券 简 称 : 珠 江 钢 琴 公 告 编 号 :2015-038 广 州 珠 江 钢 琴 集 团 股 份 有 限 公 司 2015 年 年 度 股 东 大 会 决 议 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 信 息 披 露 的 内 容 真 实 准 确 完 整, 没 有 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏 特 别 提 示 :

More information

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学 1 安 排 组 织 全 国 网 络 统 考 九 月 批 次 网 上 考 前 辅 导 第 一 学 期 第 一 周 统 考 考 前 半 个 月 2 下 发 全 国 网 络 统 考 九 月 批 次 准 考 证 第 一 学 期 第 一 周 导 出 下 半 年 成 人 本 科 学 士 学 位 英 语 统 一 考 试 报 考 3 信 息 第 一 学 期 第 一 周 4 教 学 计 划 和 考 试 计 划 上 网,

More information

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用 Visual Basic 程 序 设 计 A 级 分 级 班 教 学 大 纲 ( 供 计 算 机 与 信 息 技 术 基 础 课 程 分 级 教 学 A 级 班 使 用 ) I 前 言 Visual Basic 程 序 设 计 课 程 是 一 门 计 算 机 语 言 基 础 课 程 通 过 对 该 课 程 的 学 习, 使 学 生 初 步 掌 握 Visual Basic 的 语 言 特 点, 掌

More information

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和 语 音 语 篇 语 感 语 域 林 大 津 毛 浩 然 改 革 开 放 以 来 的 英 语 热 引 发 了 大 中 小 学 英 语 教 育 整 体 规 划 问 题 在 充 分 考 虑 地 区 学 校 和 个 体 差 异 以 及 各 家 观 点 的 基 础 上 遵 循 实 事 求 是 逐 级 定 位 逐 层 分 流 因 材 施 教 的 原 则 本 研 究 所 倡 导 的 语 音 语 篇 语 感 语 域

More information

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,, ( ) ( )... 李 雪 岩, 龙 耀 (. 广 西 民 族 大 学 商 学 院, 广 西 南 宁 ;. 中 山 大 学 教 育 学 院, 广 东 广 州 ) : 高 等 教 育 是 专 业 教 育 高 考 是 为 高 等 教 育 服 务 的, 是 为 高 等 专 业 教 育 选 拔 有 专 业 培 养 潜 质 的 人 才 现 行 高 考 制 度 忽 略 专 业 潜 质 的 因 素, 过 份 强

More information

Microsoft Word - 文件汇编.doc

Microsoft Word - 文件汇编.doc 北 京 市 中 医 管 理 局 二 一 五 年 四 月 ... 1... 18 2015... 30 京 中 医 政 字 [2014]160 号 1 2 一 充 分 认 识 中 医 健 康 乡 村 建 设 工 作 的 重 要 意 义 二 建 立 健 全 工 作 保 障 机 制 2014 12 15 三 做 好 工 作 启 动 的 准 备 事 宜 1 2014 12 15 5-10 2014 12 15

More information

<4D6963726F736F667420576F7264202D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE32303132C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

<4D6963726F736F667420576F7264202D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE32303132C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378> 上 海 德 载 中 怡 律 师 事 务 所 关 于 昂 华 ( 上 海 ) 自 动 化 工 程 股 份 有 限 公 司 二 〇 一 二 年 年 度 股 东 大 会 法 律 意 见 书 上 海 德 载 中 怡 律 师 事 务 所 上 海 市 银 城 中 路 168 号 上 海 银 行 大 厦 1705 室 (200120) 电 话 :8621-5012 2258 传 真 :8621-5012 2257

More information

2006年顺德区高中阶段学校招生录取分数线

2006年顺德区高中阶段学校招生录取分数线 2014 年 顺 德 区 高 中 阶 段 学 校 考 试 提 前 批 第 一 批 第 二 批 学 校 录 取 根 据 佛 山 市 办 提 供 的 考 生 数 据, 现 将 我 区 2014 年 高 中 阶 段 学 校 考 试 提 前 批 第 一 批 第 二 批 学 校 的 录 取 公 布 如 下 : 一 顺 德 一 中 录 取 分 第 1 志 愿, 总 分 585, 综 合 表 现 评 价 A, 考

More information

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语 新 汉 语 水 平 考 试 HSK 为 使 汉 语 水 平 考 试 (HSK) 更 好 地 服 务 于 汉 语 学 习 者, 中 国 国 家 汉 办 组 织 中 外 汉 语 教 学 语 言 学 心 理 学 和 教 育 测 量 学 等 领 域 的 专 家, 在 充 分 调 查 了 解 海 外 实 际 汉 语 教 学 情 况 的 基 础 上, 吸 收 原 有 HSK 的 优 点, 借 鉴 近 年 来 国

More information

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决 上 海 市 公 共 卫 生 硕 士 专 业 学 位 论 文 基 本 要 求 和 评 价 指 标 体 系 ( 试 行 ) 上 海 市 学 位 委 员 会 办 公 室 二 O 一 二 年 三 月 一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创

More information

证券代码:000066 证券简称:长城电脑 公告编号:2014-000

证券代码:000066         证券简称:长城电脑        公告编号:2014-000 证 券 代 码 :000066 证 券 简 称 : 长 城 电 脑 公 告 编 号 :2016-092 中 国 长 城 计 算 机 深 圳 股 份 有 限 公 司 2016 年 度 第 三 次 临 时 股 东 大 会 决 议 公 告 本 公 司 及 其 董 事 会 全 体 成 员 保 证 信 息 披 露 内 容 的 真 实 准 确 完 整, 没 有 虚 假 记 载 误 导 性 陈 述 或 重 大 遗

More information

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :, : 周 晓 虹 : - -., - - - -. :( ), -,.( ),,, -. - ( ).( ) ', -,,,,, ( ).( ),,, -., '.,, :,,,, :,,,, ,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,,

More information

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 (http://nc.tju.edu.cn) 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 (http://g.tju.edu.cn) 首 页

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 (http://nc.tju.edu.cn) 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 (http://g.tju.edu.cn) 首 页 校 园 网 认 证 计 费 系 统 变 更 说 明 及 使 用 帮 助 为 提 高 校 园 网 的 可 靠 性 和 可 用 性, 提 升 用 户 的 上 网 体 验, 同 时 也 为 解 决 近 期 校 园 网 无 法 认 证 或 登 录 页 面 弹 出 缓 慢 的 问 题, 信 网 中 心 于 近 期 对 校 园 网 认 证 计 费 系 统 进 行 升 级 切 换 现 将 升 级 后 新 系 统

More information

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 ¹ 改 革 开 放 年 来 人 口 流 动 规 模 持 续 增 加 对 我 国 社 会 经 济 的 持 续 发 展 起 到 了 重 要 作 用 为 全 面 了 解 我 国 流 动 人 口 生 存 状 况 准 确 把 握 流 动 人 口 发 展 规 律 和 趋 势 不 断 加 强 流 动 人 口 服 务 管 理 引 导 人 口 有 序 流 动 合 理 分 布 国 家 人 口 计 生 委 于 年 月 启

More information

登录、注册功能的测试用例设计.doc

登录、注册功能的测试用例设计.doc 注 册 登 陆 测 试 用 例 和 修 改 密 码 测 试 用 例 完 整 版 摘 自 网 络, 狗 狗 整 理 zqh139@126.com 修 改 历 史 日 期 版 本 作 者 修 改 内 容 评 审 号 变 更 控 制 号 2010-11-25 1.0 初 稿 2011-09-17 2.0 整 理 一 注 册 测 试 用 例 序 号 : 1 控 件 名 称 : 功 能 描 述 : 注 册 编

More information

 编号:

 编号: 编 号 : 企 业 内 高 技 能 人 才 培 养 评 价 实 施 方 案 ( 仅 适 用 于 企 业 特 有 行 业 特 有 工 种 ) 实 施 单 位 ( 公 章 ) 申 报 日 期 年 _ 月 日 1 企 业 内 高 技 能 人 才 培 养 评 价 项 目 实 施 方 案 申 报 表 项 目 名 称 等 级 项 目 性 质 课 时 申 报 单 位 联 系 人 通 讯 地 址 电 话 手 机 电

More information

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc - 1 - - 2 - 附 件 全 国 建 筑 市 场 注 册 执 业 人 员 不 良 记 录 认 定 标 准 ( 试 行 ) 说 明 为 了 完 善 建 筑 市 场 注 册 执 业 人 员 诚 信 体 系 建 设, 规 范 执 业 和 市 场 秩 序, 依 据 相 关 法 律 法 规 和 部 门 规 章, 根 据 各 行 业 特 点, 我 部 制 订 了 全 国 建 筑 市 场 注 册 执 业 人

More information

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审 北 京 市 君 致 律 师 事 务 所 关 于 浪 潮 软 件 股 份 有 限 公 司 2015 年 度 股 东 大 会 的 法 律 意 见 书 致 : 浪 潮 软 件 股 份 有 限 公 司 北 京 市 君 致 律 师 事 务 所 ( 以 下 简 称 本 所 ) 受 浪 潮 软 件 股 份 有 限 公 司 ( 以 下 简 称 公 司 ) 的 委 托, 指 派 律 师 出 席 2016 年 4 月

More information

教师上报成绩流程图

教师上报成绩流程图 教 务 管 理 系 统 使 用 说 明 学 生 端 用 户 1 在 校 内 任 何 一 台 连 接 校 园 网 的 计 算 机 上 登 录 教 务 处 主 页 教 务 处 主 页 地 址 : http://jw.stdu.edu.cn/homepage 随 后 点 击 按 钮 ( 见 下 图 所 示 ), 即 可 进 入 综 合 教 务 管 理 系 统 2 在 综 合 教 务 管 理 区 域 内 键

More information

文 化 记 忆 传 统 创 新 与 节 日 遗 产 保 护 根 据 德 国 学 者 阿 斯 曼 的 文 化 记 忆 理 论 仪 式 与 文 本 是 承 载 文 化 记 忆 的 两 大 媒 体 在 各 种 仪 式 行 为 中 节 日 以 其 高 度 的 公 共 性 有 组 织 性 和 历 史 性 而 特 别 适 用 于 文 化 记 忆 的 储 存 和 交 流 节 日 的 文 化 功 能 不 仅 在 于

More information

1600 1000 40 50 2030 2000 采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

1600 1000 40 50 2030 2000 采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2 简 略 版 本 :2015 3 10 2016 2021 全 球 卫 生 部 门 病 毒 性 肝 炎 战 略 2016 2021 2015 3 12 2012 2010 2014 2015 2016 2021 140 55% 35% 5 15% 5 20% 2.4 1.3 1.5 1 1600 1000 40 50 2030 2000 采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路

More information

课程类 别

课程类 别 美 声 演 唱 方 向 培 养 方 案 一 培 养 目 标 本 方 向 要 求 学 生 德 智 体 美 全 面 发 展, 培 养 能 在 文 艺 团 体 从 事 声 乐 演 唱 及 能 在 艺 术 院 校 从 事 本 方 向 教 学 的 高 级 门 人 才 二 培 养 规 格 本 方 向 学 生 应 系 统 掌 握 声 乐 演 唱 方 面 的 理 论 和 技 能, 具 备 较 高 的 声 乐 演 唱

More information

第 一 部 分 MagiCAD for Revit 安 装 流 程

第 一 部 分 MagiCAD for Revit 安 装 流 程 MagiCAD 软 件 安 装 流 程 MagiCAD v2015.4 for Revit 广 联 达 软 件 股 份 有 限 公 司 BIM 中 心 编 写 2015 年 06 月 第 一 部 分 MagiCAD for Revit 安 装 流 程 一 安 装 前 需 要 确 认 的 内 容 安 装 MagiCAD 程 序 之 前, 请 您 先 确 定 以 下 事 宜 1. 当 前 用 户 账 户

More information

(2015-2016-2)-0004186-04205-1 140242 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 37 37 1 教 203 17 周 2016 年 06 月 13 日 (08:00-09:35) (2015-2016-2)-0004186-04205-1 141011

(2015-2016-2)-0004186-04205-1 140242 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 37 37 1 教 203 17 周 2016 年 06 月 13 日 (08:00-09:35) (2015-2016-2)-0004186-04205-1 141011 关 于 2015-2016 学 年 第 二 学 期 期 末 周 内 考 试 时 间 地 点 安 排 选 课 课 号 班 级 名 称 课 程 名 称 课 程 性 质 合 考 人 数 实 际 人 数 考 试 教 室 考 试 段 考 试 时 间 (2015-2016-2)-0006178-04247-1 130101 测 试 技 术 基 础 学 科 基 础 必 修 课 35 35 1 教 401 17 周

More information

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日 河 北 师 范 大 学 学 报 新 时 期 海 峡 两 岸 高 校 开 放 招 生 问 题 探 讨 郑 若 玲 王 晓 勇 海 峡 两 岸 高 校 开 放 招 生 是 新 时 期 推 进 海 峡 两 岸 高 等 教 育 交 流 与 合 作 的 重 要 尝 试 系 统 梳 理 改 革 开 放 以 来 两 岸 招 生 政 策 与 就 学 人 数 发 展 变 化 的 历 史 进 程 可 发 现 促 进 两

More information

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 (www.gapp.gov.cn 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 (www.gapp.gov.cn 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开 杭 教 人 2014 7 杭 州 市 教 育 局 关 于 中 小 学 教 师 系 列 ( 含 实 验 教 育 管 理 ) 晋 升 高 级 专 业 技 术 资 格 有 关 论 文 要 求 的 通 知 各 区 县 ( 市 ) 教 育 局 ( 社 发 局 ), 直 属 学 校 ( 单 位 ), 委 托 单 位 : 为 进 一 步 规 范 杭 州 市 中 小 学 教 师 系 列 ( 含 实 验 教 育 管

More information

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页, 网 络 教 育 新 平 台 教 师 使 用 简 易 手 册 一 登 录 教 师 工 作 室 1 打 开 西 南 科 技 大 学 网 络 教 育 教 学 教 务 新 平 台 主 页 面 :http://www.swust.net.cn/ 2 在 主 页 面 左 边 的 登 陆 区 中, 用 户 名 和 密 码 处 分 别 输 入 自 己 的 用 户 名 ( 教 师 ID 号 ) 和 密 码 ( 初 始

More information

云信Linux SSH认证代理用户手册

云信Linux SSH认证代理用户手册 Windows 主 机 登 录 保 护 (RDP) 管 理 员 配 置 手 册 V1.0 云 信 事 业 部 飞 天 诚 信 科 技 股 份 有 限 公 司 www.cloudentify.com 章 节 目 录 第 1 章 管 理 平 台 配 置 说 明... 1 1.1 注 册... 1 1.2 登 录... 3 1.3 添 加 应 用... 4 1.4 添 加 用 户... 7 1.5 激 活

More information

四川省农村义务教育学生

四川省农村义务教育学生 四 川 省 农 村 义 务 教 育 学 生 营 养 改 善 计 划 协 调 小 组 办 公 室 川 学 生 营 养 办 函 2015 7 号 关 于 填 报 2015 年 农 村 义 务 教 育 学 生 营 养 改 善 计 划 受 益 学 生 数 据 的 通 知 各 相 关 市 ( 州 ) 学 生 营 养 办 : 为 了 贯 彻 落 实 国 务 院 办 公 厅 关 于 实 施 农 村 义 务 教 育

More information

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # # 马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则 马 俊 峰 在 社 会 公 正 问 题 的 大 讨 论 中 罗 尔 斯 诺 齐 克 哈 耶 克 麦 金 泰 尔 等 当 代 西 方 思 想 家 的 论 述 被 反 复 引 用 和 申 说 而 将 马 克 思 恩 格 斯 等 经 典 作 家 的 观 点 置 于 一 种 被 忽 视 甚 至 被 忘 却 的 状 态 形 成 这 种

More information

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6> 中 国 应 对 气 候 变 化 的 政 策 与 行 动 2013 年 度 报 告 国 家 发 展 和 改 革 委 员 会 二 〇 一 三 年 十 一 月 100% 再 生 纸 资 源 目 录 前 言... 1 一 应 对 气 候 变 化 面 临 的 形 势... 3 二 完 善 顶 层 设 计 和 体 制 机 制... 4 三 减 缓 气 候 变 化... 8 四 适 应 气 候 变 化... 20

More information

全国教师资格认定管理信息系统

全国教师资格认定管理信息系统 操 作 说 明 一 教 师 资 格 认 定 申 请 人 1 : 1. 未 参 加 全 国 统 考 申 请 人 2.1 登 录 未 参 加 全 国 统 考 申 请 人 网 上 报 名 系 统 登 录 中 国 教 师 资 格 网 (http://www.jszg.edu.cn), 未 参 加 全 国 统 考 申 请 人 有 两 种 途 径 进 入 报 名 系 统 第 一 种 途 径 : 点 击 网 站

More information

微软用户

微软用户 学 生 空 间 用 户 操 作 手 册 目 录 前 言... 2 一 登 录 学 生 空 间... 2 二 学 生 空 间 页 面... 3 三 功 能 区... 3 3.1 课 程 学 习... 5 3.2 学 务 管 理... 7 3.3 学 习 档 案... 7 3.4 资 料 管 理... 8 3.7 课 程 班 级... 11 3.8 我 要 评 价... 11 四 交 流 互 动...

More information

伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 语 言 学 纲 要 笔 记, 由 考 取 本 校 本 专 业 高 分 研 究 生 总 结 而 来, 重 点 突 出, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效

伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 语 言 学 纲 要 笔 记, 由 考 取 本 校 本 专 业 高 分 研 究 生 总 结 而 来, 重 点 突 出, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效 伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 ......2 伊 犁 师 范 学 院 802 文 学 概 论 全 套 考 研 资 料 ......2 伊 犁 师 范 学 院 702 普 通 物 理 全 套 考 研 资 料 ......3 伊 犁

More information

反 学 校 文 化 与 阶 级 再 生 产 小 子 与 子 弟 之 比 较 周 潇 作 者 通 过 对 北 京 某 打 工 子 弟 学 校 的 田 野 调 查 后 发 现 在 农 民 工 子 弟 中 间 盛 行 着 类 似 学 做 工 中 所 描 述 的 工 人 阶 级 小 子 的 反 学 校 文 化 但 是 由 于 制 度 安 排 与 社 会 条 件 的 差 异 子 弟 与 小 子 的 反 学 校

More information

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63> 浙 江 职 业 能 力 建 设 信 息 系 统 职 业 技 能 鉴 定 考 务 管 理 用 户 操 作 手 册 二 〇 一 五 年 八 月 目 录 0. 系 统 概 述...3 0.0. 简 要 概 述...3 0.1. 业 务 流 程 图... 3 1. 考 生 网 上 报 名... 3 1.0. 考 生 用 户 注 册 登 录... 5 1.1. 报 名 及 下 载 打 印 报 名 申 请 表...7

More information

张 荣 芳 中 山 大 学 历 史 系 广 东 广 州 张 荣 芳 男 广 东 廉 江 人 中 山 大 学 历 史 系 教 授 博 士 生 导 师 我 们 要 打 破 以 前 学 术 界 上 的 一 切 偶 像 以 前 学 术 界 的 一 切 成 见 屏 除 我 们 要 实 地 搜 罗 材 料 到 民 众 中 寻 方 言 到 古 文 化 的 遗 址 去 发 掘 到 各 种 的 人 间 社 会 去

More information

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % % 抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 王 红 曼 抗 战 时 期 国 民 政 府 为 适 应 战 时 经 济 金 融 的 需 要 实 行 由 财 政 部 四 联 总 处 中 央 银 行 等 多 家 机 构 先 后 共 同 参 与 的 多 元 化 银 行 监 理 体 制 对 战 时 状 态 下 的 银 行 发 展 与 经 营 安 全 进 行 了 大 规 模 的 设 计 与

More information

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年 工 程 设 计 与 施 工 资 质 标 准 一 总 则 建 筑 智 能 化 工 程 设 计 与 施 工 资 质 标 准 ( 一 ) 为 了 加 强 对 从 事 建 筑 智 能 化 工 程 设 计 与 施 工 企 业 的 管 理, 维 护 建 筑 市 场 秩 序, 保 证 工 程 质 量 和 安 全, 促 进 行 业 健 康 发 展, 结 合 建 筑 智 能 化 工 程 的 特 点, 制 定 本 标

More information

上证指数

上证指数 上 证 与 修 正 方 法 一 ( 一 ) 计 算 公 式 1. 上 证 指 数 系 列 均 采 用 派 许 加 权 综 合 价 格 指 数 公 式 计 算 2. 上 证 180 指 数 上 证 50 指 数 等 以 成 份 股 的 调 整 股 本 数 为 权 数 进 行 加 权 计 算, 计 算 公 式 为 : 报 告 期 指 数 =( 报 告 期 样 本 股 的 调 整 市 值 / 基 期 )

More information

国债回购交易业务指引

国债回购交易业务指引 附 件 1 上 海 证 券 交 易 所 新 质 押 式 国 债 回 购 交 易 业 务 指 引 一 总 述 根 据 上 海 证 券 交 易 所 债 券 交 易 实 施 细 则, 上 证 所 将 于 2006 年 5 月 8 日 起 推 出 新 质 押 式 国 债 回 购 新 质 押 式 回 购 与 现 行 质 押 式 回 购 相 比 区 别 主 要 在 以 下 几 个 方 面 :1 新 质 押 式

More information

全国艺术科学规划项目

全国艺术科学规划项目 全 国 艺 术 科 学 规 划 项 目 网 上 申 报 常 见 问 题 及 解 决 方 法 目 录 一 申 报 流 程...4 二 立 项 流 程...5 三 常 见 问 题 与 处 理...6 (1). 如 何 注 册...6 (2). 系 统 中 没 有 我 的 单 位 怎 么 办?...7 (3). 在 注 册 时 写 错 身 份 证 号 名 字 而 系 统 中 不 能 修 改 怎 么 办?...

More information

untitled

untitled ( 一 ) 深 刻 认 识 学 习 教 育 的 重 大 意 义 : - 3 - ( 二 ) 明 确 学 习 教 育 的 任 务 目 标 ( 三 ) 把 握 特 点 方 法 - 4 - ( 四 ) 坚 持 六 项 原 则 在 - 5 - ( 五 ) 着 力 解 决 问 题 - 6 - - 7 - - 8 - ( 一 ) 学 党 章 党 规, 进 一 步 明 确 党 员 标 准 树 立 行 为 规 范

More information

<4D6963726F736F667420576F7264202D20D0A3B7A2A1B232303135A1B3313135BAC5B9D8D3DAD7E9D6AFBFAAD5B9C8ABD0A3BDCCD6B0B9A4B8DACEBBC6B8D3C3B1E4B6AFB9A4D7F7B5C4CDA8D6AA2E646F63>

<4D6963726F736F667420576F7264202D20D0A3B7A2A1B232303135A1B3313135BAC5B9D8D3DAD7E9D6AFBFAAD5B9C8ABD0A3BDCCD6B0B9A4B8DACEBBC6B8D3C3B1E4B6AFB9A4D7F7B5C4CDA8D6AA2E646F63> 广 西 科 技 大 学 文 件 校 发 2015 115 号 关 于 组 织 开 展 全 校 教 职 工 岗 位 聘 用 变 动 工 作 的 通 知 校 属 各 单 位 : 我 校 首 次 岗 位 聘 用 聘 期 已 满, 根 据 上 级 有 关 岗 位 设 置 与 聘 用 管 理 文 件 精 神, 为 进 一 步 促 进 学 校 人 才 资 源 的 科 学 合 理 配 置, 深 化 岗 位 聘 用

More information

西 南 大 学 硕 士 学 位 论 文 网 络 购 物 动 机 问 卷 的 编 制 及 实 测 姓 名 : 曹 建 英 申 请 学 位 级 别 : 硕 士 专 业 : 基 础 心 理 学 指 导 教 师 : 张 进 辅 20090401 网 络 购 物 动 机 问 卷 的

More information

中 国 软 科 学 年 第 期!!!

中 国 软 科 学 年 第 期!!! 山 寨 模 式 的 形 成 机 理 及 其 对 组 织 创 新 的 启 示 山 寨 模 式 的 形 成 机 理 及 其 对 组 织 创 新 的 启 示 陶 厚 永 李 燕 萍 骆 振 心 武 汉 大 学 经 济 与 管 理 学 院 武 汉 大 学 中 国 产 学 研 合 作 问 题 研 究 中 心 湖 北 武 汉 北 京 大 学 经 济 研 究 所 光 华 天 成 博 士 后 工 作 站 北 京 本

More information

2014年中央财经大学研究生招生录取工作简报

2014年中央财经大学研究生招生录取工作简报 2015 年 中 央 财 经 大 学 研 究 生 招 生 录 取 工 作 简 报 一 硕 士 研 究 生 招 生 录 取 情 况 2015 年 共 有 8705 人 报 考 我 校 硕 士 研 究 生, 其 中 学 术 型 研 究 生 报 考 3657 人, 专 业 硕 士 研 究 生 报 考 5048 人 ; 总 报 考 人 数 较 2014 年 增 长 1.4%, 学 术 型 报 考 人 数 较

More information

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使 校 务 系 统 使 用 步 骤 说 明 手 册 简 介 此 手 册 是 配 合 校 务 系 统 使 用 手 册 编 辑 的, 因 此 必 须 同 时 参 考 校 务 系 统 使 用 手 册, 以 获 知 更 详 细 的 使 用 说 明 此 手 册 主 要 记 载 几 项 较 为 复 杂 事 务 的 处 理 步 骤 及 说 明, 以 让 使 用 者 更 容 易 掌 握 及 使 用 校 务 系 统 其

More information

Cybozu Garoon 3 管理员手册

Cybozu Garoon 3 管理员手册 附 录 D 数 据 的 输 入 样 式 数 据 的 种 类 和 输 入 字 符 的 值 等, 在 Garoon3 的 页 面 输 入 的 数 据 样 式 如 下 所 示 基 本 系 统 客 户 信 息 法 人 姓 名 字 符 串 ( 00 法 人 姓 名 ( 拼 音 ) 字 符 串 ( 00 图 标 (URL) 字 符 串 ( 255 应 用 程 序 新 名 称 字 符 串 ( 00 用 户 姓 名

More information

世华财讯模拟操作手册

世华财讯模拟操作手册 第 一 部 分 : 股 票 模 拟 操 作 部 分 1. 登 录 与 主 界 面 1.1 登 录 学 生 在 桌 面 上, 打 开 世 华 文 件 夹, 直 接 双 击 文 件 夹 中 的 快 捷 图 标, 系 统 弹 出 世 华 财 讯 模 拟 股 票 交 易 系 统 ( 客 户 端 ) 窗 口, 如 图 1.1 所 示 图 1.1 请 输 入 登 录 名 称 及 密 码, 单 击 确 认 登 录

More information

<433A5C55736572735C6B73625C4465736B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A832303136CDA8D3C3B0E6A3A92E646F63>

<433A5C55736572735C6B73625C4465736B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A832303136CDA8D3C3B0E6A3A92E646F63> 附 件 1 国 际 中 药 专 业 高 级 技 术 职 称 评 审 条 件 及 报 名 材 料 一 系 列 ( 一 ) 中 1 高 级 专 科 ( 副 ) 高 级 专 科 ( 副 ) 1 取 得 中 专 科 职 称 后, 独 立 从 事 中 临 床 实 践 5 年 以 上 2 取 得 中 博 士 学 位 后, 临 床 实 践 2 年 以 上 3 取 得 中 硕 士 学 位 后, 临 床 实 践 7

More information

ETF、分级基金规模、份额变化统计20130816

ETF、分级基金规模、份额变化统计20130816 ETF 分 级 基 金 规 模 份 额 变 化 统 计 截 至 上 周 末, 全 市 场 股 票 型 ETF 规 模 约 1451 亿, 份 额 约 1215 亿,ETF 总 份 额 及 规 模 的 周 变 动 值 分 别 为 -23-44 亿, 份 额 与 规 模 均 下 降 ; 分 级 基 金 规 模 约 438 亿, 份 额 572 亿, 总 份 额 及 规 模 的 周 变 动 值 分 别 为

More information

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类 全 国 计 算 机 等 级 考 试 调 整 方 案 2011 年 7 月, 教 育 部 考 试 中 心 组 织 召 开 了 第 五 届 全 国 计 算 机 等 级 考 试 (NCRE) 考 委 会 会 议, 会 议 完 成 NCRE 考 委 会 换 届 选 举, 并 确 定 了 下 一 步 改 革 和 发 展 的 目 标 在 新 的 历 史 时 期,NCRE 将 以 保 持 稳 定 为 前 提 以

More information

名 称 生 命 科 学 学 院 083001 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 071300 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院 040102

名 称 生 命 科 学 学 院 083001 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 071300 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院 040102 华 中 师 范 大 学 2016 年 接 收 校 内 外 优 秀 硕 士 研 究 生 调 剂 信 息 表 名 称 经 济 与 工 商 管 理 学 院 020101 政 治 经 济 学 1 经 济 学 类 毕 业 学 校 与 报 考 学 校 不 低 于 我 校 办 学 层 次 经 济 与 工 商 管 理 学 院 020105 世 界 经 济 学 1 经 济 学 类 毕 业 学 校 与 报 考 学 校

More information

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录... 1 2 企 业 基 本 信 息 查 看... 3 3 企 业 人 员 信 息 查 看... 4 4 企 业 基 本 信 息 操 作... 5 4.1 企 业 简 介... 5 4.2 企 业 章

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录... 1 2 企 业 基 本 信 息 查 看... 3 3 企 业 人 员 信 息 查 看... 4 4 企 业 基 本 信 息 操 作... 5 4.1 企 业 简 介... 5 4.2 企 业 章 工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 工 程 造 价 咨 询 企 业 管 理 系 统 ( 造 价 企 业 ) 用 户 手 册 工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录... 1 2 企 业 基 本 信 息 查 看... 3 3 企 业 人 员 信 息 查 看... 4 4 企 业 基 本 信 息 操 作... 5 4.1

More information

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍... 4 2.1 系 统 管 理 员 登 陆... 4 2.2 班

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍... 4 2.1 系 统 管 理 员 登 陆... 4 2.2 班 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 使 用 说 明 书 制 作 : 北 京 博 导 前 程 信 息 技 术 有 限 公 司 目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍... 4 2.1

More information

( 此 页 无 正 文, 为 广 东 东 方 精 工 科 技 股 份 有 限 公 司 关 于 提 供 资 料 真 实 准 确 和 完 整 的 承 诺 函 之 签 署 页 ) 广 东 东 方 精 工 科 技 股 份 有 限 公 司 法 定 代 表 人 : 唐 灼 林 2016 年 7 月 28 日

( 此 页 无 正 文, 为 广 东 东 方 精 工 科 技 股 份 有 限 公 司 关 于 提 供 资 料 真 实 准 确 和 完 整 的 承 诺 函 之 签 署 页 ) 广 东 东 方 精 工 科 技 股 份 有 限 公 司 法 定 代 表 人 : 唐 灼 林 2016 年 7 月 28 日 广 东 东 方 精 工 科 技 股 份 有 限 公 司 关 于 提 供 资 料 真 实 准 确 和 完 整 的 承 诺 函 鉴 于 广 东 东 方 精 工 科 技 股 份 有 限 公 司 ( 以 下 简 称 本 公 司 ) 拟 收 购 北 京 普 莱 德 新 能 源 电 池 科 技 有 限 公 司 股 权, 为 保 证 本 次 交 易 的 顺 利 完 成, 按 照 中 国 证 券 监 管 部 门 相

More information

第2章 数据类型、常量与变量

第2章  数据类型、常量与变量 第 2 章 数 据 类 型 常 量 与 变 量 在 计 算 机 程 序 中 都 是 通 过 值 (value) 来 进 行 运 算 的, 能 够 表 示 并 操 作 值 的 类 型 为 数 据 类 型 在 本 章 里 将 会 介 绍 JavaScript 中 的 常 量 (literal) 变 量 (variable) 和 数 据 类 型 (data type) 2.1 基 本 数 据 类 型 JavaScript

More information

øÕªß∂À≤Ÿ◊˜ ÷≤·

øÕªß∂À≤Ÿ◊˜ ÷≤· 用 户 使 用 手 册 ( 版 本 号 :4.0) 目 录 第 一 章 软 件 安 装... 1 第 二 章 软 件 的 运 行... 4 第 三 章 新 建 文 档... 7 3.1 第 一 部 分 简 表... 7 3.1.1 基 本 信 息... 7 3.1.2 从 事 专 业 关 键 词... 8 3.1.3 教 育 经 历... 8 3.1.4 工 作 经 历... 9 3.1.5 教 育

More information

上海证券交易所会议纪要

上海证券交易所会议纪要 附 件 上 海 市 场 首 次 公 开 发 行 股 票 网 下 发 行 实 施 细 则 第 一 章 总 则 第 一 条 为 规 范 拟 在 上 海 证 券 交 易 所 ( 以 下 简 称 上 交 所 ) 上 市 的 公 司 首 次 公 开 发 行 股 票 网 下 发 行 业 务, 提 高 首 次 公 开 发 行 股 票 网 下 申 购 及 资 金 结 算 效 率, 根 据 证 券 发 行 与 承 销

More information

目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化?... 11 五 如 何 向 教 师 发 送 通 知?... 13 六

目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化?... 11 五 如 何 向 教 师 发 送 通 知?... 13 六 一 刻 校 园 足 球 管 理 平 台 使 用 说 明 ( 学 校 管 理 员 版 ) 一 刻 软 件 科 技 有 限 公 司 目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化?... 11 五 如 何 向 教 师 发 送

More information

关于修订《沪市股票上网发行资金申购

关于修订《沪市股票上网发行资金申购 关 于 修 订 沪 市 股 票 上 网 发 行 资 金 申 购 实 施 办 法 的 通 知 各 有 关 单 位 : 沪 市 股 票 上 网 发 行 资 金 申 购 实 施 办 法 ( 修 订 稿 ) ( 见 附 件 ) 已 经 中 国 证 券 监 督 管 理 委 员 会 批 准, 现 将 修 订 所 涉 主 要 内 容 公 布 如 下 一 第 二 条 ( 二 ) 申 购 单 位 及 上 限 修 改

More information

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起 县 乡 两 级 的 政 治 体 制 改 革 如 何 建 立 民 主 的 合 作 新 体 制 县 乡 人 大 运 行 机 制 研 究 课 题 组 引 言 一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起 二 密 县 在 周 初 是 两 个 小 国 密 国 和 郐 国 三 密 县 的 第 一 任 县 令 卓 茂 四 明 清 时 代 的 密 县 二 从 集 中 的 动 员 体

More information

上海工程技术大学教学管理工作流

上海工程技术大学教学管理工作流 目 录 普 通 高 校 招 生 工 作 流 程... 1 普 通 高 校 招 生 工 作 流 程 图... 2 招 生 计 划 编 制 工 作 流 程... 3 招 生 计 划 编 制 工 作 流 程 图... 4 专 业 介 绍 修 订 工 作 流 程... 5 专 业 介 绍 修 订 工 作 流 程 图... 5 招 生 章 程 编 制 工 作 流 程... 6 招 生 章 程 编 制 工 作

More information

Microsoft Word - 第7章 图表反转形态.doc

Microsoft Word - 第7章 图表反转形态.doc 第 七 章 图 表 反 转 形 态 我 们 知 道 市 场 趋 势 共 有 三 种 : 上 升 趋 势 下 降 趋 势 和 横 向 整 理 市 场 的 价 格 波 动 都 是 运 行 在 这 三 种 趋 势 中, 所 有 的 走 势 都 是 这 三 种 趋 势 的 排 列 组 合 如 图 市 场 趋 势 结 构 示 意 图 7-1 所 示 市 场 趋 势 结 构 示 意 图 7-1 图 市 场 趋

More information

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业 1. 职 业 概 况 1.1 职 业 名 称 可 编 程 师 1.2 职 业 定 义 可 编 程 师 国 家 职 业 标 准 从 事 可 编 程 序 控 制 器 (PLC) 选 型 编 程, 并 对 应 用 进 行 集 成 和 运 行 管 理 的 人 员 1.3 职 业 等 级 本 职 业 共 设 四 个 等 级, 分 别 为 : 四 级 可 编 程 师 ( 国 家 职 业 资 格 四 级 ) 三

More information

标题

标题 甘 肃 政 务 服 务 网 三 张 清 单 录 入 审 核 发 布 人 员 操 作 手 册 甘 肃 省 人 民 政 府 办 公 厅 2015 年 6 月 目 录 三 张 清 单 录 入 审 核 发 布 总 体 介 绍 3 页 权 责 清 单 信 息 录 入 初 审 终 审 和 发 布 16 页 公 共 服 务 事 项 信 息 录 入 初 审 终 审 和 发 布 38 页 省 政 府 共 性 权 责

More information

徐天宏:《基因天堂》.doc

徐天宏:《基因天堂》.doc - 1 - 阅 读 说 明 您 现 在 所 阅 读 的 这 本 电 子 图 书 由 E 类 出 版 物 制 作 出 品 本 书 版 权 归 作 者 所 有, E 类 出 版 物 只 负 责 制 作 发 行 工 作 在 保 证 原 书 内 容 完 整 的 情 况 下, 您 可 以 对 本 书 进 行 转 载 如 果 您 愿 意, 我 们 很 乐 意 您 在 转 载 的 时 候 写 上 我 们 网 站

More information

四川省卫生厅关于开展医疗美容主诊医师资格考试及换证工作的通知

四川省卫生厅关于开展医疗美容主诊医师资格考试及换证工作的通知 四 川 省 医 学 会 文 件 川 学 会 医 字 [2014]161 号 四 川 省 医 学 会 关 于 开 展 医 疗 美 容 主 诊 医 师 资 格 考 试 及 换 证 工 作 的 通 知 各 市 ( 州 ) 卫 生 局 医 学 会 省 卫 生 和 计 划 生 育 委 员 会 直 属 医 疗 机 构 国 家 卫 生 和 计 划 生 育 委 员 会 驻 川 医 疗 机 构 : 根 据 四 川 省

More information

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 50.06 一 人 员 经 费 23.59 1 一 般 财 力 50.06 1 人 员 支 出 21.95 2 成 品

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 50.06 一 人 员 经 费 23.59 1 一 般 财 力 50.06 1 人 员 支 出 21.95 2 成 品 100.12 2016 年 龙 岩 市 部 门 预 算 表 报 送 日 期 : 年 月 日 单 位 负 责 人 签 章 : 财 务 负 责 人 签 章 : 制 表 人 签 章 : 收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 50.06 一 人 员 经 费 23.59

More information

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 -2016 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30-

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 -2016 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30- 证 券 代 码 :300439 证 券 简 称 : 美 康 生 物 公 告 编 号 :2016-046 宁 波 美 康 生 物 科 技 股 份 有 限 公 司 2015 年 度 股 东 大 会 决 议 公 告 公 司 及 董 事 会 全 体 成 员 保 证 信 息 披 露 的 内 容 真 实 准 确 完 整, 没 有 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏 特 别 提 示 : 1 2016

More information

·岗位设置管理流程

·岗位设置管理流程 实 施 岗 位 设 置 岗 位 设 置 编 码 受 控 状 态 执 行 心 门 行 政 人 力 资 控 制 门 总 经 办 源 各 职 能 门 行 政 人 力 资 源 总 经 办 总 经 理 根 据 公 司 发 展 战 略 进 行 职 能 分 解 和 机 构 设 置 工 作 分 析 根 据 人 力 资 源 规 划 确 定 编 制 意 见 职 责 划 分 与 岗 位 设 置 制 作 职 务 说 明 书

More information

目 录 办 公 OA 介 绍... 3 办 公 OA... 4 一. 收 件 箱 发 布 信 件 查 看 个 人 信 件... 7 二. 公 共 留 言 发 布 公 共 留 言 查 看 公 共 留 言... 9 三. 校 长 荐

目 录 办 公 OA 介 绍... 3 办 公 OA... 4 一. 收 件 箱 发 布 信 件 查 看 个 人 信 件... 7 二. 公 共 留 言 发 布 公 共 留 言 查 看 公 共 留 言... 9 三. 校 长 荐 思 库 网 Centricity2 目 录 办 公 OA 介 绍... 3 办 公 OA... 4 一. 收 件 箱... 4 1.1 发 布 信 件... 4 1.2 查 看 个 人 信 件... 7 二. 公 共 留 言... 8 2.1 发 布 公 共 留 言... 8 2.2 查 看 公 共 留 言... 9 三. 校 长 荐 读... 9 3.1 发 布 校 长 荐 读... 9 3.2

More information

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2 公 开 上 海 市 城 乡 建 设 和 管 理 委 员 会 文 件 沪 建 管 2014 758 号 上 海 市 城 乡 建 设 和 管 理 委 员 会 关 于 印 发 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 的 通 知 各 区 县 建 设 和 交 通 委 员 会 : 为 进 一 步 加 强 对 建 设 工 程 施 工 现

More information

北 京 德 恒 律 师 事 务 所 关 于 一 汽 轿 车 股 份 有 限 公 司 2012 年 度 股 东 大 会 的 法 律 意 见 致 : 一 汽 轿 车 股 份 有 限 公 司 德 恒 D201212111088810208BJ-02 号 北 京 德 恒 律 师 事 务 所 ( 以 下 简

北 京 德 恒 律 师 事 务 所 关 于 一 汽 轿 车 股 份 有 限 公 司 2012 年 度 股 东 大 会 的 法 律 意 见 致 : 一 汽 轿 车 股 份 有 限 公 司 德 恒 D201212111088810208BJ-02 号 北 京 德 恒 律 师 事 务 所 ( 以 下 简 关 于 一 汽 轿 车 股 份 有 限 公 司 2012 年 度 股 东 大 会 的 法 律 意 见 北 京 市 西 城 区 金 融 街 19 号 富 凯 大 厦 B 座 12 层 电 话 :010-52682888 传 真 :010-52682999 邮 编 :100033 北 京 德 恒 律 师 事 务 所 关 于 一 汽 轿 车 股 份 有 限 公 司 2012 年 度 股 东 大 会 的 法

More information

新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提

新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提 广 西 壮 族 自 治 区 人 事 厅 广 西 壮 族 自 治 区 文 化 厅 文 件 桂 人 发 2009 42 号 关 于 印 发 广 西 壮 族 自 治 区 文 化 事 业 单 位 岗 位 设 置 结 构 比 例 指 导 标 准 的 通 知 各 市 人 事 局 文 化 局, 区 直 各 部 门 ( 单 位 ): 根 据 人 事 部 印 发 的 事 业 单 位 岗 位 设 置 管 理 试 行 办

More information

目 录 版 本 更 新 说 明... 3 1 导 读... 4 1.1 读 者 对 象... 4 1.2 手 册 内 容 简 介... 4 1.3 软 件 简 介... 4 1.4 基 本 术 语... 5 1.5 技 术 支 持... 6 2 基 本 流 程... 6 3 操 作 步 骤... 8

目 录 版 本 更 新 说 明... 3 1 导 读... 4 1.1 读 者 对 象... 4 1.2 手 册 内 容 简 介... 4 1.3 软 件 简 介... 4 1.4 基 本 术 语... 5 1.5 技 术 支 持... 6 2 基 本 流 程... 6 3 操 作 步 骤... 8 地 质 调 查 项 目 统 计 信 息 子 系 统 用 户 手 册 V2.0(2016 简 明 版 ) 技 术 支 持 : 中 国 地 质 调 查 局 发 展 研 究 中 心 http://www.drc.cgs.gov.cn 资 料 版 本 :DRC-CGSTJ-20160619 1 目 录 版 本 更 新 说 明... 3 1 导 读... 4 1.1 读 者 对 象... 4 1.2 手 册

More information

电信系教学大纲的基本规范

电信系教学大纲的基本规范 兰 州 大 学 信 息 科 学 与 工 程 学 院 Java 语 言 程 序 设 计 实 验 教 学 大 纲 一. 课 程 基 本 信 息 : 实 验 课 程 编 号 : 课 程 名 称 : Java 语 言 程 序 设 计 实 验 课 课 程 性 质 : 非 单 列 实 验 课 课 程 类 型 : 必 做 课 程 负 责 人 : 马 俊 等 适 用 专 业 : 计 算 机 科 学 与 技 术 专

More information

<4D6963726F736F667420576F7264202D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

<4D6963726F736F667420576F7264202D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63> 国 家 职 业 标 准 1 可 编 程 序 控 制 系 统 设 计 师 国 家 职 业 标 准 1. 职 业 概 况 1.1 职 业 名 称 可 编 程 序 控 制 系 统 设 计 师 1.2 职 业 定 义 从 事 可 编 程 序 控 制 器 (PLC) 选 型 编 程, 并 对 应 用 系 统 进 行 设 计 集 成 和 运 行 管 理 的 人 员 1.3 职 业 等 级 本 职 业 共 设 四

More information

GONGZUO JUJIAO 宝 山 区 领 军 人 才 名 单 宝 山 区 第 七 批 拔 尖 人 才 名 单 2

GONGZUO JUJIAO 宝 山 区 领 军 人 才 名 单 宝 山 区 第 七 批 拔 尖 人 才 名 单 2 GONGZUO JUJIAO 宝 山 区 命 名 表 彰 领 军 人 才 第 七 批 拔 尖 人 才 和 青 年 尖 子 1 GONGZUO JUJIAO 宝 山 区 领 军 人 才 名 单 宝 山 区 第 七 批 拔 尖 人 才 名 单 2 GONGZUO JUJIAO 旻 3 GONGZUO JUJIAO 宝 山 区 第 七 批 青 年 尖 子 名 单 4 GONGZUO JUJIAO 宝 山

More information

系统设计文档_样稿管理模块 V1.1_.doc

系统设计文档_样稿管理模块 V1.1_.doc 系 统 设 计 文 档 生 产 资 料 管 理 系 统 (Production Material Management System, PMMS) 样 稿 ( 样 件 ) 管 理 模 块 ( 第 1 期 ) 文 档 版 本 :1.1 文 档 日 期 : 2012-08-30 文 档 作 者 : 曾 勇 松 其 它 参 与 人 : 第 1 页 / 共 16 页 文 档 修 订 记 录 修 订 记 录

More information

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术 住 房 和 城 乡 建 设 部 关 于 印 发 工 程 勘 察 资 质 标 准 的 通 知 建 市 [2013]9 号 各 省 自 治 区 住 房 和 城 乡 建 设 厅, 北 京 市 规 划 委, 天 津 上 海 市 建 设 交 通 委, 重 庆 市 城 乡 建 设 委, 新 疆 生 产 建 设 兵 团 建 设 局, 总 后 基 建 营 房 部 工 程 局, 国 务 院 有 关 部 门 建 设 司,

More information

2 2015 年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

2 2015 年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公 证 券 代 码 :300017 证 券 简 称 : 网 宿 科 技 公 告 编 号 :2016-053 网 宿 科 技 股 份 有 限 公 司 关 于 调 整 公 司 2015 年 股 票 期 权 激 励 计 划 激 励 对 象 股 票 期 权 数 量 和 行 权 价 格 的 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 公 告 内 容 真 实 准 确 和 完 整, 没 有 虚 假 记

More information

引言

引言 教 育 网 络 视 频 播 控 平 台 用 户 手 册 第 1 页 共 78 页 修 订 记 录 序 号 变 更 日 期 变 更 理 由 变 更 内 容 版 本 编 制 / 修 改 1 2015-1-5 初 稿 初 稿 1.0 代 盈 第 2 页 共 78 页 目 录 修 订 记 录... 2 目 录... 3 1. 引 言... 4 1.1 编 写 目 的... 4 1.2 项 目 背 景...

More information

朱 丽 明 柯 美 云 周 丽 雅 袁 耀 宗 罗 金 燕 候 晓 华 陈 旻 湖 滥 用 安 非 他 命 会 增 加 得 心 脏 病 的 风 险 据 美 国 科 技 新 闻 网 报 道 根 据 纽 约 路 透 社 报 道 一 份 新 的 研 究 显 示 青 年 及 成 年 人 若 滥 用 安 非 他 命 会 增 加 得 心 脏 病 的 风 险 美 国 德 州 大 学 西 南 医 学 中 心

More information

第1篇 道路桥梁工程技术核心专业课程标准及学习绩效考评体系

第1篇 道路桥梁工程技术核心专业课程标准及学习绩效考评体系 陕 西 铁 路 工 程 职 业 技 术 学 院 课 程 标 准 ( 适 用 建 筑 工 程 技 术 专 业 ) 课 程 名 称 : 单 位 工 程 施 工 组 织 设 计 执 笔 人 : 王 恒 博 审 定 人 : 编 制 时 间 : 年 月 日 陕 西 铁 路 工 程 职 业 技 术 学 院 制 表 二 〇 一 一 年 九 月 课 程 标 准 一 课 程 基 本 信 息 课 程 编 码 略 开 设

More information