MapReduce

关于reduce,我想说...

纵然是瞬间 提交于 2020-08-05 21:19:34
前言 reduce,这个高级函数,大家最开始应该是用于求和。我也是,仅仅在求和中遇到它。后来数组越来越复杂,想查找简单解决办法的时候发现了这个大杀器的更多使用。现在,它成为了我最爱的高阶函数,没有之一。reduce参数说明我就不多介绍了,下面主要是一些实战小技巧。 [ 1 , 2 , 3 ].reduce( ( c,n )=> c+n); 复制代码 替代部分其他数组高阶函数 reduce替代map const arr = [{ name : 'Amy' },{ name : 'Bob' }]; arr.map( it => it.name); // map arr.reduce( ( c,n )=> [...c,n.name],[]); // reduce 复制代码 reduce替代filter const arr = [{ name : 'Amy' , age : 18 },{ name : 'Bob' , age : 20 }]; arr.filter( it => it.age> 18 ); // filter arr.reduce( ( c,n )=> n.age> 18 ? [...c,n]:c,[]); // reduce 复制代码 reduce替代 map + filter。 const arr = [{ name : 'Amy' , age : 18 },{

想了解大数据的鼻祖Hadoop技术栈,这里有一份优质书单推荐!

↘锁芯ラ 提交于 2020-08-05 12:01:38
​ 如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系?对于大部分人来说都是傻傻分不清楚。 今年来大数据、人工智能获得了IT界大量的关注。如果一个企业不玩大数据,都不好意思说自己是在IT圈混的。我敢打赌,你在中关村西二旗地铁站溜一圈,保准你会听到如下名词:Hadoop、Spark、MapReduce、NoSQL、离线计算、实时计算、实时推送等等一大串名称。 程序猿们就是有这么实在,坐在地铁上还能那么投入的讨论技术问题。那么,这些听起来高大上的技术,究竟都是干什么用的呢?他们之间的有什么区别和联系? 通常,一个技术的兴起,都是由现实需求驱动的。了解了我们面临的问题,就能更好的理解各个大数据技术的使用场景,各类大数据技术的区别也就显而易见了。 今天这一份书单,我们就将从Hadoop生态圈开始入手,推荐几本关于Hadoop生态圈的优质书籍! Hadoop技术栈系列书单 ​ Hadoop权威指南:大数据的存储与分析(第4版) 本书结合理论和实践,由浅入深,全方位介绍了Hadoop这一高性能的海量数据处理和分析平台。 全书5部分24章,第Ⅰ部分介绍Hadoop基础知识,主题涉及Hadoop、MapReduce、Hadoop分布式文件系统、YARN、Hadoop的I/O操作。第Ⅱ部分介绍MapReduce,主题包括MapReduce应用开发

【赵强老师】什么是Spark SQL?

强颜欢笑 提交于 2020-08-04 22:15:41
一、Spark SQL简介 Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。 为什么要学习Spark SQL?我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所以Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!同时Spark SQL也支持从Hive中读取数据。 二、Spark SQL的特点 无缝集成在Spark中,将SQL查询与Spark程序混合。Spark SQL允许您使用SQL或熟悉的DataFrame API在Spark程序中查询结构化数据。适用于Java、Scala、Python和R语言。 提供统一的数据访问,以相同的方式连接到任何数据源。DataFrames和SQL提供了一种访问各种数据源的通用方法,包括Hive、Avro、Parquet、ORC、JSON和JDBC。您甚至可以通过这些源连接数据。 支持Hive集成。在现有仓库上运行SQL或HiveQL查询。Spark SQL支持HiveQL语法以及Hive SerDes和udf,允许您访问现有的Hive仓库。 支持标准的连接

E-MapReduce 4月产品新功能

回眸只為那壹抹淺笑 提交于 2020-08-04 16:27:03
E-MapReduce 4月份新功能: 1.EMR Hadoop集群弹性伸缩支持优雅下线,用户可以在弹性伸缩缩容规则中设置等待时长,降低对缩容task节点任务的影响。 2.EMR支持阿里云企业资源组,在不同资源组实现EMR集群的隔离,便于各部门独立成本核算。 3.EMR支持3个master节点。 4.弹性伸缩在全球所有region对齐。 5.Knox支持Druid。 更多产品详情,请点击 https://www.aliyun.com/product/emapreduce 来源: oschina 链接: https://my.oschina.net/u/4405841/blog/4277067

深度剖析大数据平台的数据处理

独自空忆成欢 提交于 2020-08-04 12:19:55
无论是采集数据,还是存储数据,都不是大数据平台的最终目标。失去数据处理环节,即使珍贵如金矿一般的数据也不过是一堆废铁而已。数据处理是大数据产业的核心路径,然后再加上最后一公里的数据可视化,整个链条就算彻底走通了。 如下图所示,我们可以从业务、技术与编程模型三个不同的视角对数据处理进行归类: 业务角度的分类与具体的业务场景有关,但最终会制约技术的选型,尤其是数据存储的选型。例如,针对查询检索中的全文本搜索,ElasticSearch会是最佳的选择,而针对统计分析,则因为统计分析涉及到的运算,可能都是针对一列数据,例如针对销量进行求和运算,就是针对销量这一整列的数据,此时,选择列式存储结构可能更加适宜。 在技术角度的分类中,严格地讲,SQL方式并不能分为单独的一类,它其实可以看做是对API的封装,通过SQL这种DSL来包装具体的处理技术,从而降低数据处理脚本的迁移成本。毕竟,多数企业内部的数据处理系统,在进入大数据时代之前,大多以SQL形式来访问存储的数据。大体上,SQL是针对MapReduce的包装,例如Hive、Impala或者Spark SQL。 Streaming流处理可以实时地接收由上游源源不断传来的数据,然后以某个细小的时间窗口为单位对这个过程中的数据进行处理。消费的上游数据可以是通过网络传递过来的字节流、从HDFS读取的数据流,又或者是消息队列传来的消息流。通常

Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘

我与影子孤独终老i 提交于 2020-08-04 09:17:47
百度云盘:Python自动化运维 技术与最佳实践PDF高清完整版免费下载 提取码:l7cd 内容简介 本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵、深和实践角度探讨Python在运维领域应用的著作;一方面本书的作者是中国运维领域的“偶像级”人物,本书是他在天涯社区和腾讯近10年工作经验的结晶。因为作者实战经验丰富,所以能高屋建瓴、直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息、服务监控、数据报表、系统安全等基础模块,而且深入讲解了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能。最重要的是,完整重现了4个来自实际生产环境的不同功能运维平台的综合案例,展示了完整的平台架构及开发流程。 全书一共16章:基础篇(1-4章)详细介绍了系统基础信息、业务服务监控、定制业务质量报表、系统安全等基础和常用模块;高级篇(5-12章)深入讲解了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(13-16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造一个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量监控平台、如何构建桌面版C

MongoDB 部署

非 Y 不嫁゛ 提交于 2020-07-29 07:05:07
MongoDB (来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及 各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发 展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格 一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来 创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。 MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多 数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自 动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数 据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能丰富,像关系数 据库的。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档

【赵强老师】什么是Spark SQL?

大城市里の小女人 提交于 2020-07-29 06:40:08
一、Spark SQL简介 Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。 为什么要学习Spark SQL?我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所以Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!同时Spark SQL也支持从Hive中读取数据。 二、Spark SQL的特点 无缝集成在Spark中,将SQL查询与Spark程序混合。Spark SQL允许您使用SQL或熟悉的DataFrame API在Spark程序中查询结构化数据。适用于Java、Scala、Python和R语言。 提供统一的数据访问,以相同的方式连接到任何数据源。DataFrames和SQL提供了一种访问各种数据源的通用方法,包括Hive、Avro、Parquet、ORC、JSON和JDBC。您甚至可以通过这些源连接数据。 支持Hive集成。在现有仓库上运行SQL或HiveQL查询。Spark SQL支持HiveQL语法以及Hive SerDes和udf,允许您访问现有的Hive仓库。 支持标准的连接

Kylin的工作原理

会有一股神秘感。 提交于 2020-07-29 01:47:02
Apache Kylin 的工作原理本质上是 MOLAP (多维立方体分析) 。 维度和度量 维度就是观察数据的角度 ,例如: 电商的销售数据,可以从时间的维度来观察,也可以细化从时间和地区的维度来观察 统计时,可以把维度值相同的记录聚合在一起,然后应用聚合函数做累加、平均、去重计数等聚合计算 度量就是被聚合的统计值,也是聚合运算的结果 。 时间(维度) 销售额(度量) 2019 1Q 1.7M 2019 2Q 2.1M 2019 3Q 1.6M 2019 4Q 1.8M 时间(维度) 地区(维度) 销售额(度量) 2019 1Q 中国 1.0M 2019 1Q 北美 0.7M 2019 2Q 中国 1.5M 2019 2Q 北美 0.6M 2019 3Q 中国 0.9M 2019 3Q 北美 0.7M 2019 4Q 中国 0.9M 2019 4Q 北美 0.9M Cube 和 Cuboid 一个数据表或数据模型上的字段就它们要么是维度,要么是度量(可以被聚合) 给定一个数据模型,可以对其上的所有维度进行组合。对于 N 个维度来说,组合的所有可能性共有 2 的 N 次方种 对于每一种维度的组合 ,将度量做聚合运算,然后将运算的结果保存为一个物化视图,称为 Cuboid (立方形) 所有维度组合的 Cuboid 作为一个整体,被称为 Cube (立方体) 。一个 Cube

大数据分析有哪些特点

。_饼干妹妹 提交于 2020-07-28 19:08:31
  随着互联网的不断发展,越来越多的用户和企业都开始接触和学习大数据技术,下面我们就一起来了解一下,大数据的特性都有哪些,希望通过对本文的阅读,大家在学习大数据技术的时候有更精确的了解。   大数据的特性都有哪些   一、体量(Volume)   大数据由大量数据组成,从几个TB到几个ZB。这些数据可能会分布在许多地方,通常是在一些连入因特网的计算网络中。一般来说,凡是满足大数据的几个V的条件的数据都会因为太大而无法被单独的计算机处理。单单这一个问题就需要一种不同的数据处理思路,这也使得并行计算技术(例如MapReduce)得以迅速崛起。   二、高速(Velocity)   大数据是在运动着的,通常处于很高的传输速度之下。它经常被认为是数据流,而数据流通常是很难被归档的(考虑到有限的网络存储空间,单单是高速就已经是一个巨大的问题)。这就是为什么只能收集到数据其中的某些部分。如果我们有能力收集数据的全部,长时间存储大量数据也会显得非常昂贵,所以周期性的收集数据遗弃一部分数据以节省空间,仅保留数据摘要(如平均值和方差)。这个问题在未来会显得更为严重,因为越来越多的数据正以越来越快的速度所产生。   三、多样(Variety)   在过去,数据或多或少是同构的,这种特点也使得它更易于管理。这种情况并不出现在大数据中,由于数据的来源各异,因此形式各异。这体现为各种不同的数据结构类型