大数据技术基础

Size: px
Start display at page:

Download "大数据技术基础"

Transcription

1 获取教材和讲义 PPT 等各种课程资料请访问 = 课程教材由林子雨老师根据网络资料编著 = 厦门大学计算机科学系教师林子雨编著 年 9 月 1 / 38

2 前言 本教程由厦门大学计算机科学系教师林子雨编著, 可以作为计算机专业研究生课程 大数据技术基础 的辅助教材 本教程的主要内容包括 : 大数据概述 大数据处理模型 大数据关键技术 大数据时代面临的新挑战 NoSQL 数据库 云数据库 Google Spanner Hadoop HDFS HBase MapReduce Zookeeper 流计算 图计算和 Google Dremel 等 本教程是林子雨通过大量阅读 收集 整理各种资料后精心制作的学习材料, 与广大数据库爱好者共享 教程中的内容大部分来自网络资料和书籍, 一部分是自己撰写 对于自写内容, 林子雨老师拥有著作权 本教程 PDF 文档及其全套教学 PPT 可以通过网络免费下载和使用 ( 下载地址 : 教程中可能存在一些问题, 欢迎读者提出宝贵意见和建议! 本教程已经应用于厦门大学计算机科学系研究生课程 大数据技术基础, 欢迎访问 2013 班级网站 林子雨的 是 :ziyulin@xmu.edu.cn 林子雨的个人主页是 : 林子雨于厦门大学海韵园 2013 年 9 月 2 / 38

3 第 7 章 HBase 厦门大学计算机科学系教师林子雨编著个人主页 : 课程网址 : 年 9 月 3 / 38

4 第 7 章 HBase HBase 是一个分布式的 面向列的开源数据库, 该技术来源于 Google 公司发表的论文 BigTable: 一个结构化数据的分布式存储系统 HBase 是 Apache 的 Hadoop 项目的一个子项目 就像 BigTable 利用了 Google 文件系统 GFS(Google File System) 所提供的分布式数据存储一样,HBase 在 Hadoop 文件系统 HDFS(Hadoop Distributed File System) 之上提供了类似于 BigTable 的能力 HBase 不同于一般的关系数据库, 它是一个适合于非结构化数据存储的数据库, 而且 HBase 采用了基于列而不是基于行的模式 本章介绍 HBase 相关知识, 内容要点如下 : HBase 简介 HBase 使用场景和成功案例 HBase 和传统关系数据库的对比分析 HBase 访问接口 HBase 数据模型 HBase 系统架构 HBase 存储格式 读写数据 MapReduce on HBase 7.1 HBase 简介 HBase Hadoop Database, 是一个高可靠性 高性能 面向列 可伸缩的分布式存储系统, 利用 HBase 技术可在廉价 PC 服务器上搭建起大规模结构化存储集群 HBase 是 Google BigTable 的开源实现, 模仿并提供了基于 Google 文件系统的 BigTable 数据库的所有功能 类似 Google BigTable 利用 GFS 作为其文件存储系统,HBase 利用 Hadoop HDFS 作为其文件存储系统 ;Google 运行 MapReduce 来处理 BigTable 中的海量数据,HBase 同样利用 Hadoop MapReduce 来处理 HBase 中的海量数据 ;Google BigTable 利用 Chubby 作 4 / 38

5 为协同服务,HBase 利用 Zookeeper 作为协同服务 HBase 仅能通过行键 (row key) 和行键的值域区间范围 (range) 来检索数据, 并且仅支持单行事务 ( 可通过 Hive 支持来实现多表连接等复杂操作 ) HBase 主要用来存储非结构化和半结构化的松散数据 HBase 可以直接使用本地文件系统或者 Hadoop 作为数据存储方式, 不过为了提高数据可靠性和系统的健壮性, 发挥 HBase 处理大数据量等功能, 需要使用 Hadoop 作为文件系统 与 Hadoop 一样,HBase 目标主要依靠横向扩展, 通过不断增加廉价的商用服务器来增加计算和存储能力 HBase 的目标是处理非常庞大的表, 可以用普通的计算机处理超过 10 亿行数据并且由数百万列元素组成的数据表 HBase 中的表一般有这样的特点 : 大 : 一个表可以有上亿行, 上百万列 ; 面向列 : 面向列 ( 族 ) 的存储和权限控制, 列 ( 族 ) 独立检索 ; 稀疏 : 对于为空 (null) 的列, 并不占用存储空间, 因此, 表可以设计得非常稀疏 图 7-1 Hadoop 体系架构图 7-1 描述了 Hadoop 生态系统中的各层系统, 其中,HBase 位于结构化存储层,HDFS 为 HBase 提供了高可靠性的底层存储支持,MapReduce 为 HBase 提供了高性能的计算能力, Zookeeper 为 HBase 提供了稳定服务和失败恢复机制 此外,Pig 和 Hive 还为 HBase 提供了高层语言支持, 使得在 HBase 上进行数据统计处理变得非常简单 Sqoop 则为 HBase 提供了方便的 RDBMS 数据导入功能, 使得传统数据库 5 / 38

6 数据向 HBase 中迁移变得非常方便 7.2 HBase 使用场景和成功案例 HBase 被证实是一个强大的工具, 尤其是在已经使用 Hadoop 的场合 在其 婴儿期 的时候, 它就快速部署到了其他公司的生产环境, 并得到开发人员的支持 今天,HBase 已经是 Apache 顶级项目, 有着众多的开发人员和兴旺的用户社区 它成为一个核心的基础架构部件, 运行在世界上许多公司 ( 如 StumbleUpon Trend Micro Facebook Twitter Salesforce 和 Adobe) 的大规模生产环境中 HBase 不是数据管理问题的 万能药, 针对不同的使用场景你可能需要考虑其他的技术 让我们看看现在 HBase 是如何使用的, 人们用它构建了什么类型的应用系统 通过这个讨论, 你会知道哪种数据问题适合使用 HBase 有时候了解软件产品的最好方法是看看它是怎么用的 它可以解决什么问题和这些解决方案如何适用于大型应用架构, 这些能够告诉你很多 因为 HBase 有许多公开的产品部署案例, 我们正好可以这么做 下面将详细介绍一些成功使用 HBase 的使用场景 HBase 模仿了 Google 的 BigTable, 让我们先从典型的 BigTable 问题开始 : 存储互联网 典型的互联网搜索问题 :BigTable 发明的原因 搜索是一种定位你所关心信息的行为 例如, 搜索一本书的页码, 其中含有你想读的主题, 或者搜索网页, 其中含有你想找的信息 搜索含有特定词语的文档, 需要查找索引, 该索引提供了特定词语和包含该词语的所有文档的映射 为了能够搜索, 首先必须建立索引 Google 和其他搜索引擎正是这么做的 它们的文档库是整个互联网, 搜索的特定词语就是你在搜索框里敲入的任何东西 BigTable 和模仿出来的 HBase, 为这种文档库提供存储,BigTable 提供行级访问, 所以, 爬虫可以在 BigTable 中插入和更新单个文档, 每个文档保存为 BigTable 中的一行 MapReduce 计算作业运行在 BigTable 的整张表上, 就可以高效地生成搜索索引, 为网络搜索应用做准备 当用户发起网络搜索请求时, 网络搜索应用就会查询已经建立好的索引, 直接从 BigTable 中得到匹配的文档, 然后把搜索结果提交给用户 图 7-2 显示了互联网搜索应用中 BigTable 的关键角色 6 / 38

7 图 7-2 使用 BigTable 提供网络搜索结果讲完典型 HBase 使用场景以后, 我们来看看其他使用 HBase 的地方 愿意使用 HBase 的用户数量在过去几年里迅猛增长, 部分原因在于 HBase 产品变得更加可靠且性能变得更好, 更多原因在于越来越多的公司开始投入大量资源来支持和使用它 随着越来越多的商业服务供应商提供支持, 用户越发自信地把 HBase 应用于关键应用系统中 一个设计初衷是用 HBase 来存储互联网持续更新的网页副本, 用在互联网相关的其他方面也是很合适的 例如,HBase 在社交网络公司内部和周围各种各样的需求中, 也找到了用武之地 从存储个人之间的通信信息, 到通信信息分析,HBase 成为了 Facebook Twitter 和 StumbleUpon 等公司的关键基础设施 在这个领域,HBase 有 3 种主要使用场景, 但不限于这 3 种 接下来我们将介绍这 3 种主要的使用场景 :( 1) 抓取增量数据 ;(2) 内容服务 ;(3) 信息交换 抓取增量数据 数据通常是细水长流的, 不断累加到已有的数据库中以备将来使用, 如分析 处理和服务 许多 HBase 使用场景属于这一类 使用 HBase 作为数据存储, 抓取来自各种数据源的增量数据 例如, 这种数据源可能是网页爬虫 ( 我们讨论过的 BigTable 典型问题 ), 可能是记录用户看了什么广告和看了多长时间的广告效果数据, 也可能是记录各种参数的时间序列数据 我们讨论几个成功的使用场景, 以及这些项目涉及的公司 7 / 38

8 1. 抓取监控指标 :OpenTSDB 服务数百万用户的 基于 Web 的产品的后台基础设施, 一般都有数百或数千台服务器 这些服务器承担了各种功能 服务流量 抓取日志 存储数据和处理数据等等 为了保证产品正常运行, 对服务器及其上面运行的软件的健康状态进行监控, 是至关重要的 ( 从 OS 到用户交互应用 ) 大规模监控整个环境, 需要能够采集和存储来自不同数据源各种监控指标的监控系统 每个公司都有自己的办法 一些公司使用商业工具来收集和展示监控指标, 而另外一些公司则采用开源框架 StumbleUpon 创建了一个开源框架, 用来收集服务器的各种监控指标 按照时间收集监控指标一般被称为时间序列数据, 也就是说, 按照时间顺序收集和记录的数据 StumbleUpon 的开源框架叫做 OpenTSDB, 它是 Open Time Series Database( 开放时间序列数据库 ) 的缩写 这个框架使用 HBase 作为核心平台来存储和检索所收集的监控指标 创建这个框架的目的是为了拥有一个可扩展的监控数据收集系统, 一方面, 能够存储和检索监控指标数据并保存很长时间, 另一方面, 如果需要增加功能, 也可以添加各种新监控指标 StumbleUpon 使用 OpenTSDB 监控所有基础设施和软件, 包括 HBase 集群自身 2. 抓取用户交互数据 :Facebook 和 StumbleUpon 抓取监控指标是一种使用方式, 还有一种使用方式是抓取用户交互数据 如何跟踪数百万用户在网站上的活动? 怎么知道哪一个网站功能最受欢迎? 怎样使得这一次网页浏览直接影响到下一次? 例如, 谁看了什么? 某个按钮被点击了多少次? 还记得 Facebook 和 Stumble 里的 Like 按钮和 StumbleUpon 里的 +1 按钮吗? 是不是听起来像是一个计数问题? 每次用户喜欢一个特定主题, 计数器就增加一次 StumbleUpon 在开始阶段采用的是 MySQL, 但是, 随着网站服务越来越流行, 这种技术选择遇到了问题 急剧增长的用户在线负载需求, 远远超过了 MySQL 集群的能力, 最终, StumbleUpon 选择使用 HBase 来替换这些集群 当时,HBase 产品不能直接提供必需的功能 StumbleUpon 在 HBase 上做了一些小的开发改动, 后来将这些开发工作贡献回了项目社区 FaceBook 使用 HBase 的计数器来计量人们喜欢特定网页的次数 内容原创人和网页主人可以得到近乎实时的 多少用户喜欢他们网页的数据信息 他们可以因此更敏捷地判断应该提供什么内容 Facebook 为此创建了一个叫 Facebook Insights 的系统, 该系统需要一个可扩展的存储系统 公司考虑了很多种可能的选择, 包括关系型数据库管理系统 内存数据库 8 / 38

9 和 Cassandra 数据库, 最后决定使用 HBase 基于 HBase,Facebook 可以很方便地横向扩展服务规模, 给数百万用户提供服务, 还可以继续沿用他们已有的运行大规模 HBase 集群的经验 该系统每天处理数百亿条事件, 记录数百个监控指标 3. 遥测技术 :Mozilia 和 Trend Micro 软件运行数据和软件质量数据, 不像监控指标数据那么简单 例如, 软件崩溃报告是有用的软件运行数据, 经常用来探究软件质量和规划软件开发路线图 HBase 可以成功地用来捕获和存储用户计算机上生成的软件崩溃报告 Mozilla 基金会负责 FireFox 网络浏览器和 Thunderbird 电子邮件客户端两个产品 这些工具安装在全世界数百万台计算机上, 支持各种操作系统 当这些工具崩溃时, 会以 Bug 报告的形式返回一个软件崩溃报告给 Mozilla Mozilla 如何收集这些数据? 收集后又是怎么使用的呢? 实际情况是这样的, 一个叫做 Socorro 的系统收集了这些报告, 用来指导研发部门研制更稳定的产品 Socorro 系统的数据存储和分析建构在 HBase 上 使用 HBase, 基本分析可以用到比以前多得多的数据 这种分析用来指导 Mozilla 的开发人员, 使其更为专注, 研制出 Bug 最少的版本 Trend Micro 为企业客户提供互联网安全和入侵管理服务 安全的重要环节是感知, 日志收集和分析对于提供这种感知能力是至关重要的 Trend Micro 使用 HBase 来管理网络信誉数据库, 该数据库需要行级更新和支持 MapReduce 批处理 有点像 Mozilla 的 Socorro 系统,HBase 也用来收集和分析日志活动, 每天收集数十亿条记录 HBase 中灵活的数据模式允许数据结构出现变化, 当分析流程重新调整时,Trend Micro 可以增加新属性 4. 广告效果和点击流 过去十来年, 在线广告成为互联网产品的一个主要收入来源 先提供免费服务给用户, 在用户使用服务的时侯投放广告给目标用户 这种精准投放需要针对用户交互数据做详细的捕获和分析, 以便理解用户的特征 基于这种特征, 选择并投放广告 精细的用户交互数据会带来更好的模型, 进而导致更好的广告投放效果, 并获得更多的收入 但是, 这类数据有两个特点 : 它以连续流的形式出现, 它很容易按用户划分 理想情况下, 这种数据一旦产生就能够马上使用, 用户特征模型可以没有延迟地持续优化, 也就是说, 以在线方式使用 HBase 非常适合收集这种用户交互数据,HBase 已经成功地应用在这种场合, 它可以存 9 / 38

10 储第一手点击流和用户交互数据, 然后用不同的处理方式 (MapReduce 是其中一种 ) 来处理数据 ( 清理 丰富和使用数据 ) 在这类公司, 你会发现很多 HBase 案例 内容服务 传统数据库最主要的使用场合之一是为用户提供内容服务 各种各样的数据库支撑着提供各种内容服务的应用系统 多年来, 这些应用一直在发展, 因此, 它们所依赖的数据库也在发展 用户希望使用和交互的内容种类越来越多 此外, 由于互联网迅猛的增长以及终端设备更加迅猛的增长, 对这些应用的接入方式提出了更高的要求 各种各样的终端设备带来了另一个挑战 : 不同的设备需要以不同的格式使用同样的内容 上面说的是用户消费内容 (user consuming content), 另外一个完全不同的使用场景是用户生成内容 (user generate content) Twitter 帖子 Facebook 帖子 Instagram 图片和微博等都是这样的例子 它们的相同之处是使用和生成了许多内容 大量用户通过应用系统来使用和生成内容, 而这些应用系统需要 HBase 作为基础 内容管理系统 (Content Management System,CMS) 可以集中管理一切, 可以用来存储内容和提供内容服务 但是, 当用户越来越多, 生成的内容越来越多的时候, 就需要一个更具可扩展性的 CMS 解决方案 可扩展的 Lily CMS 使用 HBase 作为基础, 加上其他开源框架, 如 Solr, 构成了一个完整的功能组合 Salesforce 提供托管 CRM 产品, 这个产品通过网络浏览器界面提交给用户使用, 显示出丰富的关系型数据库功能 在 Google 发表 NoSQL 原型概念论文之前很长一段时间, 在生产环境中使用的大型关键数据库最合理的选择就是商用关系型数据库管理系统 多年来, Salesforce 通过数据库分库和尖端性能优化手段的结合扩展了系统处理能力, 达到每天处理数亿事务的能力 当 Salesforce 把分布式数据库系统列入选择范围后, 他们评测了所有 NoSQL 技术产品, 最后决定部署 HBase 一致性的需求是这个决定的主要原因 BigTable 类型的系统是唯一的架构方式, 结合了无缝水平扩展能力和行级强一致性能力 此外,Salesforce 已经在使用 Hadoop 完成大型离线批处理任务, 他们可以继续沿用 Hadoop 上面积累的宝贵经验 1.URL 短链接 10 / 38

11 最近一段时间 URL 短链接非常流行, 许多类似产品破土而出 StumbleUpon 使用名字为 su.pr. 的短链接产品, 这个产品以 HBase 为基础 这个产品用来缩短 URL, 存储大量的短链接以及和原始长链接的映射关系,HBase 帮助这个产品实现扩展能力 2. 用户模型服务 经 HBase 处理过的内容往往并不直接提交给用户使用, 而是用来决定应该提交给用户什么内容 这种中间处理数据用来丰富用户的交互 还记得前面提到的广告服务场景里的用户特征吗? 用户特征 ( 或者说模型 ) 就是来自 HBase 这种模型多种多样, 可以用于多种不同场景 例如, 针对特定用户投放什么广告的决定, 用户在电商网站购物时实时报价的决定, 用户在搜索引擎检索时增加背景信息和关联内容, 等等 很多这种使用案例可能不便于公开讨论, 说多了我们就有麻烦了 当用户在电商网站上发生交易时,Runa 用户模型服务可以用来实时报价 这种模型需要基于不断产生的新用户数据持续调优 信息交换 各种社交网络破土而出, 世界变得越来越小 社交网站的一个重要作用就是帮助人们进行互动 有时互动在群组内发生 ( 小规模和大规模 ), 有时互动在两个个人之间发生 想想看, 数亿人通过社交网络进行对话的场面 单单和远处的人对话还不足以让人满意, 人们还想看看和其他人对话的历史记录 让社交网络公司感到幸运的是, 保存这些历史记录很廉价, 大数据领域的创新可以帮助他们充分利用廉价的存储 在这方面,Facebook 短信系统经常被公开讨论, 它也可能极大地推动了 HBase 的发展 当你使用 Facebook 时, 某个时候你可能会收到或者发送短信给你的朋友 Facebook 的这个特性完全依赖于 HBase 用户读写的所有短信都存储在 HBase 里 Facebook 短信系统要求 : 高的写吞吐量, 极大的表, 数据中心内的强一致性 除了短信系统之外, 其他应用系统要求 : 高的读吞吐量, 计数器吞吐量, 自动分库 工程师们发现 HBase 是一个理想的解决方案, 因为它支持所有这些特性, 它拥有一个活跃的用户社区,Facebook 运营团队在 Hadoop 部署上有丰富经验等等 在 Hadoop goes realtime at Facebook 这篇文章里,Facebook 工程师解释了这个决定背后的逻辑并展示了他们使用 Hadoop 和 HBase 构建在线系统的经验 Facebook 工程师在 HBaseCon 2012 大会上分享了一些有趣的数据 在这个平台上每天 11 / 38

12 交换数十亿条短信, 每天带来大约 750 亿次操作 尖峰时刻,Facebook 的 HBase 集群每秒发生 150 万次操作 从数据规模角度看,Facebook 的集群每月增加 250TB 的新数据, 这可能是已知的最大的 HBase 部署, 无论是服务器的数量还是服务器所承载的用户量 上述一些示例, 解释了 HBase 如何解决一些有趣的老问题和新问题 你可能注意到一个共同点 :HBase 可以用来对相同数据进行在线服务和离线处理 这正是 HBase 的独到之处 7.3 HBase 和传统关系数据库的对比分析 HBase 与以前的关系数据库存在很大的区别, 它是按照 BigTable 来开发的, 是一个稀疏的 分布的 持续多维度的排序映射数组 HBase 就是这样一个基于列模式的映射数据库, 它只能表示很简单的 键 - 数据 的映射关系, 它大大简化了传统的关系数据库 二者具体区别如下 : 数据类型 :HBase 只有简单的字符串类型, 所有类型都是交由用户自己处理, 它只保存字符串 而关系数据库有丰富的类型选择和存储方式 数据操作 :HBase 操作只有很简单的插入 查询 删除 清空等, 表和表之间是分离的, 没有复杂的表和表之间的关系, 所以, 不能也没有必要实现表和表之间的关联等操作 而传统的关系数据通常有各种各样的函数 连接操作 存储模式 :HBase 是基于列存储的, 每个列族都有几个文件保存, 不同列族的文件是分离的 传统的关系数据库是基于表格结构和行模式保存的 数据维护 :HBase 的更新, 确切地说, 应该不叫更新, 而是一个主键或者列对应的新的版本, 而它旧有的版本仍然会保留, 所以, 它实际上是插入了新的数据, 而不是传统关系数据库里面的替换修改 可伸缩性 :HBase 和 BigTable 这类分布式数据库就是直接为了这个目的开发出来的, 能够轻易地增加或者减少 ( 在硬件错误的时候 ) 硬件数量, 而且对错误的兼容性较高 而传统的关系数据库通常需要增加中间层才能实现类似的功能 当前的关系数据库基本都是从上世纪 70 年代发展而来的, 它们基本都有以下的体系特点 : 面向磁盘存储和索引结构 ; 多线程访问 ; 12 / 38

13 基于锁的同步访问机制 ; 基于日志记录的恢复机制 而 BigTable 和 HBase 之类基于列模式的分布式数据库, 更适应海量存储和互联网应用的需求, 灵活的分布式架构可以使其利用廉价的硬件设备组建一个大的数据仓库 互联网应用是以字符为基础的,BigTable 和 HBase 就是针对这些应用而开发出来的数据库 由于其中的时间戳特性,BigTable 和 HBase 与生俱来就特别适合于开发 wiki archive.org 之类的服务, 而 HBase 直接就是作为一个搜索引擎的一部分被开发出来的 7.4 HBase 访问接口 Native Java API: 最常规和高效的访问方式, 适合 Hadoop MapReduce 作业并行批处理 HBase 表数据 ; HBase Shell:HBase 的命令行工具, 最简单的接口, 适合 HBase 管理使用 ; Thrift Gateway: 利用 Thrift 序列化技术, 支持 C++,PHP,Python 等多种语言, 适合其他异构系统在线访问 HBase 表数据 ; REST Gateway: 支持 REST 风格的 Http API 访问 HBase, 解除了语言限制 ; Pig: 可以使用 Pig Latin 流式编程语言来操作 HBase 中的数据, 和 Hive 类似, 最终也是编译成 MapReduce 作业来处理 HBase 表数据, 适合做数据统计 ; Hive: 可以使用类似 SQL 语言来访问 HBase 7.5 HBase 数据模型 概述 HBase 是一个类似 BigTable 的分布式数据库, 大部分特性和 BigTable 一样, 是一个稀疏的 长期存储的 ( 存在硬盘上 ) 多维度的 排序的映射表 这张表的索引是行关键字 列关键字和时间戳 每个值是一个不解释的字符数组, 数据都是字符串, 没有类型 用户在表中存储数据 ( 如表 7-1 所示 ), 每一行都有一个可排序的主键和任意多的列 由于是稀疏存储的, 所以, 同一张表里面的每一行数据都可以有截然不同的列 列名字的格式是 <family>:<label>, 都是由字符串组成, 每一张表有一个 family 集合, 这个集合是固定不变的, 相当于表的结构, 只能通过改变表结构来改变 但是,label 值相 13 / 38

14 对于每一行来说都是可以改变的 HBase 把同一个 family 里面的数据存储在同一个目录底下, 而 HBase 的写操作是锁行的, 每一行都是一个原子元素, 都可以加锁 所有数据库的更新都有一个时间戳标记, 每个更新都是一个新的版本, 而 HBase 会保留一定数量的版本, 这个值是可以设定的 客户端可以选择获取距离某个时间最近的版本, 或者一次获取所有版本 表 7-1 HBase 数据实例 Row Timestamp Column Family Key URI Parser t3 url= title= 天天特价 r1 t2 host=taobao.com t1 r2 t5 url= content= 每天 t4 host=alibaba.com 数据模型相关概念 在 HBase 数据模型中, 包括如下三个重要概念 : 行键 (Row Key):HBase 表的主键, 表中的记录按照行键排序 ; 时间戳 (Timestamp): 每次数据操作对应的时间戳, 可以看作是数据的版本号 ; 列族 (Column Family): 表在水平方向有一个或者多个列族组成, 一个列族中可以由任意多个列组成, 即列族支持动态扩展, 无需预先定义列的数量以及类型, 所有列均以二进制格式存储, 用户需要自行进行类型转换 1. 行键 行键是用来检索记录的主键 访问 HBase 表中的行, 只有三种方式 : 通过单个行键访问 通过行键的区间范围 14 / 38

15 全表扫描行键可以是任意字符串 ( 最大长度是 64KB, 实际应用中长度一般为 bytes), 在 HBase 内部, 行键保存为字节数组 存储时, 数据按照行键的字典序 (byte order) 排序存储 设计键时, 要充分考虑这个特性, 将经常一起读取的行存储放到一起 ( 位置相关性 ) 注意 : 字典序对 int 排序的结果是 1,10,100,11,12,13,14,15,16,17,18,19,2,20, 21,,9,91,92,93,94,95,96,97,98,99 要保持整形的自然序, 行键必须用 0 作左填充 行的一次读写是原子操作 ( 不论一次读写多少列 ) 这个设计决策能够使用户很容易地理解程序在对同一个行进行并发更新操作时的行为 2. 列族 HBase 表中的每个列都归属于某个列族 列族是表的模式的一部分 ( 而列不是表的模式的一部分 ), 必须在使用表之前定义 列名都以列族作为前缀 例如 courses:history, courses:math 都属于 courses 这个列族 访问控制 磁盘和内存的使用统计都是在列族层面进行的 实际应用中, 列族上的控制权限能帮助我们管理不同类型的应用 : 我们允许一些应用可以添加新的基本数据, 一些应用可以读取基本数据并创建继承的列族, 一些应用则只允许浏览数据 ( 甚至可能因为隐私的原因不能浏览所有数据 ) 3. TimeStamp HBase 中通过行和列确定的一个存储单元称为 cell 每个 cell 都保存着同一份数据的多个版本 不同的版本是通过时间戳来进行索引的, 时间戳的类型是 64 位整型 时间戳可以由 HBase ( 在数据写入时自动 ) 赋值, 此时, 时间戳是精确到毫秒的当前系统时间 时间戳也可以由客户显式赋值 如果应用程序要避免数据版本冲突, 就必须自己生成具有唯一性的时间戳 每个 cell 中, 不同版本的数据按照时间倒序排序, 即最新的数据排在最前面 cell 中的数据是没有类型的, 全部是字节码形式存储 为了避免数据存在过多版本造成的管理 ( 包括存储和索引 ) 负担,HBase 提供了两种数据版本回收方式 一是保存数据的最后 n 个版本, 二是保存最近一段时间内的版本 ( 比如最近七天 ) 用户可以针对每个列族进行设置 15 / 38

16 7.5.3 概念视图 一个表可以想象成一个大的映射关系, 通过主键, 或者主键 + 时间戳, 可以定位一行数 据, 由于是稀疏数据, 所以某些列可以是空白的, 表 7-2 就是 HBase 存储数据的概念视图 表 7-2 HBase 数据的概念视图 Row Key Time Stamp Column "contents:" Column "anchor:" Column "mime:" "com.cnn.www" t9 "anchor:cnnsi.com" "CNN" t8 "anchor:my.look.ca" "CNN.com" t6 "<html>..." "text/html" t5 t3 "<html>..." "<html>..." 表 7-2 是一个存储 Web 网页的范例列表片断 行名是一个反向 URL( 即 com.cnn.www) contents 列族用来存放网页内容,anchor 列族存放引用该网页的锚链接文本 CNN 的主页被 Sports Illustrater( 即所谓 SI,CNN 的王牌体育节目 ) 和 MY-look 的主页引用, 因此, 该行包含了名叫 anchor:cnnsi.com 和 anchhor:my.look.ca 的列 每个锚链接只有一个版本 ( 由时间戳标识, 如 t9,t8); 而 contents 列则有三个版本, 分别由时间戳 t3,t5 和 t6 标识 物理视图 虽然从概念视图来看,HBase 中的每个表格是由很多行组成的, 但是, 在物理存储上面, 它是按照列来保存的, 这点在数据设计和程序开发的时候必须牢记 表 7-2 的概念视图在物理存储的时候应该表现成类似表 7-3 的样子 表 7-3 HBase 数据的物理视图 Row Key Time Stamp Column "contents:" "com.cnn.www" t6 "<html>..." t5 "<html>..." 16 / 38

17 t3 "<html>..." Row Key Time Stamp Column "anchor:" "com.cnn.www" t9 "anchor:cnnsi.com" "CNN" t8 "anchor:my.look.ca" "CNN.com" Row Key Time Stamp Column "mime:" "com.cnn.www" t6 "text/html" 需要注意的是, 在概念视图 ( 见表 7-2) 上面有些列是空白的, 这样的列实际上并不会被存储, 当请求这些空白的单元格的时候, 会返回 null 值 如果在查询的时候不提供时间戳, 那么会返回距离现在最近的那一个版本的数据 因为在存储的时候, 数据会按照时间戳排序 例子 1: 一个程序写 10 行数据,row[0-9], 先写入 anchor:foo 列, 再写入 anchor:bar 列, 最后重复写入 anchor:foo 列, 由于是同一个列族, 写到同一个映射文件里面, 最后写到文件里面是下面这个样子的 : row=row0, column=anchor:bar, timestamp= row=row0, column=anchor:foo, timestamp= row=row0, column=anchor:foo, timestamp= row=row1, column=anchor:bar, timestamp= row=row1, column=anchor:foo, timestamp= row=row1, column=anchor:foo, timestamp= row=row2, column=anchor:bar, timestamp= row=row2, column=anchor:foo, timestamp= row=row2, column=anchor:foo, timestamp= row=row3, column=anchor:bar, timestamp= / 38

18 row=row3, column=anchor:foo, timestamp= row=row3, column=anchor:foo, timestamp= row=row4, column=anchor:bar, timestamp= row=row4, column=anchor:foo, timestamp= row=row4, column=anchor:foo, timestamp= row=row5, column=anchor:bar, timestamp= row=row5, column=anchor:foo, timestamp= row=row5, column=anchor:foo, timestamp= row=row6, column=anchor:bar, timestamp= row=row6, column=anchor:foo, timestamp= row=row6, column=anchor:foo, timestamp= row=row7, column=anchor:bar, timestamp= row=row7, column=anchor:foo, timestamp= row=row7, column=anchor:foo, timestamp= row=row8, column=anchor:bar, timestamp= row=row8, column=anchor:foo, timestamp= row=row8, column=anchor:foo, timestamp= row=row9, column=anchor:bar, timestamp= row=row9, column=anchor:foo, timestamp= row=row9, column=anchor:foo, timestamp= 其中 anchor:foo 被保存了两次, 由于时间戳不同, 是两个不同的版本, 而最新的数据排 在前面, 所以最新那次更新会先被找到 7.6 HBase 的实现 表和 HRegion HBase 实现包括三个主要的功能组件 :(1) 库函数 : 链接到每个客户端 ;(2) 一个 HMaster 主服务器 ;(3) 许多个 HRegion 服务器 HRegion 服务器可以根据工作负载的变化, 从一个 18 / 38

19 簇中动态地增加或删除 主服务器 HMaster 负责把 HRegion( 类似于 BigTable 中的 Tablet) 分配到 HRegion 服务器, 探测 HRegion 服务器的增加和过期, 进行 HRegion 服务器的负载均衡, 以及 HDFS 文件系统中的垃圾收集 除此以外, 它还处理模式变化, 比如表和列族的创建 每个 HRegion 服务器管理一个 HRegion 集合, 通常在每个 HRegion 服务器上, 会放置 10 到 1000 个 HRegion HRegion 服务器处理针对那些已经加载的 HRegion 而提出的读写请求, 并且会对过大的 HRegion 进行划分 就像许多单服务器分布式存储系统一样, 客户端并不是直接从主服务器读取数据, 而是直接从 HRegion 服务器上读取数据 因为 HBase 客户端并不依赖于主服务器 HMaster 来获得 HRegion 的位置信息, 所以, 大多数客户端从来不和主服务器 HMaster 通信, 从而使得在实际应用中, 主服务器负载很小 一个 HBase 中存储了许多表 每个表都是一个 HRegion 集合, 每个 HRegion 包含了位于某个值域区间内的所有数据 在最初阶段, 每个表只包含一个 HRegion 随着表的增长, 它会被自动分解成许多 HRegion, 每个 HRegion 默认尺寸大约是 100 到 200MB 注 : 本章内容是林子雨老师根据网络资料整理编写的, 对于这部分内容, 网络资料的描述并不规范 比如, 网络资料中, 某个地方正文文字描述用 HRegion, 而图片中文字或其他地方的文字描述却用没有 H 前缀的 Region, 类似的情形包括 HStore 和 Store,HRegionServer 和 RegionServer,HMaster 和 Master 等, 其实二者是等价的, 即 HRegion 和 Region 是同一个概念 为了规范, 本章内容在正文描述部分, 全部统一成 HRegion HStore 和 HRegionServer 这种格式, 但是, 由于图片无法修改 ( 重新画图工作量比较大, 暂时没有时间做这个工作 ), 因此, 图片中可能仍然出现 Region Store RegionServer 等概念 关于 HBase 中的表和 HRegion 的概念, 总结如下 : 表中的所有行都按照行键的字典序排列 ; 表在行的方向上分割为多个 HRegion( 如图 7-3 所示 ); 19 / 38

20 图 7-3 HBase 中的一个表包含多个 HRegion HRegion 会按照大小进行分割, 每个表一开始只有一个 HRegion, 随着数据不断插入表,HRegion 不断增大, 当增大到一个阀值的时候,HRegion 就会等分成两个新的 HRegion( 如图 7-4 所示 ) 表中的行不断增多, 就会有越来越多的 HRegion 一个 HRegion 由 [startkey,endkey) 表示, 不同的 HRegion 会被 HMaster 分配给相应的 HRegionServer 进行管理 图 7-4 HBase 中的一个 HRegion 会分裂成多个新的 HRegion HRegion 是 HBase 中分布式存储和负载均衡的最小单元 最小单元就表示不同的 20 / 38

21 Hregion 可以分布在不同的 HRegionServer 上, 但是, 同一个 HRegion 是不会拆分到多个 HRegionServer 上的 ( 如图 7-5 所示 ) 图 7-5 不同的 HRegion 可以分布在不同的 HRegionServer 上 HRegion 虽然是分布式存储的最小单元, 但并不是底层存储的最小单元 事实上, HRegion 由一个或者多个 HStore 组成, 每个 HStore 保存一个列族 每个 HStrore 又由一个 memstore 和 0 至多个 HStoreFile 组成 HStoreFile 以 HFile 格式保存在 HDFS 上 ( 如图 7-6 所示 ) 图 7-6 每个 HStore 由一个 memstore 和 0 至多个 HStoreFile 组成 21 / 38

22 7.6.2 HRegion 的定位 HBase 三层结构 HBase 使用类似 B+ 树的三层结构来保存 HRegion 位置信息 : 第一层是 Zookeeper 文件 : 它记录了 -ROOT- 表的位置信息, 即 root region 的位置信息 ; 第二层是 -ROOT- 表 : 只包含一个 root region, 记录了.META. 表中的 region 信息 通过 root region, 我们就可以访问.META. 表的数据 第三层是.META. 表 : 是一个特殊的表, 记录了用户表的 HRegion 信息,.META. 表可以有多个 HRegion, 保存了 HBase 中所有数据表的 HRegion 位置信息 图 7-7 HBase 的三层结构 Client 访问用户数据之前, 需要首先访问 Zookeeper, 然后访问 -ROOT- 表, 接着访问.META. 表, 最后才能找到用户数据的位置去访问, 中间需要多次网络操作, 不过 client 端会做 cache 缓存 ( 如图 7-8 所示 ) 22 / 38

23 图 7-8 Client 访问用户数据过程关于 HRegion 定位, 需要进行几点说明 : root region 永远不会被分裂, 保证了最多需要三次跳转, 就能定位到任意 HRegion;.META. 表每行保存一个 HRegion 的位置信息, 行键采用 表名 +HRegion 的第一个行键 +HRegion 的 ID 编码而成 ; 为了加快访问,.META. 表的全部 HRegion 都保存在内存中 ; 假设.META. 表的一行在内存中大约占用 1KB, 并且每个 HRegion 限制为 128MB 那么, 上面的三层结构可以保存的 HRegion 数目为 :(128MB/1KB) * (128MB/1KB) = 2 34 个 HRegion; client 会将查询过的位置信息保存缓存起来, 缓存不会主动失效, 因此, 如果 client 上的缓存全部失效, 则需要进行 6 次网络来回, 才能定位到正确的 HRegion( 其中三次用来发现缓存失效, 另外三次用来获取位置信息 ) 关于.META. 表 之前我们说过,HRegion 是按照表名和主键范围区分的, 由于主键范围是连续的, 所以一般用开始主键就可以表达出来 但是, 如果只有开始主键还是不够的, 因为我们有合并和分割操作, 如果正好在执行这 23 / 38

24 些操作的过程中出现死机, 那么就可能存在多份表名和开始主键一样的数据, 这个就要通过 HBase 的元数据信息来区分哪一份才是正确的数据文件了, 为了区分这样的情况, 每个 HRegion 都有一个 HRegionId 来标识它的唯一性 所以, 一个 HRegion 的表达式最后是 : 表名 + 开始主键 + 唯一 id(tablename + startkey + regionid) 例子 :hbaserepository,w-nk5ynz8tbb2uwfirjo7v==, 我们可以用这个识别符来区分不同的 HRegion, 这些数据就称为 元数据 而元数据本身也是被保存在 HRegion 里面的, 我们称呼这个表为 元数据表 (.META. 表 ), 里面保存的就是 HRegion 标识符和实际 HRegion 服务器的映射关系 元数据表本身也会增长, 并且可能被分割为几个 HRegion, 为了定位这些 HRegion, 有一个根数据表 (ROOT table), 保存了所有元数据表的位置, 而根数据表是不能被分割的, 永远之存在一个 HRegion 在 HBase 启动的时候, 主服务器先去扫描根数据表, 因为这个表只会有一个 HRegion, 所以这个 HRegion 的名字是被写死的 当然要把根数据表分配到一个 HRegion 服务器需要一定的时间 当根数据表被分配好之后, 主服务器就会去扫描根数据表, 获取元数据表的名字和位置, 然后把元数据表分配到不同的 HRegion 服务器 最后就是扫描元数据表, 找到所有 HRegion 区域的信息, 然后把它们分配给不同的 HRegion 服务器 主服务器在内存中保存着当前活跃的 HRegion 服务器的数据, 因此, 如果主服务器死机的话, 整个系统也就无法访问了, 而服务器的信息也没有必要保存到文件里面 元数据表和根数据表的每一行都包含一个列族 info 列族 : info:regioninfo: 包含了一个串行化的 HRegionInfo 对象 info:server: 保存了一个字符串, 是服务器地址 HServerAddress.toString() info:startcode: 一个长整型的数字的字符串, 是 HRegion 服务器启动的时候传给主服务器的, 让主服务器决定这个 Hregion 服务器的信息有没有更改 因此, 当一个客户端从 Zookeeper 服务器上拿到根数据表地址以后, 就可以直接访问相应的 HRegion 服务器获得数据, 没有必要再连接主服务器 因此, 主服务器的负载相对就小了很多, 它只会处理超时的 HRegion 服务器, 在启动的时候扫描根数据表和元数据表, 和返回根数据表的 HRegion 服务器地址 24 / 38

25 因此,HBase 的客户端是十分复杂的, 它经常需要浏览元数据表和根数据表, 在查询表的时候, 如果一个 HRegion 服务器死机或者它上面的数据更改了, 客户端就会继续重试, 客户端保留的映射关系并不会一直正确的 这里的机制还需要进一步完善 总结 关于 HRegion 的定位, 总结如下 : HRegion 服务器提供对 HRegion 的访问, 一个 HRegion 只会保存在一个 HRegion 服务器上面 HRegion 会注册到主服务器上面 如果主服务器死机, 那么整个系统都会无效 当前的 HRegion 服务器列表只有主服务器知道 HRegion 区域和 HRegion 服务器的对应关系保存在两个特别的 HRegion 里面 ( 根数据表和元数据表 ), 它们像其它 HRegion 一样被分配到不同的服务器 根数据表是最特别的一个表, 主服务器永远知道它的位置 ( 在程序中写死 ) 客户端需要自己浏览这些表, 来找到数据在哪里 7.7 HBase 系统架构 图 7-9 给出了 HBase 的系统架构, 围绕该架构, 下面我们将分别介绍 Client Zookeeper HMaster HRegionServer HStore HRegion 分配 HRegionServer 上线 HRegionServer 下 线 HMaster 上线和 HMaster 下线 25 / 38

26 图 7-9 HBase 的系统架构 Client Client 包含访问 HBase 的接口,client 维护着一些缓存来加快对 HBase 的访问, 比如 HRegion 的位置信息 HBase Client 使用 HBase 的 RPC 机制与 HMaster 和 HRegionServer 进行通信, 对于管理类操作,Client 与 HMaster 进行 RPC; 对于数据读写类操作,Client 与 HRegionServer 进行 RPC Zookeeper Zookeeper 中除了存储 -ROOT- 表的地址和 HMaster 的地址,HRegionServer 也会把自己以 Ephemeral 方式注册到 Zookeeper 中, 使得 HMaster 可以随时感知到各个 HRegionServer 的健康状态 此外,Zookeeper 也避免了 HMaster 的单点问题 关于 Zookeeper 的作用, 这里总结说明如下 : 保证任何时候, 集群中只有一个 HMaster; 存储所有 HRegion 的寻址入口 ; 实时监控 HRegionServer 的状态, 将 HRegionServer 的上线和下线信息实时通知给 HMaster; 存储 HBase 的 schema, 包括有哪些表, 每个表有哪些列族 HMaster HMaster 没有单点问题,HBase 中可以启动多个 HMaster, 通过 Zookeeper 的 Master Election 机制保证总有一个 HMaster 运行,HMaster 在功能上主要负责表和 HRegion 的管理工作 : 管理用户对表的增 删 改 查操作 ; 管理 HRegionServer 的负载均衡, 调整 HRegion 分布 ; 在 HRegion 分裂后, 负责新 HRegion 的分配 ; 在 HRegionServer 停机后, 负责失效 HRegionServer 上的 HRegion 的迁移 26 / 38

27 每个 HRegion 服务器都会和 HMaster 服务器通讯,HMaster 的主要任务就是要告诉每个 HRegion 服务器它要维护哪些 HRegion HMaster 服务器会和每个 HRegion 服务器保持一个长连接 如果这个连接超时或者断开, 会导致 : HRegion 服务器自动重启 HMaster 认为 HRegion 已经死机, 同时把它负责的 HRegion 分配到其它 HRegion 服务器 和 Google 的 BigTable 不同的是, 当 BigTable 的 TabletServer 和主服务器通讯中断的情况下, 它仍然能提供服务 而 HBase 不能这么做, 因为,HBase 没有 BigTable 那样额外的加锁系统,BigTable 是由主服务器管理 TabletServer, 同时加锁服务器提供数据访问的, 而 HBase 只有唯一一个接入点, 就是 HMaster 服务器 当一个新的 HRegion 服务器登陆到 HMaster 服务器,HMaster 会告诉它先等待分配数据 而当一个 HRegion 死机的时候,HMaster 会把它负责的 HRegion 标记为未分配, 然后把它们分配到其它 HRegion 服务器 HRegionServer HRegionServer 主要负责响应用户 I/O 请求, 向 HDFS 文件系统中读写数据, 是 HBase 中最核心的模块 ( 如图 7-10 所示 ) 27 / 38

28 图 7-10 HRegionServer 向 HDFS 文件系统中读写数据 HRegionServer 内部管理了一系列 HRegion 对象, 每个 HRegion 对应着表 (Table) 中的一个 HRegion,HRegion 由多个 HStore 组成 每个 HStore 对应了表中的一个列族的存储, 可以看出, 每个列族其实就是一个集中的存储单元, 因此, 最好将具备共同 IO 特性的列放在一个列族中, 这样最高效 Client 访问 HBase 上数据的过程并不需要 HMaster 参与 ( 寻址访问 Zookeeper 和 HRegionServer, 数据读写访问 HRegionServer),HMaster 仅仅维护着表和 HRegion 的元数据信息, 负载很低 对于用户来说, 每个表是一堆数据的集合, 靠主键来区分 物理上, 一张表是被拆分成多个块, 每一块就称为一个 HRegion 用 表名 + 开始 / 结束主键, 来区分一个 HRegion, 一个 HRegion 会保存一个表里面某段连续的数据, 从开始主键到结束主键, 一张完整的表是被分开保存在多个 HRegion 上面的 所有的 HBase 数据库数据一般是保存在 Hadoop 分布式文件系统 HDFS 上面, 用户通过一系列 HRegion 服务器获取这些数据, 一般而言, 一台机器上面运行一个 HRegion 服务器, 而每一个区段 HRegion 只会被一个 HRegion 服务器维护 28 / 38

29 图 7-11 HRegionServer 和 HMemStore 缓存 Hlog 文件图 7-11 给出了更新和读取数据的过程 当用户需要更新数据的时候, 他会被分配到对应的 HRegion 服务器提交修改, 这些修改先是被写到 HMemStore 缓存和服务器的 HLog 文件里面,HMemStore 是在内存中的缓存, 保存最近更新的数据,HLog 是磁盘上面的记录文件, 它记录着所有的更新操作, 当操作写入 HLog 之后,commit() 调用才会返回给客户端 当读取数据的时候,HRegion 服务器会先访问 HMemStore 缓存, 如果缓存里面没有该数据, 才会到 HStore 磁盘上面寻找, 每一个列族都会有一个 HStore, 每个 HStore 包含很多 HStoreFiles 具体文件, 这些文件都是 B 树结构的, 方便快速读取 系统会定期调用 HRegion.flushcache() 把 HMemStore 缓存里面的内容写到文件中, 一般这样会增加一个新的 HStoreFile 文件, 而此时高速缓存就会被清空, 并且写入一个标记到 HLog, 表示上面的内容已经被写入到文件中保存 在启动的时候, 每个 HRegion 服务器都会检查自己的 HLog 文件, 看看最近一次执行 flushcache 之后有没有新的更新写入操作 如果没有更新, 就表示所有数据都已经更新到文件中了 ; 如果有更新, 服务器就会先把这些更新写入高速缓存, 然后调用 flushcache 写入到文件 最后, 服务器会删除旧的 HLog 文件, 并开始给用户访问数据 因此, 为了节省时间, 可以少去调用 flushcache, 但是, 这样会增加内存占用, 而且, 在服务器重启的时候会延长很多时间 如果可以定期调用 flushcache, 缓存大小会控制在一个较低的水平, 而且,HLog 文件也会很快地重构, 但是, 调用 flushcache 的时候会造成系 29 / 38

30 统负载瞬间增加 HLog 会被定期回滚, 回滚的时候是按照时间备份文件, 每当回滚的时候, 系统会删除那些已经被写到文件中的更新, 回滚 HLog 只会占用很少的时间, 建议经常回滚以减少文件尺寸 每一次调用 flushcache 会生成一个新的 HStoreFile 文件, 从一个 HStore 里面获取一个值都需要访问所有的 HStoreFile 文件, 这样十分耗时, 所以, 我们要定期把这些分散的文件合并到一个大文件里面,HStore.compact() 就可以完成这样的工作 这样的合并工作是十分占用资源的, 当 HStoreFile 文件的数量超过一个设定值的时候才会触发 Google 的 BigTable 有高级合并和低级合并的区别, 但是,HBase 没有这个概念, 只要记住下面两点就可以了 : (1)flushcache 会建立一个新的 HStoreFile 文件, 并把缓存中所有需要更新的数据写到文件里面,flushcache 之后,HLog 的重建次数会清零 (2)compact 会把所有 HstoreFile 文件合并成一个大文件 和 BigTable 不同的是,HBase 每个更新如果是被正确提交了并且没有返回错误的话, 它就一定是被写到记录文件里面了, 这样不会造成数据丢失 两个 HRegion 可以通过调用 HRegion.closeAndMerge() 合并成一个新的 HRegion, 当前版本这个操作是需要两台 HRegion 都停机才能操作 当一个 HRegion 变得太过巨大的时候, 超过了设定的阈值,HRegion 服务器会调用 HRegion.closeAndSplit(), 这个 HRegion 会被拆分为两个, 并且报告给主服务器让它决定由哪个 HRegion 服务器来存放新的 HRegion 这个拆分过程是十分迅速的, 因为, 两个新的 HRegion 最初只是保留原来 HRegionFile 文件的引用, 而这个时候旧的 HRegion 会处于停止服务的状态, 当新的 HRegion 构建完成并且把引用删除了以后, 旧的 HRegion 才会删除 最后总结几点 : (1) 客户端以表的形式读取数据 ; (2) 一张表是被划分成多个 HRegion 区域 ; (3)HRegion 是被 HRegionServer 管理的, 当客户端需要访问某行数据的时候, 需要访问对应的 HRegionServer (4)HRegionServer 里面有三种方式保存数据 : A HMemStore 高速缓存, 保留最新写入的数据 ; B HLog 记录文件, 保留的是提交成功了 但未被写入文件的数据 ; 30 / 38

31 C HStore 文件, 数据的物理存放形式 HStore HStore 存储是 HBase 存储的核心了, 由两部分组成, 一部分是 HMemStore, 一部分是 HStoreFile HMemStore 是排序的内存缓冲区, 用户写入的数据首先会放入 HMemStore, 当 HMemStore 满了以后会 Flush 成一个 HStoreFile( 底层实现是 HFile), 当 HStoreFile 文件数量增长到一定阈值, 会触发合并操作, 将多个 HStoreFile 合并成一个 HStoreFile, 合并过程中会进行版本合并和数据删除, 因此可以看出 HBase 其实只有增加数据, 所有的更新和删除操作都是在后续的 compact 过程中进行的, 这使得用户的写操作只要进入内存中就可以立即返回, 保证了 HBase I/O 的高性能 当 HStoreFile 合并后, 会逐步形成越来越大的 HStoreFile, 当单个 HStoreFile 大小超过一定阈值后, 会触发分裂操作, 同时把当前 HRegion 分裂成 2 个 HRegion, 父 HRegion 会下线, 新分裂出的 2 个孩子 HRegion 会被 HMaster 分配到相应的 HRegionServer 上, 使得原先 1 个 HRegion 的压力得以分流到 2 个 HRegion 上 图 7-12 描述了合并和分裂的过程 图 7-12 HStoreFile 的合并和分裂过程在理解了上述 HStore 的基本原理后, 还必须了解一下 HLog 的功能, 因为, 上述的 HStore 在系统正常工作的前提下是没有问题的, 但是, 在分布式系统环境中, 无法避免系统出错或者宕机, 因此, 一旦 HRegionServer 意外退出,HMemStore 中的内存数据将会丢失, 这就需要引入 HLog 了 每个 HRegionServer 中都有一个 HLog 对象,HLog 是一个实现写前日志 (Write Ahead Log) 的类, 在每次用户操作写入 HMemStore 的同时, 也会写一份数据到 HLog 文件中 (HLog 文件格式见后续 ),HLog 文件定期会滚动出新的, 并删除旧的文件 ( 已持久化到 HStoreFile 中的数据 ) 当 HRegionServer 意外终止后,HMaster 会通过 Zookeeper 感知到,HMaster 首先会处理遗留的 HLog 文件, 将其中不同 HRegion 的 HLog 数据进行拆分, 分别放到相应 HRegion 的目录下, 然后再将失效的 HRegion 重新分配, 领取到这些 HRegion 的 HRegionServer 在加载 HRegion 的过程中, 会发现有历史 HLog 需要处理, 因此会 Replay 31 / 38

32 HLog 中的数据到 HMemStore 中, 然后刷新到 HStoreFiles, 完成数据恢复 HRegion 分配 任何时刻, 一个 HRegion 只能分配给一个 HRegionServer HMaster 记录了当前有哪些可用的 HRegionServer, 以及当前哪些 HRegion 分配给了哪些 HRegionServer, 哪些 HRegion 还没有分配 当存在未分配的 HRegion 时, 并且有一个 HRegionServer 上有可用空间时, HMaster 就给这个 HRegionServer 发送一个装载请求, 把 HRegion 分配给这个 HRegionServer HRegionServer 得到请求后, 就开始对此 HRegion 提供服务 HRegionServer 上线 HMaster 使用 Zookeeper 来跟踪 HRegionServer 的状态 当某个 HRegionServer 启动时, 会首先在 Zookeeper 上的 server 目录下建立代表自己的文件, 并获得该文件的独占锁 由于 HMaster 订阅了 server 目录上的变更消息, 当 server 目录下的文件出现新增或删除操作时, HMaster 可以得到来自 Zookeeper 的实时通知 因此, 一旦 HRegionServer 上线,HMaster 能马上得到消息 HRegionServer 下线 当 HRegionServer 下线时, 它和 Zookeeper 的会话断开,Zookeeper 而自动释放代表这台 server 的文件上的独占锁 而 HMaster 不断轮询 server 目录下文件的锁状态 如果 HMaster 发现某个 HRegionServer 丢失了它自己的独占锁 ( 或者 HMaster 连续几次和 HRegionServer 通信都无法成功 ),HMaster 就尝试去获取代表这个 HRegionServer 的读写锁, 一旦获取成功, 就可以确定下面两种情形中的一种发生了 : HRegionServer 和 Zookeeper 之间的网络断开了 ; HRegionServer 挂了 无论哪种情况,HRegionServer 都无法继续为它的 HRegion 提供服务了, 此时 HMaster 会删除 server 目录下代表这台 HRegionServer 的文件, 并将这台 HRegionServer 的 HRegion 分配给其它还活着的 HRegionServer 如果网络短暂出现问题导致 HRegionServer 丢失了它的锁, 那么 HRegionServer 重新连 32 / 38

33 接到 Zookeeper 之后, 只要代表它的文件还在, 它就会不断尝试获取这个文件上的锁, 一旦获取到了, 就可以继续提供服务 HMaster 上线 HMaster 启动时, 需要执行以下步骤 : 第一步 : 从 Zookeeper 上获取唯一一个代表该 HMaster 的锁, 用来阻止其它 HMaster 成为主服务器 ; 第二步 : 扫描 Zookeeper 上的 server 目录, 获得当前可用的 HRegionServer 列表 ; 第三步 : 和第二步中的每个 HRegionServer 通信, 获得当前已分配的 HRegion 和 HRegionServer 的对应关系 ; 第四步 : 扫描.META. 中 HRegion 的集合, 计算得到当前还未分配的 HRegion, 将他们放入待分配 HRegion 列表 HMaster 下线 由于 HMaster 只维护表和 HRegion 的元数据, 而不参与表数据 IO 的过程,HMaster 下线, 仅导致所有元数据的修改被冻结 ( 无法创建删除表, 无法修改表的 schema, 无法进行 HRegion 的负载均衡, 无法处理 HRegion 上下线, 无法进行 HRegion 的合并, 唯一例外的是 HRegion 的分裂可以正常进行, 因为只有 HRegionServer 参与 ), 表的数据读写还可以正常进行 因此,HMaster 下线短时间内对整个 HBase 集群没有影响 从上线过程可以看到, HMaster 保存的信息全是可以冗余信息 ( 都可以从系统其它地方收集到或者计算出来 ), 因此, 一般 HBase 集群中总是有一个 HMaster 在提供服务, 还有一个以上的 HMaster 在等待时机抢占它的位置 7.8 HBase 存储格式 HBase 中的所有数据文件都存储在 Hadoop 分布式文件系统 HDFS 上, 主要包括上述提 出的两种文件类型 : HFile:HBase 中 KeyValue 数据的存储格式,HFile 是 Hadoop 的二进制格式文件, 实际上 HStoreFile 就是对 HFile 做了轻量级包装, 即 HStoreFile 底层就是 HFile 33 / 38

34 HLog File:HBase 中 WAL(Write Ahead Log) 的存储格式, 物理上是 Hadoop 的顺序文件 HFile 图 7-13 描述了 HFile 的存储格式 图 7-13 HFile 的存储格式 HFile 分为六个部分 : Data Block 段 : 保存表中的数据, 这部分可以被压缩 ; Meta Block 段 ( 可选的 ): 保存用户自定义的 key/value 对, 可以被压缩 ; File Info 段 :HFile 的元信息, 不被压缩, 用户也可以在这一部分添加自己的元信息 ; Data Block Index 段 :Data Block 的索引 每条索引的 key 是被索引的 block 的第一条记录的 key; Meta Block Index 段 ( 可选的 ):Meta Block 的索引 ; Trailer: 这一段是定长的 保存了每一段的偏移量, 读取一个 HFile 时, 会首先读取 Trailer,Trailer 保存了每个段的起始位置 ( 段的 Magic Number 用来做安全 check), 然后,DataBlock Index 会被读取到内存中, 这样, 当检索某个 key 时, 不需要扫描整个 HFile, 而只需从内存中找到 key 所在的 block, 通过一次磁盘 IO 将整个 block 读取到内存中, 再找到需要的 key DataBlock Index 采用 LRU 机制淘汰 HFile 的 Data Block 和 Meta Block 通常采用压缩方式存储, 压缩之后可以大大减少网络 IO 和磁盘 IO, 随之而来的开销当然是需要花费 CPU 进行压缩和解压缩 目标 HFile 的压缩支持两种方式 :Gzip 和 LZO 34 / 38

35 HFile 文件是不定长的, 长度固定的只有其中的两块 :Trailer 和 FileInfo 正如图 7-13 中所示的,Trailer 中有指针指向其他数据块的起始点 File Info 中记录了文件的一些 Meta 信息, 例如 :AVG_KEY_LEN, AVG_VALUE_LEN, LAST_KEY, COMPARATOR, MAX_SEQ_ID_KEY 等 Data Index 和 Meta Index 块记录了每个 Data 块和 Meta 块的起始点 Data Block 是 HBase I/O 的基本单元, 为了提高效率,HRegionServer 中有基于 LRU 的 Block Cache 机制 每个 Data 块的大小可以在创建一个表的时候通过参数指定, 大号的 Block 有利于顺序扫描, 小号 Block 利于随机查询 每个 Data 块除了开头的 Magic 以外就是一个个 KeyValue 对拼接而成, Magic 内容就是一些随机数字, 目的是防止数据损坏 后面会详细介绍每个 Key/Value 对的内部构造 HFile 里面的每个 Key/Value 对就是一个简单的 byte 数组 但是这个 byte 数组里面包含了很多项, 并且有固定的结构 ( 如图 7-14 所示 ) 图 7-14 Hfile 里面的 Key/Value 的具体结构 开始是两个固定长度的数值, 分别表示 Key 的长度和 Value 的长度 紧接着是 Key, 开始是固定长度的数值, 表示 RowKey 的长度, 紧接着是 RowKey, 然后是固定长度的数值, 表示 Family 的长度, 然后是 Family, 接着是 Qualifier, 然后是两个固定长度的数值, 表示 Time Stamp 和 Key Type(Put/Delete) Value 部分没有这么复杂的结构, 就是纯粹的二进制数据了 HLogFile HLog 又称 WAL WAL 意为 Write Ahead Log, 类似 Mysql 中的 binlog, 用来做灾难恢复,HLog 记录数据的所有变更, 一旦数据修改, 就可以从 HLog 中进行恢复 每个 HRegion Server 维护一个 HLog, 而不是每个 HRegion 一个 这样不同 HRegion( 来自不同表 ) 的日志会混在一起, 这样做的目的是, 不断追加单个文件相对于同时写多个文件而言, 可以减少磁盘寻址次数, 因此, 可以提高对表的写性能 带来的麻烦是, 如果一台 35 / 38

36 HRegionServer 下线, 为了恢复其上的 HRegion, 需要将 HRegionServer 上的 HLog 进行拆分, 然后分发到其它 HRegionServer 上进行恢复 图 7-15 Hlog 文件的结构 图 7-15 给出了 HLog 文件的结构, 其实,HLog 文件就是一个普通的 Hadoop 顺序文件 (Sequence File), 顺序文件的 Key 是 HLogKey 对象,HLogKey 中记录了写入数据的归属信息, 除了表和 HRegion 名字外, 同时还包括顺序号和时间戳, 时间戳是 写入时间, 顺序号的起始值为 0, 或者是最近一次存入文件系统中顺序号 HLog 顺序文件的 Value 是 HBase 的 Key/Value 对象, 即对应 HFile 中的 Key/Value 7.9 读写数据 HBase 使用 HMemStore 和 HStoreFile 存储对表的更新 数据在更新时, 首先写入 HLog 和内存 (HMemStore) 中,HMemStore 中的数据是排序的, 当 HMemStore 累计到一定阈值时, 就会创建一个新的 HMemStore, 并且将老的 HMemStore 添加到 flush 队列, 由单独的线程 flush 到磁盘上, 成为一个 HStoreFile 与此同时, 系统会在 Zookeeper 中记录一个检查点, 表示这个时刻之前的变更已经持久化了 当系统出现意外时, 可能导致内存 (HMemStore) 中的数据丢失, 此时使用 HLog 来恢复 36 / 38

37 检查点之后的数据 HStoreFile 是只读的, 一旦创建后就不可以再修改 因此,HBase 的更新其实是不断追加的操作 当一个 HStore 中的 HStoreFile 达到一定的阈值后, 就会进行一次合并, 将对同一个 key 的修改合并到一起, 形成一个大的 HStoreFile, 当 HStoreFile 的大小达到一定阈值后, 又会对 HStoreFile 进行分裂, 等分为两个 HStoreFile 由于对表的更新是不断追加的, 处理读请求时, 需要访问 HStore 中全部的 HStoreFile 和 HMemStore, 将它们按照行键进行合并, 由于 HStoreFile 和 HMemStore 都是经过排序的, 并且 HStoreFile 带有内存中索引, 合并的过程还是比较快的 写请求处理过程具体如下 : client 向 HRegionServer 提交写请求 ; HRegionServer 找到目标 HRegion; HRegion 检查数据是否与 schema 一致 ; 如果客户端没有指定版本, 则获取当前系统时间作为数据版本 ; 将更新写入 HLog; 将更新写入 HMemstore; 判断 HMemStore 是否需要 flush 为 HStore 文件 7.10 MapReduce on HBase 所示 在 HBase 系统上运行批处理运算, 最方便和实用的模型依然是 MapReduce, 如图 7-16 图 7-16 MapReduce 过程示意图 37 / 38

38 HBase Table 和 HRegion 的关系, 比较类似 HDFS File 和 Block 的关系,HBase 提供了配套的 TableInputFormat 和 TableOutputFormat API, 可以方便地将 HBase Table 作为 Hadoop MapReduce 的 Source 和 Sink, 对于 MapReduce Job 应用开发人员来说, 基本不需要关注 HBase 系统自身的细节 本章小结 本章介绍了 HBase 的相关知识 使用场景和成功案例, 并介绍了 HBase 和传统关系数据库的对比分析 ; 接下来介绍了 HBase 访问接口 数据模型 实现方法 系统架构 存储格式 读写数据等 ; 最后, 简单介绍了 MapReduce 是在 HBase 系统上运行批处理运算的最方便和实用的模型 参考文献 [1] HBase. 百度百科. [2] HBase 分析报告. 百度文库. 附录 1: 任课教师介绍 林子雨 (1978-), 男, 博士, 厦门大学计算机科学系助理教授, 主要研究领域为数据库, 数据仓库, 数据挖掘. 主讲课程 : 大数据技术基础 办公地点 : 厦门大学海韵园科研 2 号楼 ziyulin@xmu.edu.cn 个人网页 : 38 / 38

PowerPoint Presentation

PowerPoint Presentation 大数据技术基础 厦门大学计算机科学系林子雨 ziyulin@xmu.edu.cn 2013 年新版 2013 年 9 月第一版 厦门大学计算机科学系研究生课程 大数据技术基础 第 7 章 HBase (2013 年新版 ) 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu 课程提要 Hbase

More information

大数据技术原理与应用

大数据技术原理与应用 分布式数据库厦门大学云计算与大数据研究中心 HBase 厦门大学云计算与大数据研究中心林子雨 2015 ziyulin@xmu.edu.cn 年版 大数据技术公开课 大数据概念 技术与应用 2015 年 10 月 13 日山东大学 第 4 讲分布式数据库 HBase 林子雨博士 / 助理教授厦门大学计算机科学系厦门大学云计算与大数据研究中心 E-mail: ziyulin@xmu.edu.cn 山东大学公开课主页

More information

大数据技术原理与应用

大数据技术原理与应用 分布式数据库厦门大学云计算与大数据研究中心 HBase 厦门大学云计算与大数据研究中心林子雨 2015 ziyulin@xmu.edu.cn 年版 大数据技术公开课 ( 专题技术型 ) 第 2 讲分布式数据库 HBase 林子雨博士 / 助理教授厦门大学计算机科学系厦门大学云计算与大数据研究中心 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu

More information

大数据技术原理与应用

大数据技术原理与应用 分布式数据库厦门大学云计算与大数据研究中心 HBase 厦门大学云计算与大数据研究中心林子雨 2015 ziyulin@xmu.edu.cn 年版 大数据专题技术型公开课 第 2 讲分布式数据库 HBase 林子雨博士 / 助理教授厦门大学计算机科学系厦门大学云计算与大数据研究中心 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Hadoop 生 态 技 术 在 阿 里 全 网 商 品 搜 索 实 战 阿 里 巴 巴 - 王 峰 自 我 介 绍 真 名 : 王 峰 淘 宝 花 名 : 莫 问 微 博 : 淘 莫 问 2006 年 硕 士 毕 业 后 加 入 阿 里 巴 巴 集 团 淘 及 搜 索 事 业 部 ( 高 级 技 术 与 家 ) 目 前 负 责 搜 索 离 线 系 统 团 队 技 术 方 向 : 分 布 式 计 算

More information

长 安 大 学 硕 士 学 位 论 文 基 于 数 据 仓 库 和 数 据 挖 掘 的 行 为 分 析 研 究 姓 名 : 杨 雅 薇 申 请 学 位 级 别 : 硕 士 专 业 : 计 算 机 软 件 与 理 论 指 导 教 师 : 张 卫 钢 20100530 长安大学硕士学位论文 3 1 3系统架构设计 行为分析数据仓库的应用模型由四部分组成 如图3 3所示

More information

水晶分析师

水晶分析师 大数据时代的挑战 产品定位 体系架构 功能特点 大数据处理平台 行业大数据应用 IT 基础设施 数据源 Hadoop Yarn 终端 统一管理和监控中心(Deploy,Configure,monitor,Manage) Master Servers TRS CRYSTAL MPP Flat Files Applications&DBs ETL&DI Products 技术指标 1 TRS

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

KV-cache 1 KV-cache Fig.1 WorkflowofKV-cache 2.2 Key-value Key ; Key Mem-cache (FIFO) Value Value Key Mem-cache ( Value 256B 100 MB 20%

KV-cache 1 KV-cache Fig.1 WorkflowofKV-cache 2.2 Key-value Key ; Key Mem-cache (FIFO) Value Value Key Mem-cache ( Value 256B 100 MB 20% 38 11 2013 11 GeomaticsandInformationScienceofWuhanUniversity Vol.38No.11 Nov.2013 :1671-8860(2013)11-1339-05 :A GIS Key-value 1 1 1 1 (1 129 430079) : 设计了一种基于 Key-value 结构的缓存 KV-cache 旨在简化数据结构 高效管理缓存数据

More information

目录 1 本期内容 HBase 简介 HBase 体系结构 Client Zookeeper HMaster HRegion HRegion Server

目录 1 本期内容 HBase 简介 HBase 体系结构 Client Zookeeper HMaster HRegion HRegion Server 细细品味 Hadoop Hadoop 集群 ( 第 11 期 ) 精华集锦 csaxp http://www.xiapistudio.com/ 2012 年 3 月 17 日 目录 1 本期内容... 2 1.1 HBase 简介... 2 1.2 HBase 体系结构... 3 1.2.1 Client... 3 1.2.2 Zookeeper... 3 1.2.3 HMaster... 4 1.2.4

More information

通过Hive将数据写入到ElasticSearch

通过Hive将数据写入到ElasticSearch 我在 使用 Hive 读取 ElasticSearch 中的数据 文章中介绍了如何使用 Hive 读取 ElasticSearch 中的数据, 本文将接着上文继续介绍如何使用 Hive 将数据写入到 ElasticSearch 中 在使用前同样需要加入 elasticsearch-hadoop-2.3.4.jar 依赖, 具体请参见前文介绍 我们先在 Hive 里面建个名为 iteblog 的表,

More information

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示 完整的大数据解決方案 ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示 Dataframe Pig YARN Spark Stand Alone HDFS Spark Stand Alone Mesos Mesos Spark Streaming Hive Hadoop

More information

提纲 2 / 1

提纲 2 / 1 小米 HBase 实践 刘绍辉 小米云存储组 China Hadoop Summit 2013 提纲 2 / 1 提纲 3 / 1 HBase 是什么? Google Bigtable 系统的开源实现 分布式的, 可扩展的, 一致性的, 半结构化数据存储系统 稀疏的, 一致性的, 分布式的, 多维有序的映射表 4 / 1 数据模型 表 行 列簇 列 版本 ( 时间戳 ) 多维映射表 : ( 行 key,

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony Ioncube Php Encoder 8 3 Crack 4 ->>->>->> DOWNLOAD 1 / 5 2 / 5 Press..the..General..Tools..category4Encrypt..and..protect..files..with..PHP..encoding,..encryption,..ob fuscation..and..licensing... 2016

More information

业 务 与 运 营 Business & Operation (Transform) 加 载 (Load) 至 目 的 端 的 过 程, 该 部 分 在 数 据 挖 掘 和 分 析 过 程 中 为 最 基 础 的 一 部 分 一 个 良 好 的 ETL 系 统 应 该 有 以 下 几 个 功 能 1

业 务 与 运 营 Business & Operation (Transform) 加 载 (Load) 至 目 的 端 的 过 程, 该 部 分 在 数 据 挖 掘 和 分 析 过 程 中 为 最 基 础 的 一 部 分 一 个 良 好 的 ETL 系 统 应 该 有 以 下 几 个 功 能 1 Business & Operation 业 务 与 运 营 大 数 据 技 术 在 精 准 营 销 中 的 应 用 王 小 鹏 北 京 东 方 国 信 科 技 股 份 有 限 公 司 北 京 100102 摘 要 简 要 介 绍 主 流 的 大 数 据 技 术 架 构 和 大 数 据 挖 掘 技 术 ; 阐 述 大 数 据 技 术 在 精 准 营 销 与 维 系 系 统 建 设 中 的 应 用,

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 大数据分析工具介绍 主讲 : 王建明 手机 :13940975206 QQ:564250480( 微信 ) 2/39 大数据的基本特征 特征 Volume 数据体量巨大 PB 级 -> EB 级 -> ZB 级 速度要求快数据输入输出的速度 Velocity Big Data Varity 数据类型多样文本 图像 视频 音频 Veracity 价值密度低商业价值高 Hadoop 生态系统介绍 ( 离线

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的 4.2 使 用 Table Service Table Service 相 对 来 说 是 三 个 Storage Service 中 最 好 理 解 和 最 易 于 接 受 的, 它 主 要 用 来 存 储 结 构 化 数 据 但 是 Table Service 却 并 不 是 一 个 关 系 型 数 据 库 Table Service 由 两 个 部 分 组 成 :Table 和 Entity

More information

Azure_s

Azure_s Azure ? Azure Azure Windows Server Database Server Azure Azure Azure Azure Azure Azure Azure Azure OpenSource Azure IaaS Azure VM Windows Server Linux PaaS Azure ASP.NET PHP Node.js Python MS SQL MySQL

More information

<4D6963726F736F667420576F7264202D204861646F6F70B4F3CAFDBEDDBCB0BAA3C1BFCAFDBEDDCDDABEF2D3A6D3C3B9A4B3CCCAA6C5E0D1B5B0E056312E332E646F63>

<4D6963726F736F667420576F7264202D204861646F6F70B4F3CAFDBEDDBCB0BAA3C1BFCAFDBEDDCDDABEF2D3A6D3C3B9A4B3CCCAA6C5E0D1B5B0E056312E332E646F63> 关 于 举 办 Hadoop 大 数 据 及 海 量 数 据 挖 掘 应 用 工 程 师 培 训 班 的 通 知 随 着 云 时 代 的 来 临, 大 数 据 技 术 将 具 有 越 来 越 重 要 的 战 略 意 义 大 数 据 分 析 与 挖 掘 技 术 已 经 渗 透 到 每 一 个 行 业 和 业 务 职 能 领 域, 逐 渐 成 为 重 要 的 生 产 要 素, 人 们 对 于 海 量 数

More information

Spark读取Hbase中的数据

Spark读取Hbase中的数据 Spark 读取 Hbase 中的数据 Spark 和 Flume-ng 整合, 可以参见本博客 : Spark 和 Flume-ng 整合 使用 Spark 读取 HBase 中的数据 如果想及时了解 Spark Hadoop 或者 Hbase 相关的文章, 欢迎关注微信公共帐号 :iteblog_hadoop 大家可能都知道很熟悉 Spark 的两种常见的数据读取方式 ( 存放到 RDD 中 ):(1)

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

第 06 期 李祥池 : 基于 ELK 和 Spark Streaming 的日志分析系统设计与实现 1 日志 1.1 日志定义 IT 1.2 日志处理方案演进 v1.0 v2.0 Hadoop Storm Spark Hadoop/Storm/Spark v3.0 TB Splunk ELK SI

第 06 期 李祥池 : 基于 ELK 和 Spark Streaming 的日志分析系统设计与实现 1 日志 1.1 日志定义 IT 1.2 日志处理方案演进 v1.0 v2.0 Hadoop Storm Spark Hadoop/Storm/Spark v3.0 TB Splunk ELK SI 电子科学技术第 02 卷第 06 期 2015 年 11 月 Electronic Science & Technology Vol.02 No.06 Nov.2015 年 基于 ELK 和 Spark Streaming 的日志分析系统设计与实现 李祥池 ( 杭州华三通信技术有限公司北京研究所, 北京,100085) 摘要 : 在大数据时代 对数据平台各组件的运行状态实时监控与运行分析具有重要意义

More information

Reducing Client Incidents through Big Data Predictive Analytics

Reducing Client Incidents through Big Data Predictive Analytics IT@lntel 白 皮 书 英 特 尔 IT 部 门 IT 最 佳 实 践 大 数 据 预 测 分 析 2013 年 12 月 通 过 大 数 据 预 测 分 析 减 少 客 户 端 事 故 总 体 概 述 相 比 过 去 的 被 动 反 应, 我 们 现 在 能 够 更 容 易 主 动 找 出 客 户 端 问 题, 并 及 时 将 其 修 复 以 免 问 题 扩 大, 从 而 为 企 业 节 约

More information

白 皮 书 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 目 录 要 点 概 述...1 业 务 挑 战...2 Hadoop* 分 发 版 注 意 事 项...3 Hadoop* 基 础 架 构 注 意 事 项

白 皮 书 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 目 录 要 点 概 述...1 业 务 挑 战...2 Hadoop* 分 发 版 注 意 事 项...3 Hadoop* 基 础 架 构 注 意 事 项 IT@Intel 白 皮 书 英 特 尔 IT 部 门 大 数 据 和 商 业 智 能 2013 年 10 月 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 要 点 概 述 仅 在 五 周 之 内, 我 们 就 实 施 了 基 于 Apache Hadoop* 英 特 尔 分 发 版 的 低 成 本 可 完 全 实 现 的 大 数

More information

培 训 机 构 介 绍 中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开 展 Hadoop 云 计 算 的 培

培 训 机 构 介 绍  中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开 展 Hadoop 云 计 算 的 培 Hadoop 2.0 培 训 Hadoop 2.0Training Hadoop 2.0 运 维 与 开 发 实 战 培 训 邀 请 函 培 训 机 构 介 绍 www.zkpk.org 中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开

More information

大数据技术原理与应用

大数据技术原理与应用 大数据技术原理与应用 http://dblab.xmu.edu.cn/post/bigdata 温馨提示 : 编辑幻灯片母版, 可以修改每页 PPT 的厦大校徽和底部文字 第四章分布式数据库 HBase (PPT 版本号 :2016 年 1 月 28 日版本 ) 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu

More information

大数据技术原理与应用

大数据技术原理与应用 大数据技术原理与应用 http://dblab.xmu.edu.cn/post/bigdata 温馨提示 : 编辑幻灯片母版, 可以修改每页 PPT 的厦大校徽和底部文字 第四章分布式数据库 HBase (PPT 版本号 :2016 年 3 月 10 日版本 ) 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu

More information

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP # iptables 默认安全规则脚本 一 #nat 路由器 ( 一 ) 允许路由 # iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT ( 二 ) DNAT 与端口转发 1 启用 DNAT 转发 # iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 dprot 422 -j DNAT to-destination

More information

IDEO_HCD_0716

IDEO_HCD_0716 IDEO HCD Toolkit Tencent CDC ...? Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC Tencent CDC

More information

论文,,, ( &, ), 1 ( -, : - ), ; (, ), ; ;, ( &, ),,,,,, (, ),,,, (, ) (, ),,, :. : ( ), ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ), ( ),,,, 1 原译作 修补者, 但在英译版本中, 被译作

论文,,, ( &, ), 1 ( -, : - ), ; (, ), ; ;, ( &, ),,,,,, (, ),,,, (, ) (, ),,, :. : ( ), ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ), ( ),,,, 1 原译作 修补者, 但在英译版本中, 被译作 * 夏传玲 : 本文简要回顾了国内外定性研究在最近 多年的发展概况, 总结 了定性研究的六个发展趋势和分析策略上的三种流派 在上述两种背景下, 本文探讨了计算机辅助的定性分析给定性研究带来的机遇和挑战, 特别是它和手工操作对比时的优势和劣势, 以及应用这种定性分析技术所可能面临的困难 : 定性研究定性分析 文化差异,, (, ),,,, ( - ) ( - ) ( - ) ( - ) ( - ) (

More information

第四章 102 图 4唱16 基于图像渲染的理论基础 三张拍摄图像以及它们投影到球面上生成的球面图像 拼图的圆心是相同的 而拼图是由球面图像上的弧线图像组成的 因此我 们称之为同心球拼图 如图 4唱18 所示 这些拼图中半径最大的是圆 Ck 最小的是圆 C0 设圆 Ck 的半径为 r 虚拟相机水平视域为 θ 有 r R sin θ 2 4畅11 由此可见 构造同心球拼图的过程实际上就是对投影图像中的弧线图像

More information

大数据分析技术 [13] 1.1 大数据 Big Data [2] IBM 5V Volume Velocity Variety Value Veracity Volume Velocity Variety Value Veracity 表 1 大数据特征表 Tab.1

大数据分析技术 [13] 1.1 大数据 Big Data [2] IBM 5V Volume Velocity Variety Value Veracity Volume Velocity Variety Value Veracity 表 1 大数据特征表 Tab.1 2016 2016, Vol. 37, No. 01 37 01 COMPUTER ENGINEERING & SOFTWARE IT 大数据在输变电设备状态评估中的研究 周广 1, 闫丹凤 1, 许光可 2, 李笋 1. 100876 2. 250001 2 摘要 : 电网的高速发展带来海量数据的存储和分析问题, 传统的数据管理和分析工具不再适用 本文主要对大数据分析的相关技术在输变电设备状态评估中的应用进行了研究

More information

PowerPoint Presentation

PowerPoint Presentation 利用 Oracle Big Data Connectors 将 Hadoop 与 Oracle 集成 罗海雄甲骨文公司资深技术顾问 1 Copyright 2011, Oracle and/or its affiliates. All rights 以下内容旨在概述产品的总体发展方向 该内容仅供参考, 不可纳入任何合同 该内容不构成提供任何材料 代码或功能的承诺, 并且不应该作为制定购买决策的依据

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

大数据技术基础(2013版)

大数据技术基础(2013版) 大数据技术基础 厦门大学计算机科学系厦门大学计算机科学系林子雨 ziyulin@xmu.edu.cn 2013 年新版 2013 年 9 月第一版 厦门大学计算机科学系研究生课程 大数据技术基础 第 11 章云数据库 (2013 年新版 ) 林子雨 厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu 提纲

More information

支付宝2011年 IT资产与费用预算

支付宝2011年 IT资产与费用预算 OceanBase 支 持 ACID 的 可 扩 展 关 系 数 据 库 qushan@alipay.com 2013 年 04 月 关 系 数 据 库 发 展 1970-72:E.F.Codd 数 据 库 关 系 模 式 20 世 纨 80 年 代 第 一 个 商 业 数 据 库 Oracle V2 SQL 成 为 数 据 库 行 业 标 准 可 扩 展 性 Mainframe: 小 型 机 =>

More information

大数据技术原理与应用

大数据技术原理与应用 大数据技术原理与应用 ( 第 2 版 ) http://dblab.xmu.edu.cn/post/bigdata 温馨提示 : 编辑幻灯片母版, 可以修改每页 PPT 的厦大校徽和底部文字 第 4 章分布式数据库 HBase (PPT 版本号 :2017 年 2 月版本 ) 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu

More information

合集

合集 Ver 1.0 版 本 目 录 第 一 章 当 大 数 据 遇 上 SSD 01 第 二 章 广 东 移 动 运 用 Hadoop 创 新 应 用 04 第 三 章 第 四 章 第 五 章 第 六 章 第 七 章 第 八 章 第 九 章 第 十 章 如 何 利 用 大 数 据 分 析 提 升 垃 圾 短 信 过 滤 效 果 广 东 电 信 用 大 数 据 重 构 室 内 网 优 大 数 据 提 升

More information

2009 年第 6 期 高清总动员 35

2009 年第 6 期 高清总动员 35 要说 08 年最成功的高清机, 非三合一 F1/F2 莫属 它集中了国内不同的高清接收需求, 整合了当时能想到的各种功能, 为欣赏高清奥运, 满足高端发烧人士, 做出了贡献 F1/F2 的成功, 说明不依赖进口, 我们也有能力打造顶级的高清机, 并且更适合国内的使用习惯 不过, 即使 F1/F2 的终极版, 也不兼容 ABS-S 或 ISDB-S, 没有网络功能, 不能 USB 录像等等, 有一定的局限性

More information

Chapter #

Chapter # 第三章 TCP/IP 协议栈 本章目标 通过本章的学习, 您应该掌握以下内容 : 掌握 TCP/IP 分层模型 掌握 IP 协议原理 理解 OSI 和 TCP/IP 模型的区别和联系 TCP/IP 介绍 主机 主机 Internet TCP/IP 早期的协议族 全球范围 TCP/IP 协议栈 7 6 5 4 3 应用层表示层会话层传输层网络层 应用层 主机到主机层 Internet 层 2 1 数据链路层

More information

器之 间 向一致时为正 相反时则为负 ③大量电荷的定向移动形成电 流 单个电荷的定向移动同样形成电流 3 电势与电势差 1 陈述概念 电场中某点处 电荷的电势能 E p 与电荷量 q Ep 的比值叫做该点处的电势 表达式为 V 电场中两点之间的 q 电势之差叫做电势差 表达式为 UAB V A VB 2 理解概念 电势差是电场中任意两点之间的电势之差 与参考点的选择无关 电势是反映电场能的性质的物理量

More information

【附件:社群─申請表】(社群層級) 【四-四-五-1】

【附件:社群─申請表】(社群層級) 【四-四-五-1】 附 件 : 社 群 申 請 表 ( 社 群 層 級 ) 四 - 四 - 五 -1 高 雄 市 辦 理 十 二 年 國 民 基 本 教 育 精 進 國 中 小 教 學 品 質 計 畫 湖 內 區 明 宗 國 小 辦 理 103 年 度 教 師 專 業 學 習 社 群 ---- 環 境 教 育 議 題 社 群 名 稱 環 境 教 育 議 題 -- 風 華 再 現 的 二 仁 溪 召 集 人 或 聯 絡

More information

大数据技术基础(2013版)

大数据技术基础(2013版) 大数据技术基础 厦门大学计算机科学系厦门大学计算机系林子雨 ziyulin@xmu.edu.cn 2013 年新版 2013 年 9 月修订版 厦门大学计算机科学系研究生课程 大数据技术基础 第 12 章 Google Spanner (2013 年新版 ) 林子雨 厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu

More information

大数据技术原理与应用

大数据技术原理与应用 大数据技术原理与应用 厦门大学计算机科学系厦门大学计算机科学系林子雨 2015 年版 ziyulin@xmu.edu.cn 大数据技术原理与应用 http://dblab.xmu.edu.cn/post/bigdata 温馨提示 : 编辑幻灯片母版, 可以修改每页 PPT 的厦大校徽和底部文字 第二章大数据处理架构 Hadoop (PPT 版本号 :2015 年 6 月第 1.0 版 ) 林子雨厦门大学计算机科学系

More information

HBase_train_Stark

HBase_train_Stark 大数据快速入门培训 08/13/2016 HBase 大纲 HBase 介绍及特点 HBase 系统架构 HBase 集群搭建 HBase 存储结构 HBase 关键流程 HBase 使用及开发 HBase 起源 Google 三大论文中的 BigTable 2007 年 Powerset 上最早应用 2008 年成为 Hadoop 的一个子项目, 放于 contrib 目录下 Top-level-project

More information

教学输入与学习者的语言输出 温晓虹 本文从三个方面探讨了语言的输入与输出的关系 首先从理论研究的角度讨 论了从语言输入到语言输出的习得过程 实验研究表明 输入的语言素材必须被学习者所接收 即使接收了的内容也并不会自动进入中介语的体系 而是需要进一步对输入语言进行 分解 归类等分析性与综合性的处理 在语言 内化 的基础上 学习者的中介语系统才能 够不断地得到重新组合 趋于目的语 另外 学习者在语言输出前和输出时需要调节

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

Microsoft Word - 《Hadoop大数据技术与应用》教学大纲.doc

Microsoft Word - 《Hadoop大数据技术与应用》教学大纲.doc Hadoop 大数据技术原理与应用 课程教学大纲 ( 课程英文名称 ) 课程编号 :201800522062 学分 :5 学分学时 :63 学时 ( 其中 : 讲课学时 51 上机学时 :12) 先修课程 : 后续课程 :Spark 适用专业 : 大数据应用技术开课部门 : 一 课程的性质与目标 Hadoop 大数据技术原理与应用 是互联网 + 创业教育学院软件工程 ( 大数据 人工智能 ) 专业的一门校定必修专业课

More information

大云在电子政务的推广应用,探索商业服务的落地模式

大云在电子政务的推广应用,探索商业服务的落地模式 HBase Coprocessor 优化与实验 郭磊涛 2012 年 12 月 1 HBase 简介 HBase 是在 Hadoop 之上构建的非关系型 面向列存储的开源分布式结构化 数据存储系统 HBase 表分区与索引管理 将 Table 中的数据根据 rowkey 字段划分为多个 H H 分配给 Server 管理 三级元数据 : - MetaTable: 与 Server 的映 射信息 -

More information

大数据技术原理与应用

大数据技术原理与应用 大数据技术原理与应用 http://dblab.xmu.edu.cn/post/bigdata 温馨提示 : 编辑幻灯片母版, 可以修改每页 PPT 的厦大校徽和底部文字 第四章分布式数据库 HBase (PPT 版本号 :2016 年 3 月 6 日版本 ) 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Apache Spark 与 多 数 据 源 的 结 合 田 毅 @ 目 录 为 什 么 会 用 到 多 个 数 据 源 Spark 的 多 数 据 源 方 案 有 哪 些 已 有 的 数 据 源 支 持 Spark 在 GrowingIO 的 实 践 分 享 为 什 么 会 用 到 多 个 数 据 源 从 数 据 本 身 来 看 大 数 据 的 特 性 之 一 :Variety 数 据 的 多 样

More information

孟 祥 萍, 等 HBase 在 智 能 电 网 异 构 数 据 同 步 中 的 应 用 - 123 - 步 最 后, 对 异 构 数 据 同 步 到 数 据 中 心 的 性 能 进 行 了 测 试, 验 证 了 本 文 所 提 方 案 的 可 行 性, 在 探 索 未 来 智 能 电 网 大 数

孟 祥 萍, 等 HBase 在 智 能 电 网 异 构 数 据 同 步 中 的 应 用 - 123 - 步 最 后, 对 异 构 数 据 同 步 到 数 据 中 心 的 性 能 进 行 了 测 试, 验 证 了 本 文 所 提 方 案 的 可 行 性, 在 探 索 未 来 智 能 电 网 大 数 第 43 卷 第 24 期 电 力 系 统 保 护 与 控 制 Vol.43 No.24 2015 年 12 月 16 日 Power System Protection and Control Dec. 16, 2015 HBase 在 智 能 电 网 异 构 数 据 同 步 中 的 应 用 孟 祥 萍 1, 周 来 2, 王 晖 1, 纪 秀 (1. 长 春 工 程 学 院 电 气 与 信 息

More information

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech - OfficeCoder 1 2 3 4 1,2,3,4 xingjiarong@mail.sdu.edu.cn 1 xuchongyang@mail.sdu.edu.cn 2 sun.mc@outlook.com 3 luoyuanhang@mail.sdu.edu.cn 4 Abstract. Microsoft Word 2013 Word 2013 Office Keywords:,, HTML5,

More information

目錄

目錄 資 訊 素 養 線 上 教 材 單 元 五 資 料 庫 概 論 及 Access 5.1 資 料 庫 概 論 5.1.1 為 什 麼 需 要 資 料 庫? 日 常 生 活 裡 我 們 常 常 需 要 記 錄 一 些 事 物, 以 便 有 朝 一 日 所 記 錄 的 事 物 能 夠 派 得 上 用 場 我 們 能 藉 由 記 錄 每 天 的 生 活 開 銷, 就 可 以 在 每 個 月 的 月 底 知

More information

目 录 1 不 断 开 发 工 具 以 管 理 大 数 据...2 1.1 Hadoop* 简 介 : 支 持 从 大 数 据 中 获 得 出 色 价 值 的 可 靠 框 架... 2 1.2 大 数 据 技 术 的 行 业 生 态 系 统... 2 2 在 关 键 组 件 中 实 现 平 衡...

目 录 1 不 断 开 发 工 具 以 管 理 大 数 据...2 1.1 Hadoop* 简 介 : 支 持 从 大 数 据 中 获 得 出 色 价 值 的 可 靠 框 架... 2 1.2 大 数 据 技 术 的 行 业 生 态 系 统... 2 2 在 关 键 组 件 中 实 现 平 衡... 白 皮 书 英 特 尔 固 态 硬 盘 英 特 尔 以 太 网 融 合 网 络 英 特 尔 Hadoop* 发 行 版 软 件 应 用 大 数 据 技 术 获 得 近 实 时 分 析 巨 大 成 效 1 平 衡 的 基 础 设 施 使 工 作 负 载 完 成 时 间 从 4 小 时 缩 短 为 7 如 今, 基 于 广 泛 可 用 的 计 算 存 储 和 网 络 组 件 的 改 进, 商 业 学 术

More information

HP and Canon 单色通用芯片表 SCC 芯片 图片 HP 700 M712, 700 M725 CF214X (14X) 17.5 HP 5200 Q7516A U16-2CHIP SSS 846 芯片记号 (U16-2) Canon LBP-3500, LBP-3900, LBP-392

HP and Canon 单色通用芯片表 SCC 芯片 图片 HP 700 M712, 700 M725 CF214X (14X) 17.5 HP 5200 Q7516A U16-2CHIP SSS 846 芯片记号 (U16-2) Canon LBP-3500, LBP-3900, LBP-392 HP and Canon 单色通用芯片表在线访问我们的网站, 可以得到更多的信息 : www.scc-inc.com/chipcenter 全部开始都是专利通用芯片一个芯片, 多个不同型号的硒鼓 注意 : 当在这个文档上要寻找一个特殊的 或打印机的型号时, 在你的键盘上同时按 CTRL 键和 F 键就能搜索到 HP and Canon 单色通用芯片表 SCC 芯片 图片 HP 700 M712, 700

More information

* 4 6 R P r p . 1 2 3 4 7 89bk 6 5 1 2 3 4 5 6 7 8 9 0 bk r bl bm bn^ bo bl br bq bpbo bn bm [ ] [ ] [ ] bp 8 2 4 6 bq p [ ] [SET] br clckbt bs bs bt ck cl. 1 2 1 2+- 3 3 . 1 2 3 4 5 6 7 8 9 bk bl bm

More information

基于 SQL-on-Hadoop 的 网络日志分析

基于 SQL-on-Hadoop 的 网络日志分析 1896 1920 1987 2006 基于 SQL-on-Hadoop 的 网络日志分析 章思宇, 姜开达, 韦建文, 罗萱, 王海洋 上海交通大学网络信息中心 2014 年 11 月 事后追查 校园网安全日志分析 已经发生, 已被发现的入侵 攻击检测 已经发生, 尚不知晓的攻击 正在进行的攻击 (APT) 漏洞挖掘 发现尚未被利用的漏洞 镜像流量抓包分析 网络流量日志采集 Internet 缓存加速系统

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

untitled

untitled 01 1-1 PHP 1-2 PHP 1-3 MySQL 1-4 1-5 http://w3techs.com/technologies/history_overview/programming_language w3techs.com (Server-side) 2012 7 77.8% PHP PHP PHP PHP 1-1 PHP PHP HTML Script Windows ASP(Active

More information

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品 Autodesk Product Design Suite Standard 20122 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品设计 Autodesk Product Design Suite Standard 版本包包括以下软件产产品

More information

册子0906

册子0906 IBM SelectStack ( PMC v2.0 ) 模块化私有云管理平台 是跨主流虚拟化技术的统一资源云管理平台 01 亮点 : 快速可靠地实现集成化 私有云管理平台 02/03 丰富的功能支持企业数据中心云计算 扩展性强 : 简单易用 : 04/05 功能丰富 : 06/07 为什么选择 IBM SelectStack (PMC v2.0)? 快速实现价值 提高创新能力 降低 IT 成本 降低复杂度和风险

More information

主要内容 一 ZFS 文件系统二 ZFS 文件系统数据完整性 1 一 ZFS 文件系统 ZFS 文件系统简介存储池 2 二 ZFS 文件系统数据完整性什么是数据完整性

主要内容 一 ZFS 文件系统二 ZFS 文件系统数据完整性 1 一 ZFS 文件系统 ZFS 文件系统简介存储池 2 二 ZFS 文件系统数据完整性什么是数据完整性 一 ZFS 文件系统二 ZFS 文件系统数据完整性 老师 : 冯丹 2010 年 10 月 25 日 主要内容 一 ZFS 文件系统二 ZFS 文件系统数据完整性 1 一 ZFS 文件系统 ZFS 文件系统简介存储池 2 二 ZFS 文件系统数据完整性什么是数据完整性 主要内容 一 ZFS 文件系统二 ZFS 文件系统数据完整性 ZFS 文件系统简介存储池 1 一 ZFS 文件系统 ZFS 文件系统简介存储池

More information

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX BPMX3 技 术 白 皮 书 业 务 流 程 开 发 平 台 介 绍 目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX3... 5 2.2.1 BPMX3

More information

gta 5 serial key number pciker

gta 5 serial key number pciker Gta 5 Serial Key Number Pciker >>> http://shurll.com/7nott 1 / 5 2 / 5 Keep..rea... 2016 年 1 月 3 日 - download..gta..5..serial..number..of..the..most..exclusive..pageviews..selforganizing..ngos,..live..stories..and..easy..policies..regarding..to..containing..my...

More information

赵燕菁 #!!!

赵燕菁 #!!! 赵燕菁 城市规划在灾后重建中对于工程技术的关注 很容易掩盖城市灾后重建中看不见的制度因素!!! 产权 城市最基本的制度 原型 # 就是公共产品交易的存在 城市 发达 # 与否 取决于公共产品提供的范围和水平 现代城市和传统城市的最大差别 就是可以以信用的方式 抵押未来的收益 获得公共产品建设所需要的原始资本 市场经济与计划经济最大的差别 就在于高度复杂的产权制度 因此 未来灾区规划中 产权的恢复和重建

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

SparkR(R on Spark)编程指南

SparkR(R on Spark)编程指南 概论 SparkR 是一个 R 语言包, 它提供了轻量级的方式使得可以在 R 语言中使用 Apache Spark 在 Spark 1.4 中,SparkR 实现了分布式的 data frame, 支持类似查询 过滤以及聚合的操作 ( 类似于 R 中的 data frames:dplyr), 但是这个可以操作大规模的数据集 SparkR DataFrames DataFrame 是数据组织成一个带有列名称的分布式数据集

More information

7.1 MapReduce Offline... 33 7.2 Online 计 算... 34 7.2.1 流 式 计 算... 34 7.2.2 并 行 数 据 库 的 SQL 查 询... 35 7.2.3 数 据 仓 库 复 杂 查 询... 36 8 应 用... 38 8.1 电 子 商

7.1 MapReduce Offline... 33 7.2 Online 计 算... 34 7.2.1 流 式 计 算... 34 7.2.2 并 行 数 据 库 的 SQL 查 询... 35 7.2.3 数 据 仓 库 复 杂 查 询... 36 8 应 用... 38 8.1 电 子 商 分 布 式 系 统 工 程 实 践 杨 传 辉 日 照 @ 淘 宝 V 0.1 2010-10 分 布 式 系 统 工 程 实 践... 1 1 引 言... 3 2 基 础 知 识... 3 2.1 硬 件 基 础... 4 2.2 性 能 估 算... 4 2.3 CAP... 6 2.4 一 致 性 模 型... 7 2.5 NOSQL 与 SQL... 9 2.6 Two-Phase commit...

More information

turbomail方案

turbomail方案 TurboMail 安 全 保 密 邮 件 系 统 解 决 方 案 (Windows/Linux/Unix/AIX/Solaris/FreeBSD 平 台 适 用 ) 广 州 拓 波 软 件 科 技 有 限 公 司 网 址 :http://www.turbomail.org - 1 - 目 录 广 州 拓 波 软 件 科 技 有 限 公 司 简 介...- 4 - 涉 密 系 统 需 求...- 7

More information

通过动态路由协议实现链路备份

通过动态路由协议实现链路备份 通过动态路由协议实现链路备份 实验名称 通过动态路由协议实现链路备份 实验目的 掌握通过在不同链路上配置不同的路由协议实现链路备份 背景描述 你是公司高级网络管理员, 公司内部有一个很重要的服务器所在网段为 192.168.12.0/24, 平常访问通过 R1,R3 的 OSPF 路由协议, 为了保证该网段随时能够访问, 不能因为链路故障出问题, 要求你实现一个备份冗余的功能, 请给予支持 实现功能

More information

信 息 化 研 究

信 息 化 研 究 信 息 化 研 究 2014 年 第 21 期 总 第 70 期 国 家 信 息 中 心 信 息 化 研 究 部 2014 年 12 月 17 日 大 数 据 在 电 子 政 务 中 的 应 用 研 究 杨 道 玲 1 摘 要 大 数 据 技 术 的 发 展, 对 政 府 治 理 和 公 共 服 务 正 产 生 广 泛 而 深 刻 的 影 响 欧 美 发 达 国 家 已 经 开 展 电 子 政 务

More information

未命名-1

未命名-1 1 2 3 4 5 6 7 8 9 10 11 12 ss a c y e vg 13 14 15 16 17 18 19 H 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 发现生命的螺旋 克里克在提出 中心法则 时曾指出 遗传信息是沿 D N A - R N A - 蛋白质的方向流动的 遗传信息不可能从 R N A 回到 D N

More information

Microsoft Word - SPEC-20130418

Microsoft Word - SPEC-20130418 ( 初 稿 2013.04.18) 中 央 研 究 院 經 濟 研 究 所 全 球 資 訊 網 站 改 版 建 置 案 建 議 書 徵 求 說 明 文 件 目 次 壹 專 案 概 述... 2 一 專 案 名 稱... 2 二 專 案 目 標... 2 三 專 案 範 圍... 2 四 專 案 時 程... 2 五 現 況 說 明... 3 貳 專 案 需 求... 3 一 網 站 軟 體 開 發

More information

大数据技术基础(2013版)

大数据技术基础(2013版) 大数据技术基础 厦门大学计算机科学系厦门大学计算机系林子雨 ziyulin@xmu.edu.cn 2013 年新版 2013 年 9 月修订版 厦门大学计算机科学系研究生课程 大数据技术基础 第 3 章 Hadoop (2013 年新版 ) 林子雨 厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu 提纲

More information

Linux服务器构建与运维管理

Linux服务器构建与运维管理 1 Linux 服务器构建与运维管理 第 2 章 :Linux 基本命令 阮晓龙 13938213680 / rxl@hactcm.edu.cn http://linux.xg.hactcm.edu.cn http://www.51xueweb.cn 河南中医药大学管理科学与工程学科 2018.3 2 提纲 目录与文件的操作 mkdir touch mv cp rm rmdir file tree

More information

* 系统架构 * IB API 模块 目录 * 消息总线模块 * 行情采集处理引擎模块 * 持久化存储模块

* 系统架构 * IB API 模块 目录 * 消息总线模块 * 行情采集处理引擎模块 * 持久化存储模块 基于 IB API 的外汇期货期权程序化交易 讲师 : 赵博 * 系统架构 * IB API 模块 目录 * 消息总线模块 * 行情采集处理引擎模块 * 持久化存储模块 系统架构 全球场内期权实时行情自动化采集 功能方法名称实现方式 建立 API 连接 connect 在该 connect 方法中, 根据企业消息服务器 TWS.Q.CMD 队列中获取到的消息命令 CONNECT:CONNECT, 调用

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005 1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005 1 1...3 2...20 3...28 4...41 5 Windows SQL Server...47 Microsoft SQL Server 2005 DBSRV1 Microsoft SQL Server

More information

未标题-4

未标题-4 创建信息市场, 实现智能城市价值挖掘 2 执行概要 230 3000 system of systems 信息市场定义为一个以数据加工和信息交换为主要功能 以信息综合利用并创造价值为主要目标的集市 是数字经济运转的心脏 1 3 4 1 重新评估智能城市价值 1.1 600 GDPGDP 60% 287 6.5% 29% 60% GDP 3% 9% 89.6% 36 230 3000 1.2 Information

More information

第 1 章 NoSQL 本章内容 NoSQL 的起源和发展现状为什么要使用 NoSQL 开源 NoSQL 产品介绍本章小结

第 1 章 NoSQL 本章内容 NoSQL 的起源和发展现状为什么要使用 NoSQL 开源 NoSQL 产品介绍本章小结 第 1 章 NoSQL 本章内容 NoSQL 的起源和发展现状为什么要使用 NoSQL 开源 NoSQL 产品介绍本章小结 2 Cassandra 实战 1 1 NoSQL 的起源和发展现状 对于 NoSQL 这个新兴的名词, 大家的理解不尽相同 在网站 htp://nosql database org/ 上对 NoSQL 有一个较为全面的解释 : 下一代的数据库产品应该具备这几个特点 : 非关系型的

More information

5 2. 过程与方法 情感 态度与价值观 三 知识结构图 四 教学内容和教学要求 课 程 教学要求 课时安排

5 2. 过程与方法 情感 态度与价值观 三 知识结构图 四 教学内容和教学要求 课 程 教学要求 课时安排 单元教学综述 一 内容概述 2 IE 5 5 10 11 12 13 14 二 教学目标 1. 知识与技能 1 2 3 4 5 2. 过程与方法 1 2 3 4 3. 情感 态度与价值观 1 2 3 三 知识结构图 四 教学内容和教学要求 课 程 教学要求 课时安排 1 10 1 2 11 1 1 2 12 1 2 3 4 1 小学信息技术第 3 册教师用书 续表 课 程 教学要求 课时安排 13

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

01

01 ZEBRA 技术白皮书 条码编码 101 相关知识介绍 引言 20 70 数据 80 20 90 (JIT) AIAG EIA HIBCC HAZMAT 条码的优势提高数据准确性 99% 85% / / 提升效率 / 2 Zebra Technologies 保持一致性 ID 改进库存和资产管理 成本 / 效益分析 ID ID ID (ERP) RFID Zebra Technologies 3 ID

More information

RS Pro 以实惠的价格 提供您所需的品质与性能 细节决定成败 正确的选择可以提高整个组织的效率和生产力 每个决策 每个环节都很重要 因此 RS Pro 为您提供了约 40,000 种产品供您选择 这些产品均经过产品质量测试 专为严苛的制造和工业环境而设计 并在不断推陈出新 RS Pro 深知每个

RS Pro 以实惠的价格 提供您所需的品质与性能 细节决定成败 正确的选择可以提高整个组织的效率和生产力 每个决策 每个环节都很重要 因此 RS Pro 为您提供了约 40,000 种产品供您选择 这些产品均经过产品质量测试 专为严苛的制造和工业环境而设计 并在不断推陈出新 RS Pro 深知每个 china.rs-online.com Every part matters china.rs-online.com/rspro RS Pro 以实惠的价格 提供您所需的品质与性能 细节决定成败 正确的选择可以提高整个组织的效率和生产力 每个决策 每个环节都很重要 因此 RS Pro 为您提供了约 40,000 种产品供您选择 这些产品均经过产品质量测试 专为严苛的制造和工业环境而设计 并在不断推陈出新

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

xforce keygen microsoft office 2013

xforce keygen microsoft office 2013 Xforce Keygen Microsoft Office 2013 ->->->-> http://shurll.com/78610 1 / 5 2 / 5 Generally, Autodesk,,Vault,,Office,,2016,,555H1,,Autodesk,,Vault,,Professional,,2016,,569H1,,Autode sk,,vault,,workgroup,,2016,,559h1,,autodesk,,vehicle,,tracking,,2016,,955h1,,autodesk,,vred...

More information

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘 ITE 資 訊 專 業 人 員 鑑 定 資 料 庫 系 統 開 發 與 設 計 實 務 試 卷 編 號 :IDS101 注 意 事 項 一 本 測 驗 為 單 面 印 刷 試 題, 共 計 十 三 頁 第 二 至 十 三 頁 為 四 十 道 學 科 試 題, 測 驗 時 間 90 分 鐘 : 每 題 2.5 分, 總 測 驗 時 間 為 90 分 鐘 二 執 行 CSF 測 驗 系 統 -Client

More information

案例分享产品文档

案例分享产品文档 消 息 队 列 案 例 分 享 产 品 文 档 版 权 声 明 2015-2016 腾 讯 云 版 权 所 有 本 文 档 著 作 权 归 腾 讯 云 单 独 所 有, 未 经 腾 讯 云 事 先 书 面 许 可, 任 何 主 体 不 得 以 任 何 形 式 复 制 修 改 抄 袭 传 播 全 部 或 部 分 本 文 档 内 容 商 标 声 明 及 其 它 腾 讯 云 服 务 相 关 的 商 标 均

More information

K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V G Seagate Pipeline HD2 ST CS - 可用 Seagate Pipeline HD2 ST1000VM002 - 可用 1T Seagate SV35.5

K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V G Seagate Pipeline HD2 ST CS - 可用 Seagate Pipeline HD2 ST1000VM002 - 可用 1T Seagate SV35.5 注意请使用 5T 或 6T 的硬盘架 (WJ-ND400/ WJ-HDE400/WJ-HD716/WJ-HD616) 请不要在 5TB 或 6TB 硬盘底部安 2 颗螺丝 ( 下方标记 ), 因为螺丝要长于螺旋孔的深度 顶视图 底视图 1 K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V3.200 500G Seagate Pipeline HD2 ST3500312CS

More information

( 一 ) 外来农民进入城市的主要方式, %,,,,,, :., 1,, 2., ;,,,,,, 3.,,,,,, ;,,, ;.,,,,,,,,,,,,,,,,,,,,,, :,??,?? ( 二 ) 浙江村 概况.,,,,,, 1,, 2,, 3

( 一 ) 外来农民进入城市的主要方式, %,,,,,, :., 1,, 2., ;,,,,,, 3.,,,,,, ;,,, ;.,,,,,,,,,,,,,,,,,,,,,, :,??,?? ( 二 ) 浙江村 概况.,,,,,, 1,, 2,, 3 : 王汉生刘世定孙立平项飚 本文从农村人口进入城市的方式这一新的视角, 对北京著名的外来农村人口聚 居区 浙江村 的形成过程和基本状况进行了生动描述和深入分析 指出 : 浙江村的独特之处在于它不同于一般意义上的 劳动力 的流动, 它是带着综合性资源的 经营者的流动 浙江村村民进入城市的过程是不断寻找市场和开拓市场的过程, 并 在城市中形成了一个以聚居为基础的产业加工基地, 作者将这种类型的流动称为产

More information

2014 年 87 月 259 日 K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V3.200 容量 供应商 系列 型号 格式 可用性 兼容性能 备注 500G Seagate Pipeline HD2 ST CS - 可用 Seagate Pi

2014 年 87 月 259 日 K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V3.200 容量 供应商 系列 型号 格式 可用性 兼容性能 备注 500G Seagate Pipeline HD2 ST CS - 可用 Seagate Pi 纠正点从 2014 年 5 月 12 日的版本开始 我们缺少的 4TB 硬盘的型号 : WJ-ND400 / 和 WJ-HD616K / WJ-716K / WJ-ND400 WJ-HD616K WJ-HD716K 4TB 红 40PURX-64GVNY0 AF OK 4TB 红 40EFRX-68WT0N0 AF OK 纠正点 1 2014 年 87 月 259 日 K-HW508K / HW516K

More information