- 博客(76)
- 资源 (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
11566

原创 Ansj中文分词使用教程
摘要:ansj是一个基于n-Gram+CRF+HMM的中文分词的java实现.ansj分词速度达到每秒钟大约200万字左右(mac air下测试),准确率能达到96%以上Ansj目前实现了.中文分词.词性识别. 中文姓名识别 . 用户自定义词典,关键字提取,自动摘要,关键字标记等功能可以应用到自然语言处理等方面,适用于对分词效果要求高的各种项目.下载jar:访问 http://maven.nlpcn.
2016-08-26 19:48:22
24986
2
原创 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
541
原创 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
800
转载 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
1637
原创 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
1176
原创 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
1064
原创 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
1366
原创 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
1248
原创 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
555
原创 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
3021
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
1211
原创 Structured Streaming checkpoint目录不生效,每次启动创建新的checkpoint目录
现象:同事的StructuredStreaming实时任务中配置了checkpoint,但是每次重启实时任务的时候,实时任务就只处理最新的数据,不会接之前消费offset,然后checkpoint目录下每次启动都会产生新的目录 checkpoint配置如下: 配置了spark.sql.streaming.checkpointLocation参数解决办法:通过查看spark源代码,发现使用spark.sql.streaming.checkpointLocation的话,也需...
2021-01-09 17:42:47
608
转载 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
883
原创 scala之ArrayBuffer添加元素append()与+=效率对比
ArrayBuffe添加10个元素,循环一亿次,append()耗时30秒,+=耗时2秒,append()耗时是+=的15倍
2020-11-16 17:32:01
4222
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
875
原创 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
1116
原创 【腾讯云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
1085
3
转载 Java NIO之Buffer
Java NIO中的Buffer用于和NIO通道进行交互。数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块固定大小的内存,其作用是一个存储器或运输器。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。1、缓冲区基础理论上,Buffer是经过包装后的数组,而Buffer提供了一组通用api对这个数组进行操作。1.1、属性:容量(Capacity)缓冲区能够容纳的数据元素的最大数量。这一容量在缓冲区创建时被设定,并且永远不能被改变。上界
2020-11-05 11:13:52
292
转载 for循环的底层原理
# 自定义可迭代对象:在类里面提供了__iter__方法创建的对象就是可迭代对象# 自定义迭代器对象:在类里面提供__iter__和__next__的方法创建的对象就是迭代器对象# 迭代器的作用: 记录当前数据的位置以后获取下一个位置的值# iter函数:获取可迭代对象的迭代器, 会调用可迭代对象身上的__iter__方法# next函数:获取迭代器中下一个值,会调用迭代器对象身上的__next__方法# for 循环的本质: 如果遍历的对象是可迭代对象那么会通过iter函数获取迭代器,然后通过n
2020-11-05 11:11:51
1477
转载 Apache Kafka消费者组subscribe和assign的正确使用
同时进行“自动”和“手动”的分区分配是会互相影响的,有时会把事情搞糟。正确的使用,首先要了解这两种方式的场景。消费者组的使用场景Kafka里的消费者组有两个使用的场景:“队列模式”:在同一组的消费者共同消费一个主题的所有消息,而且确保一条消息只被一个消费者处理。一个主题的所有的分区会和一个消费组的所有消费者做关联:每个消费者和一到多个分区做关联,接收它们的消息。反向说,一个分区只会与一个消费者关联,它的消息不会被其它的消费者接收。 最开始只有一个消费者时,所有的分区都分配给了它。当消息的规模增
2020-08-28 16:39:52
814
原创 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
579
转载 为啥spark 的broadcast要用单例模式
https://blog.youkuaiyun.com/rlnLo2pNEfx9c/article/details/91446692很多用Spark Streaming 的朋友应该使用过broadcast,大多数情况下广播变量都是以单例模式声明的有没有粉丝想过为什么?浪尖在这里帮大家分析一下,有以下几个原因: 广播变量大多数情况下是不会变更的,使用单例模式可以减少spark streaming每次job生成执行,重复生成广播变量带来的开销。 单例模式也要做同步。这个对于很多新手来说可以不用考虑同步问
2020-08-12 18:33:51
171
原创 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
376
原创 常用排序算法(java版)
概述:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。
2017-12-18 16:30:32
395
原创 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
524
原创 Solr评分排序机制
1 默认评分排序规则1.1 默认评分规则Solr是基于Lucene的,评分规则也是基于Lucene,具体详情参考“Lucene评分机制.docx”文档,网页版:http://blog.youkuaiyun.com/a822631129/article/details/785504391.2 排序规则1.无特殊排序要求时,根据查询相关度(评分)来进行排序2.指定一个
2017-11-17 14:18:28
5245
原创 Lucene评分规则机制
最近部门把公司的搜索业务接过来了,搜索使用的solr,需要研究下solr的评分机制,solr评分规则引用的是Lucene,简单整理了下Lucene评分规则,如下。1 简介Lucene默认是按照评分机制对每个Document进行打分,然后在返回结果中按照得分进行降序排序。Lucene的评分是叫做TF/IDF算法,基本意思就是词频算法。根据分词词库,所有的文档在建立索
2017-11-16 14:01:42
3133
原创 HashMap和LinkedHashMap的区别
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时
2017-11-13 14:36:25
3606
原创 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
3149
原创 ElasticSearch父子关系查询
1 建表PUT comppro{ "mappings" : { "member" : {}, "supply" : { "_parent" : { "type" : "member" } } }}如果创建Parent-Child关系,需要先创建index
2017-09-28 14:43:12
5562
原创 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
644
原创 cdh集群节点系统文件损坏,重装系统恢复Hdfs数据
由于意外,集群中的一个节点系统坏了,重装系统后,把该节点添加集群中,恢复hdfs数据。思路:主要问题是把hdfs的数据恢复,由于hdfs的机制very good,只要把节点从集群中删掉,再添加进集群中,配置hdfs对应目录就好。背景:安装的cdh5.8,使用cm界面进行管理流程:1.从集群中删除节点,删除的时候,勾选解除授权。2.从主机管理中删除节点3.
2017-08-17 13:45:11
4040
原创 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
1649
原创 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
2410
原创 安装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
446
原创 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
3341
原创 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
4734
原创 Spark RDD操作:combineByKey函数详解
当数据集一键值对形式组织的时候,聚合具有相同键的元素进行一些统计是很常见的操作。对于Pair RDD常见的聚合操作如:reduceByKey,foldByKey,groupByKey,combineByKey。这里重点要说的是combineByKey。因为combineByKey是Spark中一个比较核心的高级函数,groupByKey,reduceByKey都是基于combineByKey实现的
2017-04-26 14:16:45
1626
jmxtools jmxri-1.2.1.jar
2016-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人