执行任务的环境 HPCC:Thor使用了主备处理结构。ECL任务定义的处理步骤可以指定本地操作(数据在每个节点上独立处理)或者全局(数据跨所有节点处理)操 作。为 了对编译的ECL数据流程序的执行进行优化,一个过程的多个处理步骤可作为一个单独任务的一部分自动地执行。如果每个节点的CPU和内存资源可满足要求的 话,那么为了减少时延,一个单独的Thor集群可配置为并行地运行多个任务。包括ECL代理、ECL服务器和Dali服务器的中间件提供了客户端接口,并 管理作为工作单元打包的任务的执行。Roxie使用了多个服务器/代理的结构处理ECL程序,每个查询把服务器任务当作管理者,多个代理任务在需要的时候 获取和处理这个查询的数据。 Hadoop:对输入的键值对数据使用MapReduce处理范例。是主备处理结构。任务追踪器运行在主节点上,任务追踪器运行在每个备用节点上。 给 Map任务指定输入文件的输入分支,通常一个块一个任务。Reduce任务数由用户指定。对指定的节点来说,Map处理是在本地执行的。移动和排序操作是 随着Map的阶段来进行的,它用来分发和排序键值对给键区所对应的Reduce任务,这样具有同一键的键值对由同一个Reduce任务处理。对大多数过程 来说,多个MapReduce处理步骤通常是必须的,并且一定是单独由用户或者语言比如Pig来排序和串接的。 编程语言 HPCC:ECL是HPCC环境的主要编程语言。ECL编译为优化的C++,然后再编译为在Thor和Roxie平台上可执行的DLL。ECL的包 括封装 在函数里的内联的C++代码。外部服务可以用任何语言书写,并且编译为ECL可调用的函数共享库。管道接口允许执行用任何语言写的合并到任务里的外部程 序。 Hadoop的MapReduce任务通常用Java书写。其他语言的支持是通过流或者管道接口来实现的。其他处理环境是在Hadoop的 MapReduce之上执行的,比如HBase和Hive,它们拥有自身的语言接口。Pig拉丁语言和Pig执行环境提供了高级别的数据流语言,然后把这 种语言映射到到多个Java书写的MapReduce任务上。 集成编程开发环境 HPCC平台提供了ECL集成开发环境,一个综合的特别针对ECL语言的集成开发环境。ECL集成开发环境提供了对共享源代码仓库的访问,还提供了 开发 ECL数据流程序的完整的开发和测试环境。对ECLWatch工具的访问是内置的,它允许开发人员查看任务的执行状况。对当前和历史任务的工作单元的访问 也提供了,它允许开发人员在开发周期期间很容易地对一个任务和下一个任务的结果进行比较。 Hadoop MapReduce使用了Java编程语言,有几个优秀的Java编程开发环境,包括NetBeans和Eclipse,它们提供了访问Hadoop集群 的插件。Pig环境没有自己的集成开发环境,不过可以使用Eclipse和其他编辑环境进行语法检查。Eclipse的pigPen附加组件提供了对 Hadoop集群的访问,这样可以在Hadoop集群上运行Pig程序和其他的开发功能。 数据库功能 HPCC 平台包括在分布式文件系统上构建多个键、多个域(也就是复合)索引的功能。这些索引可以用来提高性能,并且提供了Thor系统上批处理任务的关键字访问,或者用来支持部署到Roxie系统上的查询的开发。ECL语言直接支持数据的关键字访问。 基本的Hadoop的MapReduce不提供任何根据关键字访问索引数据库的功能。Hadoop附加的名字为HBase的系统提供了面向列关键字 访问的 数据库功能。定制脚本语言和Java接口也提供了。Pig环境不直接支持对HBase的访问,它需要用户定义的函数或者各自的MapReduce过程。 在线查询和数据仓库功能 HPCC平台上的Roxie系统配置特别设计用来为结构化查询和数据分析应用提供数据仓库的功能。Roxie是一个高性能的平台,它能支持数千用户,并且提供取决于应用的亚秒响应时间。 基本的Hadoop的MapReduce系统不提供任何数据仓库功能。Hadoop的一个附加系统Hive提供数据仓库功能,并且允许装在HDFS 到表 里,然后使用类SQL的语言访问。Pig环境不直接支持对Hive的访问,它需要用户定义的函数或者各自的MapReduce过程。 扩展性 HPCC:一个到几千个节点。实际上,HPCC配置需要非常少的节点就可以提供Hadoop集群相同的处理性能。不过集群的大小可能取决于分布式文件系统的整体存储需求。 Hadoop:一个到数千个节点。 性能 已经证明HPCC平台在高性能的400个节点系统上102秒内对1TB的数据完成排序。在最近一次对运行在另外400个节点系统上的Hadoop进 行了实 力相当的基准测试,HPCC性能是6分27秒,而Hadoop的性能是25分钟28秒,同样的硬件配置的结果表明HPCC的基准测试比Hadoop快 3.95倍。 Hadoop:当前唯一可用的标准性能基准测试是由http://sorbenchmark.org所赞助的排序基准测试。雅虎已经证明在1460 个节点 上排序1TB数据是62秒,3450个节点排序100TB的数据是173分钟,3658个节点排序1PB数据是975分钟。 原文链接:http://hpccsystems.com/Why-HPCC/HPCC-vs-Hadoop/HPCC-vs-Hadoop-Detail 译文链接:http://www.oschina.net/translate/hpcc-systems-vs-hadoop-detail-comparison |