MapReduce

IDEA搭建scala开发环境开发spark应用程序

流过昼夜 提交于 2020-04-28 10:40:32
通过IDEA搭建scala开发环境开发spark应用程序 一、idea社区版安装scala插件 因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安装scala插件,具体安装办法如下。 1、打开idea,点击configure下拉菜单中的plugins选项: 2、在弹出对话框中点击红框按钮: 3、在弹出最新对话框的搜索栏输入scala,在筛选出的内容中选择红框部分,点击右侧install按钮开始下载插件: 本人在测试过程中通过install自动下载插件失败,最后选择手动下载scala插件,然后通过步骤2中install plugin from disk选项,选择手动下载zip包的方式安装插件成功。 二、创建scala工程 1、下载scala安装文件,并解压到d:\目录下: https://downloads.lightbend.com/scala/2.10.6/scala-2.10.6.zip 2、打开idea开发工具,选择“create new project”,创建一个新的工程: 3、下图中选择jdk版本、选择scala、以及scala依赖包位置(scala安装软件位置),next: 4、输入工程名称并且选择工程位置,点击finash: 5、完成工程创建后如下: 三、配置scala工程 1、file->preject

Hadoop及Spark学习路线及资源收纳

倖福魔咒の 提交于 2020-04-28 09:06:28
title: Hadoop及Spark学习路线及资源收纳 date: 2018-11-18 16:19:54 tags: Hadoop categories: 大数据 toc: true 点击查看我的博客: Josonlee’s Blog 版权声明:本文为博主原创文章,未经博主允许不得转载( https://blog.csdn.net/lzw2016/) 前言 本人大数据专业方向,收集学习一些相关文章,汇总如下。有些资源来源网络,出处不明,如有错误请告知,谢谢 资源不断更新中。。。 Hadoop 18.11.18 有的旧的官方文档盖楼: Hadoop 0.18文档 Hadoop新手学习指导 (出处: about云开发) 零基础学习hadoop到上手工作线路指导(初级篇) (出处: about云开发) 推荐一个博客分类 博主LanceToBigData:Hadoop 一、学习路线图 Hadoop家族学习路线图 开篇必读 Hive学习路线图 Mahout学习路线图 二、编程实践 Hadoop历史版本安装 用Maven构建Hadoop项目 Hadoop编程调用HDFS 用Maven构建Mahout项目 Mahout推荐算法API详解 用MapReduce实现矩阵乘法 从源代码剖析Mahout推荐引擎 Mahout分步式程序开发 基于物品的协同过滤ItemCF Mahout分步式程序开发

Apache Hive (一)Hive初识

淺唱寂寞╮ 提交于 2020-04-27 20:59:45
转自:https://www.cnblogs.com/qingyunzong/p/8707885.html Hive 简介 什么是Hive 1、Hive 由 Facebook 实现并开源 2、是基于 Hadoop 的一个数据仓库工具 3、可以将结构化的数据映射为一张数据库表 4、并提供 HQL(Hive SQL)查询功能 5、底层数据是存储在 HDFS 上 6、Hive的本质是将 SQL 语句转换为 MapReduce 任务运行 7、使不熟悉 MapReduce 的用户很方便地利用 HQL 处理和计算 HDFS 上的结构化的数据,适用于离线的批量数据计算。   数据仓库之父比尔·恩门(Bill Inmon)在 1991 年出版的“Building the Data Warehouse”(《建 立数据仓库》)一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面 向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史 变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。   Hive 依赖于 HDFS 存储数据,Hive 将 HQL 转换成 MapReduce 执行,所以说 Hive 是基于 Hadoop 的一个数据仓库工具

Hive学习之路 (一)Hive初识

只谈情不闲聊 提交于 2020-04-27 20:24:55
Hive 简介 什么是Hive 1、Hive 由 Facebook 实现并开源 2、是基于 Hadoop 的一个数据仓库工具 3、可以将结构化的数据映射为一张数据库表 4、并提供 HQL(Hive SQL)查询功能 5、底层数据是存储在 HDFS 上 6、Hive的本质是将 SQL 语句转换为 MapReduce 任务运行 7、使不熟悉 MapReduce 的用户很方便地利用 HQL 处理和计算 HDFS 上的结构化的数据,适用于离线的批量数据计算。   数据仓库之父比尔·恩门(Bill Inmon)在 1991 年出版的“Building the Data Warehouse”(《建 立数据仓库》)一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面 向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史 变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。   Hive 依赖于 HDFS 存储数据,Hive 将 HQL 转换成 MapReduce 执行,所以说 Hive 是基于 Hadoop 的一个数据仓库工具,实质就是一款基于 HDFS 的 MapReduce 计算框架,对存储在 HDFS 中的数据进行分析和管理

入门大数据---Kafka是什么?

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-27 19:37:49
[toc] 1. Kafka简介 Kafka是一种计算框架,结合了之前的MapReduce批处理和流式计算为一体,可以处理历史数据和实时数据。 **流平台具有三个关键功能: ** 发布和订阅记录流,类似于消息队列或企业消息传递系统。 以容错的持久方式存储记录流。 处理记录流。 Kafka通常用于两大类应用程序: 构建应用程序和Kafka之间的管道流 构建响应流 另外几个概念: Kafka可以部署到多台机器上,甚至不同区域的机房里面 Kafka的记录流存在Topic(主题)里面 每条记录由key,value和timestamp组成 Kafka提供了四个核心API: Producer API Consumer API Streams API Connector API Topics and Logs (主题和日志) 一个Topic有0个,1个或多个订阅者。一个Topic有1个或多个分区。另外还有个任务概念,每个任务可以处理多个分区。如下图所示: 每个Topic维护着一个有序的Log,订阅者根据自己记录的偏移量来灵活读取Log。 Distribution 每个Log有一个主节点和多个从节点,这些节点分布到不同机器上,从节点同步主节点内容,当主节点挂了,会从从节点里面选取一个主节点继续运行。每个主节点机器上同时分布着其它机器的从节点,同时主节点也分布着其它Log的主节点,画个图脑补下:

CLOS网络架构与FATTREE胖树拓扑

回眸只為那壹抹淺笑 提交于 2020-04-27 18:52:28
FatTree拓扑结构是由MIT的Fares等人在改进传统树形结构性能的基础上提出的,属于switch-only型拓扑。 整个拓扑网络分为三个层次:自上而下分别为边缘层(edge)、汇聚层(aggregate)和核心层(core),其中汇聚层交换机与边缘层交换机构成一个pod,交换设备均采用商用交换设备。 图1 常规树形拓扑 图2 二叉胖树 图3 四叉胖树 图3 六叉胖树 FatTree构建拓扑规则如下:FatTree拓扑中包含的Pod数目为 k k,每一个pod连接的sever数目为 ( k / 2 ) 2 (k/2)2,每一个pod内的边缘交换机及聚合交换机数量均为 k / 2 k/2,核心交换机数量为 ( k / 2 ) 2 (k/2)2,网络中每一个交换机的端口数量为 k k,网络所能支持的服务器总数为 k 3 / 4 k3/4。 FatTree结构采用水平扩展的方式,当拓扑中所包含的pod数目增加,交换机的端口数目增加时,FatTree投票能够支持更多的服务器,满足数据中心的扩展需求,如 k = 48 k=48时,FatTree能够支持的服务器数目为27648。 FatTree结构通过在核心层多条链路实现负载的及时处理,避免网络热点;通过在pod内合理分流,避免过载问题。 FatTree对分带宽随着网络规模的扩展而增大,因此能够为数据中心提供高吞吐传输服务

Hbase入门(五)——客户端(Java,Shell,Thrift,Rest,MR,WebUI)

烈酒焚心 提交于 2020-04-26 09:11:54
Hbase的客户端有原生java客户端,Hbase Shell,Thrift,Rest,Mapreduce,WebUI等等。 下面是这几种客户端的常见用法。 一、原生Java客户端 原生java客户端是hbase最主要,最高效的客户端。 涵盖了增删改查等API,还实现了创建,删除,修改表等DDL操作。 配置java连接hbase Java连接HBase需要两个类: HBaseConfiguration ConnectionFactory 首先,配置一个hbase连接: 比如zookeeper的地址端口 hbase.zookeeper.quorum hbase.zookeeper.property.clientPort 更通用的做法是编写hbase-site.xml文件,实现配置文件的加载: hbase-site.xml示例: <configuration> <property> <name>hbase.master</name> <value>hdfs://host1:60000</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>host1,host2,host3</value> </property> <property> <name>hbase.zookeeper.property

大数据:互联网大规模数据挖掘与分布式处理pdf

笑着哭i 提交于 2020-04-26 02:49:40
下载地址: 网盘下载 内容简介 · · · · · · 大数据:互联网大规模数据挖掘与分布式处理,ISBN:9787115291318,作者:(美) Anand Rajaraman (美) Jeffrey David Ullman 著,王 斌 译 作者简介 · · · · · · Anand Rajaraman 数据库和Web技术领域权威,创业投资基金Cambrian联合创始人,斯坦福大学计算机科学系助理教授。Rajaraman职业生涯非常成功:1996年创办Junglee公司,两年后该公司被亚马逊以2.5亿美元收购,Rajaraman被聘为亚马 逊技术总监,推动亚马逊从一个零售商转型为零售平台;2000年与人合创Cambrian,孵化出几个后来被谷歌收购的公司;2005年创办Kosmix公司并任CEO,该公司2011年被沃尔玛集团收购。Rajaraman生于印度,在斯坦福大学获得计算机科学硕士和博士学位。求学期间与人合著的一篇论文荣列近20年来被引用次数最多的论文之一。博客地址http://anand.typepad.com/datawocky/。 Jeffrey David Ullman 美国国家工程院院士,计算机科学家,斯坦福大学教授。Ullman早年在贝尔实验室工作,之后任教于普林斯顿大学,十年后加入斯坦福大学直至退休,一生的科研、著书和育人成果卓著。他是ACM会员

hadoop、storm和spark的区别、比较

北慕城南 提交于 2020-04-25 01:58:10
一、hadoop、Storm该选哪一个? 为了区别hadoop和Storm,该部分将回答如下问题: 1.hadoop、Storm各是什么运算 2.Storm为什么被称之为流式计算系统 3.hadoop适合什么场景,什么情况下使用hadoop 4.什么是吞吐量 首先整体认识:Hadoop是磁盘级计算,进行计算时,数据在磁盘上,需要读写磁盘;Storm是内存级计算,数据直接通过网络导入内存。读写内存比读写磁盘速度快n个数量级。根据Harvard CS61课件,磁盘访问延迟约为内存访问延迟的75000倍。所以Storm更快。 注释: 延时 , 指数据从产生到运算产生结果的时间,“快”应该主要指这个。 吞吐, 指系统单位时间处理的数据量。 storm的网络直传、内存计算,其时延必然比hadoop的通过hdfs传输低得多;当计算模型比较适合流式时,storm的流式处理,省去了批处理的收集数据的时间;因为storm是服务型的作业,也省去了作业调度的时延。所以从时延上来看,storm要快于hadoop。 从原理角度来讲: Hadoop M/R基于HDFS,需要切分输入数据、产生中间数据文件、排序、数据压缩、多份复制等,效率较低。 Storm 基于ZeroMQ这个高性能的消息通讯库,不持久化数据。 为什么storm比hadoop快,下面举一个应用场景 说一个典型的场景,几千个日志生产方产生日志文件

Spark学习(一)——Spark运行架构

时光总嘲笑我的痴心妄想 提交于 2020-04-25 01:41:10
基本概念 在具体讲解Spark运行架构之前,需要先了解几个重要的概念: RDD:是弹性分布式数据集(Resilient Distributed Dataset)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型; DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系; Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行任务,并为应用程序存储数据; 应用:用户编写的Spark应用程序; 任务:运行在Executor上的工作单元; 作业:一个作业包含多个RDD及作用于相应RDD上的各种操作; 阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。 架构设计 如图9-5所示,Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)。其中,集群资源管理器可以是Spark自带的资源管理器,也可以是YARN或Mesos等资源管理框架。 与Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:一是利用多线程来执行具体的任务(Hadoop