-
Java多线程&并发--基础
Java实现多线程概述Java 5以前实现多线程有两种实现方法:一种是继承Thread类;另一种是实现Runnable接口。两种方式都要通过重写run()方法来定义线程的行为。推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如果继承了Thread类就无法再继承其他类了,显然使用Runnable接口更为灵活。Java 5以后创建线程还有第三种方式:实现Callable接口,该接口中的call方法可以在线程执行结束时产生一个返回值1,继承Thread类步骤: 定义一个类继承 Thread 类。 ...…
-
Java--集合
前言Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*Java集合主要可以划分为4个部分:List(列表)、Set(集合)、Map(映射,键值对)、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。Java集合框架的基本接口/类层次结构:java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayL...…
-
Hive基础
什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。主要用途:用来做离线数据分析,比直接用mapreduce开发效率更高Hive架构图Hive基本组成及功能 用户接口主要由三个:CLI、JDBC/ODBC和WebGUI。其中,CLI为shell命令行;JDBC/ODBC是Hive的JAVA实现,与传统数据库JDBC类似;WebGUI是通过浏览器访问Hive。 元数据存储:Hive 将元数据存储在数据库中。Hive...…
-
Hadoop-YARN
YARN…
-
Hadoop-MapReduce的shuffle
shuffle基本概念 mapreduce中,map阶段处理的数据如何传递给reduce阶段,是mapreduce框架中最关键的一个流程,这个流程就叫shuffle shuffle: 洗牌、发牌——(核心机制:数据分区,排序,缓存) maptask输出的处理结果数据,分发给reducetask,并在分发的过程中,对数据按key进行了分区和排序主要流程:Shuffle缓存流程:shuffle是MR处理流程中的一个过程,它的每一个处理步骤是分散在各个map task和reduce task节点上完成的,整体...…
-
Hadoop-MapReduce的Partitioner
Partitioner基本概念分区(Partitioner)的作用是将所有的数据输出到同一个out文件中,分区可以将数据输出到不同的文件中。因为Reduce任务最终的输出就是整个job的输出,因此分区是针对于Reduce任务的数量来说的。分区的作用:在mapreduce运算之后可能会有这样的需求:有一类数据都具有统一特征,那么在reduce输出结果到文件中的时候是不是把这些具有统一特征的数据放到一个结果输出文件比较好呢?这时候就可以把这些区分数据的特征逻辑写到partitioner中实现数据分类保存。Part...…
-
Hadoop-MapReduce的Combiner
Combiner基本概念 Combiner是MR程序中Mapper和Reducer之外的一种组件 Combiner组件的父类就是Reducer Combiner和reducer的区别在于运行的位置:—— Combiner是在每一个maptask所在的节点运行—— Reducer是接收全局所有Mapper的输出结果 combiner的意义就是对每一个maptask的输出进行局部汇总,以减小网络传输量. combiner能够应用的前提是不能影响最终的业务逻辑.而且,combiner的输出kv应该跟red...…
-
Hadoop-MapReduce
MapReduce基本概念MapReduce是一种分布式计算模型(编程框架),由Google提出,主要用于搜索领域,解决海量数据的计算问题.MR由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两个函数组件,即可实现分布式计算,这两个函数的形参是key、value对,表示函数的输入信息。1 基本结构1.1 MRAppMaster(mapreduce application master)负责整个程序的过程调度及状态协调a)一个mr程序启动的时候,最先启动的是MRAppMaster...…
-
LinuxTomcat安装与部署
一. 安装Tomcat1、安装配置jdktomcat运行需要jdk支持,所以前提要安装且配置好jdk2、安装tomcat下载tomcat安装包(本文以9.0.31为例,版本不同配置有所不同请参照官方文档)将安装包上传到Linux服务器中/usr/local/文件夹下1.解压tomcat压缩包 cd /usr/local/ tar -zxvf apache-tomcat-9.0.31.tar.gz2.配置环境变量 vim /etc/profile # 在文件最后加上以下配置 # tomcat evn CATAL...…
-
Hadoop学习(二)-Hdfs
一,HDFS结构和基本概念HDFS是其中一种分布式文件管理系统,分布式文件系统是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。hadoop中hdfs系统会有一个NameNode节点和多个DataNode节点,NameNode节点存储元数据,DataNode节点则存储实际的数据块。client端要访问hdfs上的文件时先要去NameNode上面请求然后在去实际存储的DataNode节点上拿数据。假设配置文件中配置了多个副本,那么在上传文件的时候client端会先上传一个...…