- 博客(64)
- 收藏
- 关注
转载 线程的同步
由于同一个进程的多个线程共享存储空间,在带来方便的同时也产生了一些访问冲突的问题。如果两个线程同时访问一个共享变量(如例子中的余额balance),会造成最终结果不符合实际需求的情况。Java中引入了“对象互斥锁”的概念(又称为监视器)来实现不同线程对共享数据操作的同步。“对象互斥锁”不允许多个线程对象同时访问同一个条件变量,即同一时刻最多只有一个线程对象访问共享数据。我们通过p...
2019-05-08 11:35:00
238
转载 线程的优先级与控制
一、Java的优先级 Java提供了一个线程调度器来监控程序启动后进去就绪状态的所有线程。线程调度器通过线程的优先级来决定调度哪些线程执行。一般来说,Java的线程调度器采用时间片轮转算法使多个线程轮转获得CPU的时间片。然而根据实际情况,每个线程的重要程序也不相同,有时候我们想让一些线程优先执行,那么我们可以将他的优先级调高一下,这样它们获得的时间片会多一些。 多个线程处于...
2019-05-07 18:37:00
546
转载 ElasticSearch本人启动报错总结
1.报错关键代码如下:Exception in thread "main" 2019-04-28 03:53:04,339 main ERROR No log4j2 configuration file found.SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: Pa...
2019-04-27 20:40:00
538
转载 线程的生命周期和控制
一、线程的生命周期 进程与线程一样,都具有一定的生命周期,线程的生命周期包括四个状态:创建状态、就绪状态、阻塞状态、死亡状态。 1.创建状态 1)是指使用new实例化一个线程对象,但该线程对象还未使用start()方法启动线程这个阶段,该阶段只在内存的堆中为该对象的实例变量分配了内存空间,但线程还无法参与抢夺CPU的使用权; 2)创建完毕线程对象后,启动该...
2019-04-12 22:35:00
248
转载 多线程之——创建线程
一、Thread类 java.lang包提供了Thread类来实现多线程,在Java中,线程有三部分组成: 1)虚拟CPU,封装在Thread类中,它控制着整个线程的运行; 2)执行代码,传递给Thread,由Thread类控制顺序执行; 3)处理数据,传递给Thread,是代码在执行过程中需要处理的数据。 Thread的主要构造方法和方法T...
2019-04-11 10:55:00
125
转载 多线程概述(助于理解多线程)
一、多线程概述 1.简介 我们通常将每个任务(Task)称为一个进程(Process),而一个进程可以包含多个顺序执行流,每个执行流就是一个线程(Thread)。 2.线程的概述 目前计算机操作系统都支持多线程,而应用程序在运行过程中存在着并发执行的多个指令流,每个指令流称为一个线程; 线程并不是程序,它本身并不能运行,必须依托程序运行,多线程意味着一个程序...
2019-04-11 09:51:00
214
转载 Hive的DDL操作
DDL:data definittion language 数据定义语言 主要是定义或改变表的结构、数据类型、表之间的链接和约束等初始化操作DML:data manipulation language 数据操作语言 主要是对数据库的数据进行增删改查操作,如select、insert、delete、update等一、对数据库的操作 1.创建数据库并指定在hdf...
2019-04-10 14:43:00
203
转载 Hive基础测试操作
一、Hive测试 1.查看数据库 show databases; 2.使用某个数据库,如默认数据库 user default; 3.创建表 create table if not exist itstar(id int,name string); 4.插入数据 insert into table itstar values(1,"wyh")...
2019-04-10 12:18:00
298
转载 Hive的安装配置
一、Hive安装配置 1.登陆hive官网下载安装包,本人使用的是1.2.2版本 官网:http://hive.apache.org/ 2.将安装包上传到Linux集群解压并重命名为hive-1.2.2 3.进入hive下的conf目录,重命名hive-env.sh.template为hive-env.sh,然后vi进入文件,修改HADOOP_HOME为你的had...
2019-04-09 12:49:00
157
转载 hive的概述和数据类型
一、Hive概述 1.Hive简介 Hive数据仓库软件有助于使用SQL读取、编写和管理驻留在分布式存储中的大型数据集。提供了命令行工具和JDBC驱动程序以将用户连接到Hive。 Hive可以将SQL语句自动转化为Mapreduce程序,节省了手写框架的困难。 2.Hive优缺点 优点:1)操作接口采用了SQL,避免了首先MR程序,简化开发,降低学习成...
2019-04-09 10:16:00
185
转载 Hadoop优化
一、影响MR程序效率的因素 1.计算机性能: CPU、内存、磁盘、网络, 计算机的性能会影响MR程序的速度与效率 2.I/O方面 1)数据倾斜(代码优化) 2)map和reduce数量设置不合理(通过配置文件后代码中设置) 3)map运行时间过长,导致reduce等待时间过长 4)小文件过多(浪费元数据资源,CombineTextI...
2019-04-08 10:49:00
148
转载 Hadoop的数据压缩
一、Hadoop的数据压缩 1.概述 在进行MR程序的过程中,在Mapper和Reducer端会发生大量的数据传输和磁盘IO,如果在这个过程中对数据进行压缩处理,可以有效的减少底层存储(HDFS)读写的字节数,,并且通过减少Map和Reduce阶段数据的输入输出来提升MR程序的速度,提高了网络带宽和磁盘空间的效率; 数据压缩可以有效的节省资源,它是MR程序的优化...
2019-04-08 10:19:00
145
转载 Mapjoin和Reducejoin案例
一、Mapjoin案例 1.需求:有两个文件,分别是订单表、商品表, 订单表有三个属性分别为订单时间、商品id、订单id(表示内容量大的表), 商品表有两个属性分别为商品id、商品名称(表示内容量小的表,用于加载到内存), 要求结果文件为在订单表中的每一行最后添加商品id对应的商品名称。 2.解决思路: 将商品表加载到内存中,然后再map方法中将订单表...
2019-04-08 01:21:00
238
转载 自定义InputFormat和OutputFormat案例
一、自定义InputFormat InputFormat是输入流,在前面的例子中使用的是文件输入输出流FileInputFormat和FileOutputFormat,而FileInputFormat和FileOutputFormat它们默认使用的是继承它们的子类TextInputFormat和TextOutputFormat,以Text的方式去读取数据。 当我们遇到许多小文...
2019-04-01 20:54:00
267
转载 shullfe机制详解
一、shuffle机制概述 shuffle机制就是发生在MR程序中,Mapper之后,Reducer之前的一系列分区排序的操作。shuffle的作用是为了保证Reducer收到的数据都是按键排序的。二、shuffle机制的流程 还是按照上个随笔MR整体流程的需求来做参考: 1.Mapper中context的write方法将数据写入环形缓冲区,当容量到达80%发生溢写...
2019-03-29 00:35:00
623
转载 辅助排序和Mapreduce整体流程
一、辅助排序 需求:先有一个订单数据文件,包含了订单id、商品id、商品价格,要求将订单id正序,商品价格倒序,且生成结果文件个数为订单id的数量,每个结果文件中只要一条该订单最贵商品的数据。 思路:1.封装订单类OrderBean,实现WritableComparable接口; 2.自定义Mapper类,确定输入输出数据类型,写业务逻辑; 3.自定义...
2019-03-28 21:47:00
177
转载 Mapreduce的排序(全局排序、分区加排序、Combiner优化)
一、MR排序的分类 1.部分排序:MR会根据自己输出记录的KV对数据进行排序,保证输出到每一个文件内存都是经过排序的; 2.全局排序; 3.辅助排序:再第一次排序后经过分区再排序一次; 4.二次排序:经过一次排序后又根据业务逻辑再次进行排序。二、MR排序的接口——WritableComparable 该接口继承了Hadoop的Writable接口和...
2019-03-24 23:11:00
313
转载 Mapreduce中maptask过程详解
一、Maptask并行度与决定机制 1.一个job任务的map阶段的并行度默认是由该任务的大小决定的; 2.一个split切分分配一个maprask来并行处理; 3.默认情况下,split切分的大小等于blocksize大小; 4.切片不是mapper类中对单词的切片,而是对每一个处理文件的单独切片。 eg. 默认情况下,一个maptask处理的文件大小为...
2019-03-24 22:43:00
938
转载 Mapreduce的序列化和流量统计程序开发
一、Hadoop数据序列化的数据类型 Java数据类型 => Hadoop数据类型 int IntWritable float FloatWritable long LongWritable double DoubleWritable String Text boole...
2019-03-24 21:48:00
151
转载 Yarn集群的搭建、Yarn的架构和WordCount程序在集群提交方式
一、Yarn集群概述及搭建 1.Mapreduce程序运行在多台机器的集群上,而且在运行是要使用很多maptask和reducertask,这个过程中需要一个自动化任务调度平台来调度任务,分配资源,这个平台就是Yarn! 2.Yarn提交任务的流程: 当我们向Yarn集群提交任务后,Yarn通过Resourcemanager给任务分配资源,然后由NodeManage...
2019-03-24 01:47:00
238
转载 Mapreduce概述和WordCount程序
一、Mapreduce概述 Mapreduce是分布式程序编程框架,也是分布式计算框架,它简化了开发! Mapreduce将用户编写的业务逻辑代码和自带默认组合整合成一个完整的分布式运算程序,并发的运行在hadoop集群上。二、Mapreduce优缺点 优点:1.易于编程:只用实现几个接口即可完成一个并发的程序。 2.良好的拓展性:再不行当前程序运...
2019-03-24 01:08:00
172
转载 HDFS及其各组件的机制
一、HDFS运行机制 概述:用户的文件会被切块后存储在多台datanode节点中,并且每个文件在整个集群中存放多个副本,副本的数量可以通过修改配置自己设定。 HDFS:Hadoop Distributed file system,分布式文件系统。 HDFS的机制: HDFS集群中,有两种节点,分别为Namenode,Datanode; Namenode它...
2019-03-23 14:48:00
412
转载 HDFS常用API(2)
一、读取HDFS文件数据、将本地文件写入HDFS中文件、使用IOUtils读写数据** * @author: PrincessHug * @date: 2019/3/18, 17:24 * @Blog: https://www.cnblogs.com/HelloBigTable/ */public class HdfsClientDemo03 { F...
2019-03-22 22:34:00
156
转载 HDFS常用API(1)
一、HDFS集群API所需要jar包的maven配置信息 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> ...
2019-03-22 22:28:00
153
转载 HDFS分布式文件系统的常用命令行操作
一、HDFS的客户端种类 1.网页形式 =>用于测试 网址为你的namenode节点的ip+50070的端口号,如: 192.168.50.128:50070 2.命令行形式 =>用于测试 3.企业级API二、HDFS客户端的命令行操作 注释:/hdfs为HDFS上的目录 /root/linux为本地集群路径 1...
2019-03-22 16:11:00
508
转载 大数据及Hadoop的概述
一、大数据存储和计算的各种框架即工具 1.存储:HDFS:分布式文件系统 Hbase:分布式数据库系统 Kafka:分布式消息缓存系统 2.计算:Mapreduce:离线计算框架 storm:实时流式计算 spark:离线批处理/实时流处理计算框架(MR的二次封装) 3.辅助类工具:hive:数据仓...
2019-03-22 15:08:00
167
转载 谷歌浏览器加载速度慢的解决办法!!!
前言折磨了我近一个月的Chrome打开网页慢的问题终于在今天告一段落,完结撒花~然后觉得很有必要发一篇文章来指引误入歧途的后来人~互联网上大部分教程无非都是教你在浏览器设置里取消勾选一些选项,在局域网设置里取消勾选云云,但还有一种情况一直被忽略,那就是——防火墙设置!这不是我说的,是Chrome自己说的……废话少说,上解决方案!1.右键Chrome,打开文...
2019-03-21 18:17:00
4467
转载 Idea中lombok不生效原因
我们可以通过在maven中插入配置信息<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> ...
2019-03-16 17:45:00
637
转载 idea工具maven生命周期clean,install,package等区别
idea工具maven projects里面有9种生命周期,生命周期是包含在一个项目构建中的一系列有序的阶段。一、最常用的两种打包方法: 1.clean,package(如果报错,很可能就是jar依赖的问题) 2.clean,install二、9种生命周期: 1.clean,清理,在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目路径下...
2019-03-13 23:01:00
1195
转载 HDFS格式化namenode后启动集群datanode不启动
这是因为格式化namenode之后,namenode节点中VERSION的ClusterID会改变!!!解决办法: 1.打开namenode节点的hdfs-site.xml文件,查看你的namenode的元数据存储位置和datanode数据存储位置; 2.然后到对应的的目录下找到VERSION文件; 3.打开namenode的VERSION文件,复制其中的Cl...
2019-03-12 11:52:00
345
转载 HBase表的基本结构和常用命令行操作
一、HBase表的基本结构 1.概述: 平时常见的MySQL、Oracle数据库都是传统型关系数据库,它们都是按行查询、按行存储;而HBase为非关系型数据库,它是按列存储的的。 在HBase插入数据时,先输入数据的格式为rowkey => info => column => value rowkey:行键,唯一且不重复 inf...
2019-03-10 07:24:00
488
转载 HBase读写数据的详细流程及ROOT表/META表介绍
一、HBase读数据流程 1.Client访问Zookeeper,从ZK获取-ROOT-表的位置信息,通过访问-ROOT-表获取.META.表的位置,然后确定数据所在的HRegion位置; 2.Client访问HRegion所在的HRegionServer,通过HRegionServer获取需要查找的数据; 3.Client到HRegion的中去查找数据,首先到MemS...
2019-03-07 07:45:00
446
转载 HBase的概述和安装部署
一、HBase概述 1.HBase是Hadoop数据库,是一个分布式、可扩展的大数据存储。 HBase是用于对大数据进行随机、实时读写访问的非关系型数据库,它的目标托管非常大的表——数十亿行N百万列。 正如Bigtable利用Google文件系统提供的分布式数据存储一样,HBase在Hadoop的HDFS之上提供类似Bigtable的功能。 2.HBase架构...
2019-03-07 04:21:00
145
转载 Linux常用命令行补充——持续更新
1.查看文件夹大小 =>ls -lht 路径 ls -lht /opt/jars2.查看文件大小 =>du -sh / du -sh /opt/jars/calllog.csv3.编辑文件时显示行数 => shift+: 输入 set nu转载于:https://www.cnblogs.com/HelloBigTable/p/1...
2019-03-02 02:07:00
152
转载 电信项目java补充类
一、DecimalFormat 1.概述 public class DecimalFormat extends NumberFormat DecimalFormat是格式为十进制数的NumberFormat的具体子类。 它具有各种功能,旨在使任何地区的数字解析和格式化。 2.构造方法 DecimalFormat() =>使用缺省模式和符号创建默认...
2019-03-01 00:48:00
253
转载 Kafka的接口回调 +自定义分区、拦截器
一、接口回调+自定义分区 1.接口回调:在使用消费者的send方法时添加Callback回调producer.send(new ProducerRecord<String, String>("xinnian", "20" + i + "年新年好!"), new Callback() { public void onCompletion(RecordMet...
2019-02-28 23:18:00
499
转载 Kafka命令行操作及常用API
一、Kafka命令行操作 1.查看当前集群已存在的主题 bin/kafka-topic.sh --zookeeper hd09-01:2181 --list 2.创建主题 bin/kafka-topic.sh --zookeeper hd09-01:2181 --create --relication-factor 3 \ >--partition 1...
2019-02-28 22:08:00
174
转载 Kafka概述及安装部署
一、Kafka概述 1.Kafka是一个分布式流媒体平台,它有三个关键功能: (1)发布和订阅记录流,类似于消息队列或企业消息传递系统; (2)以容错的持久方式存储记录流; (3)记录发送时处理流。 2.Kafka通常应用的两大类应用 (1)构建在系统或应用程序之间的可靠获取数据的实时流数据管道; (2)构建转换或响应数据流的实施...
2019-02-28 21:52:00
118
转载 Kafka生产者案例报警告SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
一、SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".这个报警告的原因简单来说时因为slf4j的版本和log4j的版本不匹配。解决办法: 1.在你的maven库中查找你的slf4j版本,若有两个,最后选版本低的,因为本人选择高版本还是报错; 2.登陆该maven库网站: htt...
2019-02-27 19:37:00
1285
转载 Zookeeper三个监听案例
一、监听某一节点内容/** * @author: PrincessHug * @date: 2019/2/25, 14:28 * @Blog: https://www.cnblogs.com/HelloBigTable/ * 监听一个节点内容的变化 */public class WatchZoneDemo { ZooKeeper zkCli = ...
2019-02-25 22:04:00
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人