自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

.

.

  • 博客(249)
  • 资源 (1)
  • 问答 (12)
  • 收藏
  • 关注

原创 PriorityQueue的实际应用场景

PriorityQueue 名叫优先级队列,底层由堆结构实现,默认是小根堆。通过 offer 方法添加进去的元素会进行堆排序,最小的元素放在堆顶。通过 peek 方法可以获得堆顶(最小)元素。通过 poll 方法可以删除堆顶元素同时获得堆顶元素,删除之后剩下的元素中最小的元素仍处于堆顶。一、应用场景某电商平台入驻了大量的商家,商家可以在平台销售商品,用户可以在平台的商家那里购买商品。用户付款后...

2020-02-05 20:06:15 2029

原创 YYYY-MM-dd跨年年份错误问题

一、问题描述项目中每天执行的一个定时任务在 2019 年 12 月 29 日 - 2019 年 12 月 31 日这三天没有执行。经排查,发现是在使用 SimpleDateFormat 格式化日期的时候,用了 “YYYY-MM-dd” 这个模式来格式化日期的,而没有用标准的 “yyyy-MM-dd”。查阅了一些资料发现 “YYYY” 这种大 Y 年份模式会在某一天所在的周(本周日 - 下周六...

2020-01-08 16:26:24 2454

原创 如何用 Hive 的内置函数 parse_url 统计出访问量最高的前 3 个url?

一、需求使用 Hive 统计出过去 7 天的访问日志中访问次数最多的前 3 个 url 的请求路径。二、知识点使用 Hive 的内置函数 parse_url 解析出 url 字段中的请求路径,官网(Hive内置函数)示例如下:基本用法如下:-- 例:获取 url 中的主机名select parse_url('http://facebook.com/path1/p.php?k1=v1&...

2019-12-22 11:54:25 684

原创 SparkSQL读取和写出数据的几种方式

一、parquet格式的数据parquet是一种列式存储格式的文件类型。存储时可以通过牛X的压缩算法节省存储空间,读取数据时只需要读取所需的列,提高读取性能。二、JSON格式的数据三、通过JDBC读取数据库中的数据四、Hive中的数据所需的pom依赖如下:<dependencies> <!-- spark核心包 --> <dependency&gt...

2019-11-29 15:40:21 2807

原创 如何开发SparkSQL项目?

前言Spark是企业中用的比较多的大数据计算框架,它主要由 SparkCore、SparkSQL、SparkStreaming 这三个模块组成,实时计算主要使用 SparkStreaming,离线部分的数据处理则主要使用SparkSQL。开发 SparkSQL 程序的一般流程是:读取 HDFS 上的文件 => 装换成 RDD => 注册成临时表 => 调用 SparkSQL 的...

2019-10-24 16:36:51 831

原创 Java获取集合中重复的元素

需求我们在下订单的时候,收件人的地址信息可能会有多个,现在的需求是把一些重复的地址信息删除掉。姓名,电话,省,市,区,详细地址完全相同则认为是同一个收件人。分析地址是存在数据库的表里的,所以我们需要先查出每个收件人下重复的地址,再做数据库的删除操作。可以通过使用 HashSet 的 add 方法将地址列表中的地址一个一个的添加到 HashSet 中,add 方法有个返回值,类型为 Bool...

2019-10-15 13:31:44 2984

原创 Google思想一(GFS - Google File System)

思考1:Google 搜索引擎每天要从世界各地抓取数以亿计的网页,数据都存储在哪里呢?GFS:使用大量廉价的去掉硬盘的 PC 机构成集群,将数据都存储在服务器的内存中,采用分布式的文件系统进行存储。思考2:内存中的数据掉电会丢失,怎么保证可靠呢?在世界各地进行部署,部分地区还配有发电厂。当然,不是所有的公司都像 Google 一样技术牛X,有钱,数据都存内存里面。我们的数据主要还是...

2019-09-26 16:10:51 951 2

原创 大数据学习路线

一、为什么要学习大数据?我们对数据的存储以及处理大致可以划分为以下几个阶段:单纯靠人脑记忆:远古时期的智人,买东西的时候不会记录下来自己这次花了多少钱,买了多少东西,只是单纯的记录在自己的大脑里,很快就会忘记,记都记不住更不用说去分析处理一下数据了。记录在纸上:有了造纸术之后,我们就把数据记录到了纸上,数据就不那么容易丢失,而且我们还可以对数据做一些简单的处理,比如说记个账,算算自己...

2019-09-20 16:52:56 846 1

原创 mapreduce自定义inputformat

背景无论是 hdfs 存储文件还是 mapreduce 处理文件,对于小文件的存储和处理都会影响效率,在实际工作中又难免面临处理大量小文件的场景(比方说用 flume 实时采集日志,日志是由用户发送请求而产生的,用户发送请求的频率不是固定的,有的时候频繁请求,有的时候请求数就比较少,flume 采集数据的配置是每隔固定的一段时间产生一个文件,所以就导致在有些时间段会难免产生大量的小文件)。在 ...

2019-09-18 15:57:43 509

原创 MapReduce自定义GroupingComparator

需求:有如下订单明细数据0000001 01 222.80000002 06 722.40000001 05 25.80000003 01 222.80000003 01 33.80000002 03 522.80000002 04 122.4第一列是订单编号,第二列是商品id,第三列是商品金额,列与列之间用制表符分隔。现在需要求出每一个订单中最贵的商品。思路:将订单...

2019-09-17 14:54:38 363

原创 thymeleaf实现th:each双重多重嵌套使用

博主最近在做一个个人的博客网站,准备用 thymeleaf 实现一个动态加载一二级文章分类的功能,效果如下:后台实体类代码如下:/** * @author 曲健磊 * @date 2019-08-22 20:28:18 * @description 一级分类实体类 */public class CateVO { /** * 一级分类id */ ...

2019-08-23 11:28:11 12883

原创 FileInputFormat.setInputPaths的执行原理

今天在看 MapReduce 源码的时候看了一下 FileInputFormat 的 setInputPaths 方法,内容如下: /** * Set the array of {@link Path}s as the list of inputs * for the map-reduce job. * * @param job The job to modify ...

2019-07-11 10:38:29 2922

原创 Flume简介

(一)什么是Flume?Flume 是一个用 Java 编写的用于采集日志的框架。我们可以配置 Flume 监控一个文件的末尾,当文件内容发生变化的时候实时的将数据采集到 HDFS 上;也可监控一个目录,当这个目录新增了文件时,将这个文件采集到 HDFS 上。(二)Flume架构Flume 主要由三部分组成:Source,Channel,Sink。Source:数据源,用来采集数据。...

2019-06-30 12:14:25 577

原创 MapReduce性能优化秘籍

1. MapReduce跑的慢的原因MapReduce 程序效率的瓶颈在于两点:计算机性能CPU、内存、磁盘、网络I/O 操作数据倾斜map 和 reduce 数设置不合理map 运行时间太长,导致 reduce 等待过久小文件过多大量的不可分块的超大文件(例:通过 gzip 压缩后的文件)spill(溢写)次数过多merge(map 端合并或 reduce 端合并)次数...

2019-05-26 15:30:37 740

原创 Hive性能优化秘籍

1. Fetch抓取Fetch 抓取是指,Hive 中对某些情况的查询可以不必使用 MapReduce 计算。例如:SELECT * FROM employees; 在这种情况下,Hive 可以简单地读取 employee 对应的存储目录下的文件,然后输出查询结果到控制台。修改 hive-default.xml.template 文件中 hive.fetch.task.conversion...

2019-05-16 11:54:39 417

原创 常见图表的应用场景及其优缺点

柱图,又称柱状图。是一种以长方形的长度来表达数据的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况。

2019-05-04 11:13:56 18189

原创 什么是响应时间,并发数,吞吐量?

**指应用执行一个操作所需的时间,包括从发出请求开始到最后收到响应所需要的时间**。拿我们平常浏览网站点击链接为例,响应时间大致包括如下几步:1. 用户通过鼠标或键盘发出请求操作2. 浏览器构造请求(请求头,请求体)3. 用户计算机向网站服务器发送HTTP请求

2019-04-26 20:29:09 37721 1

原创 如何分析网站日志?

一条访问日志如下:112.10.94.234 - - [22/Aug/2017:14:01:26 +0800] “POST /item/detail.mooc?a=1&amp;b=2&amp;c=5 HTTP/1.1” 200 2582 “http://www.chinamoccs.com/study/initplay/540.mooc” “Mozilla/5.0 (Macintosh; In...

2019-03-17 15:25:36 7593

原创 Storm 集成 Redis

Storm 实时计算完的结果一般会放到 Redis 中缓存。集成 Redis 所需的 pom 文件:&amp;lt;dependencies&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.storm&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;stor

2019-02-18 22:16:09 617

原创 Storm集成 JDBC

创建 maven 工程,pom 文件如下:&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.storm&lt;/groupId&gt; &lt;artifactId&gt;storm-core&lt;/artifactId&gt; &lt;version&gt;1.0.3&lt;/vers

2019-02-18 16:18:13 428

原创 如何编写 Storm 程序?

创建 maven 工程,pom 文件如下:&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.storm&lt;/groupId&gt; &lt;artifactId&gt;storm-core&lt;/artifactId&gt; &lt;version&gt;1.0.3&amp

2019-02-18 15:37:12 629

原创 如何创建 Hive 的 UDF?

UDF(User Defined Function)又称:用户自定义函数。可以像 concat, substr那样的 hive 内置的函数一样直接用于 select 语句,简化复杂查询。编写 UDF 其实就是写一个类继承 org.apache.hadoop.hive.ql.exec.UDF 该类,在类里面写一个名为 evaluate 的方法,在方法里写相应的业务逻辑,最后打成 jar 包,提交到...

2019-02-17 13:45:56 924

原创 使用JDBC操作Hive

首先启动 Hive 的远程服务:hiveserver2 &amp;所需 jar 包的 pom 文件如下:&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.hive&lt;/groupId&gt; &lt;artifactId&gt;hive-jdbc&lt;/artifactId&gt; &

2019-02-16 22:16:39 1005

原创 如何创建 Hive 表的几种类型?

基于 MySql 的远程模式安装的 Hive 中的表存储在 hdfs 的 /user/hive/warehouse 目录下。hive 的表主要有 5 中类型:内部表分区表外部表桶表视图一、内部表表对应一个目录,表中的数据对应一个文件文件存储在 hdfs 的 Datanode 的数据块中,数据块默认的大小是 128m(Hadoop2.x的版本,1.x版本是 64m)...

2019-02-15 16:59:38 1708

原创 如何创建 SparkContext,SQLContext,StreamingContext 的几种方式?

首先,使用 ScalaIDE 或 IDEA 创建 Scala 的 Maven 工程。需要用到 spark-core,spark-sql,spark-streaming 的 jar 包,pom 文件如下:&amp;lt;properties&amp;gt; &amp;lt;spark.version&amp;gt;2.1.0&amp;lt;/spark.version&amp;gt; &amp;lt;scala.version&amp

2019-02-14 20:20:56 3425

原创 Kafka 生产者API,消费者API,拦截器,流计算

pom 文件如下:&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.kafka&lt;/groupId&gt; &lt;artifactId&gt;kafka-clients&lt;/artifactId&gt; &lt;version&gt;2.0.0&lt;/versio

2019-02-14 16:13:18 685 1

原创 Kafka 简介、集群架构、安装部署、基本命令

一、kafka 是什么?在实时计算中,Kafka 主要是用来缓存数据,storm 可以通过消费 kafka 中的数据进行实时计算。一套开源的分布式的消息队列系统,由 scala 写成,支持 javaAPI。Kafka 读消息采用 topic 进行归类。二、kafka 中有哪两种角色?发送消息:Producer(生产者)接收消息:Consumer(消费者)三、为什么要使用消息队...

2019-02-13 16:40:28 296

原创 Spark编程案例:针对每个分区进行数据库操作

需求:将有多个分区的 RDD 中的数据保存到数据库ps:针对分区进行数据库操作的话,建议使用 foreachPartition 算子,每个分区创建一个 Connection,避免一个 Connection 被多个分区使用而造成的序列化的麻烦。def saveToMySql(it:Iterator[(String, String)]) = { var conn:Connection = ...

2019-02-11 15:52:12 469

原创 Spark编程案例:创建自定义分区

需求:根据 jsp 文件的名字,将各自的访问日志放入到不同的分区文件中,如下:生成的分区文件例如:part-00000 文件中的内容:只包含了 java.jsp 的访问日志日志内容:192.168.88.1 - - [30/Jul/2017:12:53:43 +0800] "GET /MyDemoWeb/ HTTP/1.1" 200 259192.168.88.1 - - [30...

2019-02-11 14:49:10 557

原创 Spark编程案例:分析tomcat访问日志求访问量最高的前两个网页

需求如题,tomcat 访问日志如下:192.168.88.1 - - [30/Jul/2017:12:53:43 +0800] "GET /MyDemoWeb/ HTTP/1.1" 200 259192.168.88.1 - - [30/Jul/2017:12:53:43 +0800] "GET /MyDemoWeb/head.jsp HTTP/1.1" 200 713192.168.88...

2019-01-19 15:17:29 1628 1

原创 利用 Redis 队列操作的原子性实现秒杀

添加一个队列模拟商品列表lpush productlist 1 2 3 4 5 6 7 8 9 10利用多线程模拟 30 个人抢购这 10 件商品:package demo;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import redis.clien...

2019-01-05 15:21:28 9920

原创 利用 zookeeper 的分布式锁实现秒杀

常见的业务场景:x年x月x日x点x分x秒,限时抢购10件商品。前提:分布式的环境,多用户高并发访问。

2019-01-04 20:12:18 927

原创 zookeeper 的安装和配置

一、下载 zookeeper以 zookeeper-3.4.10 为例:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/二、上传到 Linux 服务器我使用的是 WinSCP 进行上传,下载地址:https://dl.pconline.com.cn/html_2/1/86/id=7244&amp;pn=0&amp;lin...

2019-01-03 20:22:21 258

原创 大数据实时计算框架简介

一、实时计算,流式计算?实时计算 == 流式计算自来水厂就是一个典型的实时计算系统:自来水厂可以简单的理解为由一个水泵(采集水源),多个蓄水池(处理水源:沉淀,过滤,消毒等步骤),管理员构成。水泵负责不停的抽水(采集数据 Extract)(除非人为停止水泵,否则水泵会一直工作),各个蓄水池负责对水泵抽来的水进行层层处理(加工转换 Transform),最后一个蓄水池负责将干净的水放到指定...

2019-01-03 19:16:19 5064

转载 阿里云部署hadoop,使用shell操作一切正常,但是使用java api操作上传文件大小为0

感谢原文作者 vaf714 做出的解答!原文链接:https://blog.csdn.net/vaf714/article/details/82996860前提A 云主机是 Linux 环境,搭建 Hadoop 伪分布式,公网 IP:49.4.71.xxx,内网 IP:192.168.0.80,主机名:ruixin4。Hadoop 配置信息如下:&amp;lt;property&amp;gt;...

2018-12-29 10:35:43 1090 1

原创 解决:运行sbin下的start-hdfs.sh时报WARN util.NativeCodeLoader: Unable to load native-hadoop

一开始按照网上的教程,修改 hadoop-env.sh 内容如下:export JAVA_HOME=/root/training/jdk1.8.0_144export HADOOP_HOME=/root/training/hadoop-2.7.3export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport HADOOP_...

2018-12-25 13:37:00 1259

原创 解决XWPFRun的addPicture方法无法显示图片的问题

最近在解决一个导出订单发票的需求,导出的 word 上必须有条形码图片。查阅资料得知可以使用 XWPFRun 的 addPicture 方法来添加,代码如下:// 插入条形码图片XWPFParagraph paragraph = cell.addParagraph();XWPFRun run = paragraph.createRun();try { FileInputStream fi...

2018-12-13 11:38:00 11042

原创 Caused by: java.lang.RuntimeException: No toolkit found

这是运行基于 HBase 的 MapReduce 程序时遇到的一个bug,完整的错误提示信息如下:Graphics Device initialization failed for : es2, swError initializing QuantumRenderer: no suitable pipeline foundjava.lang.RuntimeException: java.l...

2018-12-10 22:35:17 3486

原创 HBASE(三)—— HBase 的过滤器

HBase 的过滤器主要用来实现复杂查询的,类似 where 条件,常用的有以下几种:列值过滤器:SingleColumnValueFilter列名前缀过滤器:ColumnPrefixFilter多个列名前缀过滤器:MultipleColumnPrefixFilter行键过滤器:RowFilter过滤器的组合使用一、列值过滤器/** * 单一列值过滤器 * * 查询薪水等于...

2018-12-06 16:54:08 458

原创 HBASE(二)—— HBase 的 JavaAPI

在 Windows 平台运行的话,需要修改 C:\Windows\System32\drivers\etc 目录下的 hosts 文件,将 zookeeper 的地址配置到 hosts 文件里面:192.168.220.111 bigdata111。一、创建表二、插入数据三、查询数据四、删除表...

2018-12-05 18:07:00 373

fastjson + gson + jsonlib + jacksonjar包

fastjson + gson + jsonlib + jacksonjar包 各种json解析包

2018-08-31

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除