自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sunyang098的博客

这个人很聪明,什么都没有写

  • 博客(75)
  • 资源 (2)
  • 收藏
  • 关注

原创 大数据集群遇到的问题(Hadoop、Spark、Hive、kafka、Hbase、Phoenix)

大数据平台中遇到的实际问题,整理了一下,使用CDH5.8版本,包括Hadoop、Spark、Hive、kafka、Hbase、Phoenix、Impala、Sqoop、CDH等问题,初步整理下最近遇到的问题,不定期更新。启动nodemanager失败2016-09-07 14:28:46,434 FATAL org.apache.hadoop.yarn.server.nodemanager

2016-11-15 11:50:57 11375

原创 Ansj中文分词使用教程

摘要:ansj是一个基于n-Gram+CRF+HMM的中文分词的java实现.ansj分词速度达到每秒钟大约200万字左右(mac air下测试),准确率能达到96%以上Ansj目前实现了.中文分词.词性识别. 中文姓名识别 . 用户自定义词典,关键字提取,自动摘要,关键字标记等功能可以应用到自然语言处理等方面,适用于对分词效果要求高的各种项目.下载jar:访问 http://maven.nlpcn.

2016-08-26 19:48:22 24833 11

原创 Hive无法建表 遭遇 hdfs namenode state : standby 问题

修改里面的metastore_hive.dbs的DB_LOCATION_URI把ip:端口 修改为 nameservice。原因: hive的metastore 中涉及到数据库的部分,这里有个地址location是写的ip地址。现象:刚开始并没有启用hdfs HA 功能,运行一段时间, 启用HA 功能后。

2023-04-02 17:47:43 423

原创 spark submit示例

#!/bin/shhdfs dfs -rmr /tmp/checkpoint/gx_db_mysqlCONF_DIR=/home/hadoop/gx_bigdata/gx_db/conf/mysqlAPP_CONF=application.conf/usr/local/service/spark/bin/spark-submit \ --class com.gac.gx.GxDBMysqlApplication \ --name 'com.gac.gx.GxDBMysqlApplication'

2022-07-06 18:03:00 730

转载 clickhouse 实现 lag/lead

clickhouse中的lead和lag实现有多种方法,在标准的SQL中使用的windows function即可实现。示例数据:CREATE TABLE llexample ( g Int32, a Date )ENGINE = Memory;INSERT INTO llexample SELECT number % 3, toDate('2020-01-01') + numberFROM numbers(10);SELECT * FROM llexa...

2022-05-09 18:27:28 1398

原创 hive sql常用开窗函数

开窗函数:定义一个行为列,在查询结果上直接新增一列窗口函数值,开窗函数的特征是带有over()。开窗函数从使用目的上可以分为两类:排序开窗函数和聚合开窗函数。常用排序开窗函数:row_number() over(partition by ……order by ……),当不加partition by ……order by ……时直接按记录顺序生成从1开始的自然数序列;rank() over(partition by ……order by ……),排序对于出现相同值会生成相同序号,下一个序号会根据相同值

2022-05-09 18:24:54 1053

原创 Map读写性能

def main(args: Array[String]): Unit = { val t3 = System.currentTimeMillis() val key = "a" for (j <- 0 to 100000) { var expData : scala.collection.mutable.Map[String, ArrayBuffer[Double]] = scala.collection.mutable.Map("a" -> ArrayB.

2021-12-24 14:49:57 1017

原创 HBase RIT问题处理

在修改Hbase某个表数据的存储时间时,update进度会卡住在hbase ui上发现该表有47个region长时间处于RIT状态,正好跟卡住的region数量一致通过执行hbase hbck检测状态发现如下问题ERROR: There is a hole in the region chain between 98920_9223370437043986807 and 9895345_9223370407827298807. You need to create a...

2021-10-20 11:59:32 1215

原创 Structured Streaming使用ES RestHighLevelClient不当造成内存溢出问题

Structured Streaming任务使用foreach自定义sink写es,任务运行二三十分钟就挂掉。报错日志也没有报我的代码哪行抛的异常。在测试环境,任务数据量很小,一分钟也没有几条数据,本来以为不会是内存的问题,看spark ui的executor模块,显示每个executor的内存使用也是很小。后来详细看任务日志,发下些问题21/08/24 17:33:56 org.apache.spark.internal.Logging.logError(Logging.scala:94)

2021-08-25 16:57:28 1104

原创 structured streaming java.lang.NullPointerException

问题描述:structured streaming任务报空指针,但报的不是自己的代码,是spark框架的代码,报错日志如下Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 2.0 failed 4 times, most recent failure: Lost task 0.3 in stage 2.0 (TID 39, 10.2.6.21, executor .

2021-08-09 16:15:07 461

原创 Spark 程序依赖与spark 库jar包冲突解决方案

问题描述:使用spark的StructuredStreaming写数据到es,加载的spark集群jars下的jar包版本(httpclient-4.5.4.jar)跟依赖的jar包版本不一致(httpclient-4.5.10.jar),导致任务失败。我在idea上本地调试,使用httpclient-4.5.10.jar的话,是能正常访问es的。在yarn上的错误日志:Caused by: java.lang.BootstrapMethodError: call site initiali.

2021-07-20 15:38:43 2725 1

原创 Structured Streaming任务GC问题

现象:Structured Streaming任务修改了些代码运行后,task运行较慢,运行一会后task会报错,taskstdout日志如下## java.lang.OutOfMemoryError: Java heap space# -XX:OnOutOfMemoryError="kill %p"# Executing /bin/sh -c "kill 922787"...21/01/12 09:45:07 org.apache.spark.internal.Logging$clas.

2021-01-13 10:48:58 1078

原创 Structured Streaming checkpoint目录不生效,每次启动创建新的checkpoint目录

现象:同事的StructuredStreaming实时任务中配置了checkpoint,但是每次重启实时任务的时候,实时任务就只处理最新的数据,不会接之前消费offset,然后checkpoint目录下每次启动都会产生新的目录 checkpoint配置如下: 配置了spark.sql.streaming.checkpointLocation参数解决办法:通过查看spark源代码,发现使用spark.sql.streaming.checkpointLocation的话,也需...

2021-01-09 17:42:47 527

转载 java中if和switch哪个效率快

本文转载自: https://www.cnblogs.com/hujinshui/p/6230158.html ,如侵删!首先要看一个问题,if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断;而 switch 只能对基本类型进行数值比较。两者的可比性就仅限在两个基本类型比较的范围内。说到基本类型的数值比较,那当然要有两个数。然后重点来了——if 语句每一句都是独立的,看下面的语句:if (a == 1) ...else if (a == 2) ...这样 a 要被读入

2020-12-15 19:58:47 831

原创 scala之ArrayBuffer添加元素append()与+=效率对比

ArrayBuffe添加10个元素,循环一亿次,append()耗时30秒,+=耗时2秒,append()耗时是+=的15倍

2020-11-16 17:32:01 4024 7

原创 kafka消费者配置参数调优

在项目中用到的几个参数,记录下来留待以后回忆1.fetch.max.bytes 单次获取数据的最大字节数 2.max.poll.records 单次poll调用返回的最大消息数 3.max.poll.interval.mspoll最大间隔,poll来的数据处理时间要小于该时间,否则会将cousumer提出consumergroup,导致任务失败4.request. timeout. ms这个配置控制一次请求响应的最长等待时间。如果在超时时间内未得到响应,kafka要么...

2020-11-06 15:54:48 810

原创 Structured Streaming配置Kafka参数

override def stream(): DataFrame = { val kafkaConf = new KafkaConfiguration val spark = GxSparkSession().session() val df: DataFrame = spark .readStream .format("kafka") .option("subscribe", kafk...

2020-11-06 14:56:30 982

原创 【腾讯云Ckafka】 带宽限制 Increase the fetch size on the client (using max.partition.fetch.bytes)

问题描述:structuredstreaming读腾讯云的ckafka,当消费流量超过消费峰值带宽时,structuredstreaming任务会挂掉,报错日志如下:Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 6 in stage 126.0 failed 4 times, most recent failure: Lost task 6.3 in stage 126.0 (T..

2020-11-06 11:01:28 1006 3

转载 Java NIO之Buffer

Java NIO中的Buffer用于和NIO通道进行交互。数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块固定大小的内存,其作用是一个存储器或运输器。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。1、缓冲区基础理论上,Buffer是经过包装后的数组,而Buffer提供了一组通用api对这个数组进行操作。1.1、属性:容量(Capacity)缓冲区能够容纳的数据元素的最大数量。这一容量在缓冲区创建时被设定,并且永远不能被改变。上界

2020-11-05 11:13:52 243

转载 for循环的底层原理

# 自定义可迭代对象:在类里面提供了__iter__方法创建的对象就是可迭代对象# 自定义迭代器对象:在类里面提供__iter__和__next__的方法创建的对象就是迭代器对象# 迭代器的作用: 记录当前数据的位置以后获取下一个位置的值# iter函数:获取可迭代对象的迭代器, 会调用可迭代对象身上的__iter__方法# next函数:获取迭代器中下一个值,会调用迭代器对象身上的__next__方法# for 循环的本质: 如果遍历的对象是可迭代对象那么会通过iter函数获取迭代器,然后通过n

2020-11-05 11:11:51 1393

转载 Apache Kafka消费者组subscribe和assign的正确使用

同时进行“自动”和“手动”的分区分配是会互相影响的,有时会把事情搞糟。正确的使用,首先要了解这两种方式的场景。消费者组的使用场景Kafka里的消费者组有两个使用的场景:“队列模式”:在同一组的消费者共同消费一个主题的所有消息,而且确保一条消息只被一个消费者处理。一个主题的所有的分区会和一个消费组的所有消费者做关联:每个消费者和一到多个分区做关联,接收它们的消息。反向说,一个分区只会与一个消费者关联,它的消息不会被其它的消费者接收。 最开始只有一个消费者时,所有的分区都分配给了它。当消息的规模增

2020-08-28 16:39:52 772

原创 Spark Streaming和Spark Structured Streaming更新broadcast

1)Structured Streaming更新broadcastval enSpark = enSparkSession.session() enSpark.streams.addListener(new StreamingQueryListener { override def onQueryStarted(event: StreamingQueryListener.QueryStartedEvent): Unit = { } override def

2020-08-12 18:43:24 487

转载 为啥spark 的broadcast要用单例模式

https://blog.csdn.net/rlnLo2pNEfx9c/article/details/91446692很多用Spark Streaming 的朋友应该使用过broadcast,大多数情况下广播变量都是以单例模式声明的有没有粉丝想过为什么?浪尖在这里帮大家分析一下,有以下几个原因: 广播变量大多数情况下是不会变更的,使用单例模式可以减少spark streaming每次job生成执行,重复生成广播变量带来的开销。 单例模式也要做同步。这个对于很多新手来说可以不用考虑同步问

2020-08-12 18:33:51 137

原创 struct streaming+Kakfa消费者读取单条记录过长问题

使用struct streaming读kafak数据,fetch数据过大,报错日志如下:20/06/06 11:40:01 org.apache.spark.internal.Logging$class.logError(Logging.scala:70) ERROR TaskSetManager: Task 7 in stage 96.0 failed 4 times; aborting job20/06/06 11:40:01 org.apache.spark.internal.Logging$

2020-06-06 14:14:28 334

原创 常用排序算法(java版)

概述:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。

2017-12-18 16:30:32 370

原创 Kafka整理

Kafka学习笔记整理1      架构1.1    结构图1.2    名词解释1.       Produce:生产者,将消息发送到Kafka中2.       Broker:集群中包含的服务器,kafka存储数据的角色3.       Consumer:消费者,读kafka中的消息4.       Topic:特指Kafka处理的消息源的不同分类5.   ...

2017-12-14 16:59:39 490

原创 Solr评分排序机制

1      默认评分排序规则1.1    默认评分规则Solr是基于Lucene的,评分规则也是基于Lucene,具体详情参考“Lucene评分机制.docx”文档,网页版:http://blog.csdn.net/a822631129/article/details/785504391.2    排序规则1.无特殊排序要求时,根据查询相关度(评分)来进行排序2.指定一个

2017-11-17 14:18:28 5028

原创 Lucene评分规则机制

最近部门把公司的搜索业务接过来了,搜索使用的solr,需要研究下solr的评分机制,solr评分规则引用的是Lucene,简单整理了下Lucene评分规则,如下。1      简介Lucene默认是按照评分机制对每个Document进行打分,然后在返回结果中按照得分进行降序排序。Lucene的评分是叫做TF/IDF算法,基本意思就是词频算法。根据分词词库,所有的文档在建立索

2017-11-16 14:01:42 2968

原创 HashMap和LinkedHashMap的区别

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时

2017-11-13 14:36:25 3552

原创 scala中takewhile 和 filter的区别

之前认为takewhile的功能与过滤一样,后来项目用takewhile发现数据不对,区别如下:al s1 = List(1,2,3,4,10,20,30,40,5,6,7,8,50,60,70,80)val r1 = s1.takeWhile( _ r1: List[Int] = List(1, 2, 3, 4)takeWhile是从第一个元素开始,取满足条件的元素,直到

2017-11-02 17:14:29 3061

原创 ElasticSearch父子关系查询

1      建表PUT comppro{ "mappings" : { "member" : {}, "supply" : { "_parent" : { "type" : "member" } } }}如果创建Parent-Child关系,需要先创建index

2017-09-28 14:43:12 5453

原创 Java 全角、半角字符转化

全角字符与半角字符的关系:打印Java中所有字符以及对应编码的值 public static void main(String[] args) { for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) { System.out.println(i + " "

2017-08-21 15:48:52 588

原创 cdh集群节点系统文件损坏,重装系统恢复Hdfs数据

由于意外,集群中的一个节点系统坏了,重装系统后,把该节点添加集群中,恢复hdfs数据。思路:主要问题是把hdfs的数据恢复,由于hdfs的机制very good,只要把节点从集群中删掉,再添加进集群中,配置hdfs对应目录就好。背景:安装的cdh5.8,使用cm界面进行管理流程:1.从集群中删除节点,删除的时候,勾选解除授权。2.从主机管理中删除节点3.

2017-08-17 13:45:11 3920

原创 ElasticSearch 创建Child type 报错“The _parent field's type option can't be changed: [null]->[member]”

之前先创建了一对Parent Child表,PUT comppro{ "mappings" : { "member" : {}, "supply" : { "_parent" : { "type" : "member" } } }}然后我想再创建一个member的Child表

2017-07-27 20:08:30 1599

原创 Hdfs存储负载均衡

环境:cdh5.8生产环境中,随着数据量的增长,集群进行了扩容,新增节点数据较少。平衡配置还是比较合理的,但是好像一直没有按照配置来,现在是一个1.8的盘,2个3.6的盘。现在1.8使用满了,3.6的使用2.5。在配置界面搜索“平衡”重新平衡阈值 :2重新平衡策略     Balancer Default Group     DataNodeBl

2017-07-17 13:55:45 2288

原创 安装Redis

Redis安装文档,按照以下步骤即可安装成功。最近要用Redis,翻出了很久以前整理的安装文档,顺便贴到这。1.下载安装包redis下载地址:http://download.redis.io/releases/redis-3.0.5.tar.gztcl下载地址:http://mirror.centos.org/centos/6/os/x86_64/Packages/tcl-8.5.7-

2017-05-17 17:28:47 415

原创 java、scala集合自定义排序异常:Comparison method violates its general contract!

cala 集合(array,seq)排序报错User class threw exception: org.apache.spark.SparkException: Job aborted due to stage failure: Task 43 in stage 3.0 failed 4 times, most recent failure: Lost task 43.3 in stage

2017-05-11 15:23:26 3276

原创 spark 朴素贝叶斯(naive bayes)模型save与load优化

Spark MLLIB中Naive Bayes(朴素贝叶斯)分类模型的保存与加载速度在实际应用场景中,比较慢,先对朴素贝叶斯模型save与load进行优化。优化后,save与load速度提高很多倍(优化前需要4-5分钟,而且比较容易出现问题而失败,优化后只需要几秒钟),模型文件占用空间也减小了50%。先简单介绍下Naive Bayes模型机制数据结构: case clas

2017-04-27 17:00:22 4631

原创 Spark RDD操作:combineByKey函数详解

当数据集一键值对形式组织的时候,聚合具有相同键的元素进行一些统计是很常见的操作。对于Pair RDD常见的聚合操作如:reduceByKey,foldByKey,groupByKey,combineByKey。这里重点要说的是combineByKey。因为combineByKey是Spark中一个比较核心的高级函数,groupByKey,reduceByKey都是基于combineByKey实现的

2017-04-26 14:16:45 1572

原创 sqoop导出hive数据到mysql错误: Can't parse input data java.util.NoSuchElementException解决办法

sqoop导出hive数据到mysql错误: Can't parse input data java.util.NoSuchElementException解决办法

2017-04-24 17:28:17 12534

jmxtools jmxri-1.2.1.jar

maven编译时报找不到这两个jar文件,发现已经无法从网站下载了,所以自己在网上找到这两个文件下载,分真贵呀,所以现在便宜分享,2个文件只要一分 Could not resolve dependencies for project ****:jar:0.0.1-SNAPSHOT: The following artifacts could not be resolved: com.sun.jdmk:jmxtools:jar:1.2.1, com.sun.jmx:jmxri:jar:1.2.1: Could not transfer artifact com.sun.jdmk:jmxtools:jar:1.2.1 from/to java.net (https://maven-repository.dev.java.net/nonav/repository): No connector available to access repository java.net (https://maven-repository.dev.java.net/nonav/repository) of type legacy using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory

2016-05-20

jersey-multipart

Jersey开发包,是使用Jersey框架上传文件必不可少的jar包

2014-11-03

空空如也

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

TA关注的人

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