- 博客(36)
- 收藏
- 关注
原创 HiveQL如何统计用户近一段时间活跃标签
通过设计一张全量数据累积模型,给用户打上活跃标签。可基于用户活跃标签数据模型,有效提高用户活跃相关标签计算性能。
2024-08-30 11:15:31
322
原创 Kafka线上问题优化
如果为了消息的不重复消费,而把生产端的重试机制关闭,消费端的手动提交改为自动提交,这样反而会出现消息丢失。那么可以直接在防止消息丢失的手段上加上消费消息时的幂等性特保证,便能解决重复消费的问题。消息积压会导致很多问题,比如:磁盘被打满、生产端发消息导致kafka性能过慢,就容易出现服务雪崩,就需要相应的处理手段。消费者订阅相应的topic,消费时轮询消费整个topic中的消息。消息发送者发送消息到相应的topic,并带上消息的发送时间。创建多个topic,每个topic表示延时的间隔。
2024-08-24 11:20:10
1160
原创 SparkCore的相关概念
Spark可以执行内存迭代计算,算子之间形成的DAG基于宽依赖划分阶段后,在阶段内部形成内存迭代计算管道,但是MapReduce的Map和Reduce之间的交互依然是通过磁盘来交互的。如果没有action算子,Transformation算子之间的迭代关系,就相当于一个没有通电的流水线,只有action到来,这个数据处理的流水线才开始工作。功能:将RDD的数据加上嵌套,这个嵌套按照分区来进行。RDD之间相互迭代计算(Transformation的转换),当执行开启后,新的RDD生成,代表旧的RDD将消失。
2023-06-05 17:57:29
625
原创 Java同步机制及线程通信
在Java中,通过同步机制,来解决线程安全的问题。同步机制方式一:同步代码块synchronized(同步监视器){//需要被同步的代码}说明:1.操作共享数据的代码,即为需要被同步的代码。–代码不能包含多了,也不能少了;2.共享数据:多个线程共同操作的变量,比如:火车票就是共享数据;3.同步监视器(锁):任何一个类的对象,都可以充当锁。要求:多个线程必须共用同一把锁补充:在实现Runnable接口创建多线程的方式中,我们可以考虑使用this充当同步监视器。在继承Thread类创建多线
2022-03-02 09:54:56
151
转载 Hive内置方法大全
一、Aggregate–聚合类1、avg(col)–返回某一列的平均值2、count([DISTINCT] col)–对某一列计数3、stddev_pop(col)–返回某一列的标准偏差4、stddev_samp(col)–返回数据列无偏样本的标准偏差5、sum(col)6、max(col)7、min(col)8、corr(col1, col2)–返回两列的皮尔逊相关系数9、covar_pop(col1, col2)–返回两列数据的总体协方差10、covar_samp(col
2021-12-30 10:21:22
678
原创 Elasticsearch与Clickhouse数据存储对比
@Elasticsearch与Clickhouse数据存储对比1.使用背景 随着公司业务发展,Elasticsearch开始暴露出一些弊端,不适合大批量的数据查询,高频次分页导出导致宕机、存储成本较高。Elasticsearch的查询语句维护成本较高、在聚合计算场景下出现数据不精确等问题。Clickhouse是列式数据库,列式型数据库适合OLAP场景,类似SQL语法降低开发和学习成本,采用快速压缩算法节省存储成本,采用向量执行引擎技术大幅缩减计算耗时。2.OLAP OLAP意思是On-Li
2021-09-14 14:09:01
4883
原创 往ES(6.x)推数报错
java.lang.IllegalArgumentException: Rejecting mapping update to [mytest] as the final mapping would have more than 1 type: [_doc, mytest]原因:Elasticsearch 在6.0版本以后,一个index下,只允许创建一个type,不允许存在多个type。...
2021-04-06 16:11:12
105
原创 HIVE配置参数优化
HIVE配置参数优化一、hive配置参数原理Hive的工作原理简单的说就是一个查询引擎,接收到一个SQL后,会把SQL转化为MapReduce、Spark或者其他执行引擎的Job。所以它的配置参数,除了作用于自身,有的也会转换为后续执行引擎的配置参数。有时可以携带执行引擎的参数,比如mapred.output.compress,这是Hadoop的参数。二、hive配置参数作用范围和其他所有框架一样,hive的配置信息也是划分层级的,就近原则如果是使用java api进行操作,则代码中配置优先级最高
2021-01-11 17:37:19
448
原创 数据仓库与关系型数据库区别
数据仓库与关系型数据库区别数据仓库与数据库的主要区别在于:数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余。数据库是为捕获数据而设计,数据仓库是为分析数据而设计。简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的
2021-01-08 14:09:29
2287
原创 数据仓库基本概念
数据仓库基本概念数据仓库是一个面向主体的(Subject Oriented)集成的(Integrated)非易失的(Non-Volatile)随时间变化的(Time Variant)用来支持管理人员决策的数据集合。**主题(Subject)**是在较高层次上将企业信息系统中的数据进行综合、归类和分析利用的一个抽象概念,每一个主题基本对应一个宏观的分析领域。面向主题的数据组织方式,就是在较高层次上对分析对象数据的一个完整并且一致的描述,能刻画各个分析对象所涉及的企业各项数据,以及数据之间的
2021-01-08 14:04:23
238
1
原创 hive常用参数优化及说明
hive常用参数优化及说明一、常用参数优化开启任务并行执行set hive.exec.parallel=true;同一个sql允许并行任务的最大线程数set hive.exec.parallel.thread.number=8;若读取小文件较多,则设置在map端进行小文件合并参数set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;set hive.hadoop.supports.s
2020-09-16 18:04:36
504
原创 hive内外表比较与切换
hive内外表那点儿事内表与外表比较CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name (col_name data_type [COMMENT 'col_comment'], ...) [PARTITIONED BY (col_name data_type [COMMENT 'col_comment'], ...)] [COMMENT 'table_comment'] [WITH SERDEPROPERTIES
2020-09-15 17:22:09
1269
原创 shell脚本批量替换文件中不可见字符与列分隔符
shell脚本批量替换文件中不可见字符与列分隔符ASCII不可见字符与可见字符:https://blog.csdn.net/stpeace/article/details/51619704闲话少说,直接上菜#!bin/sh# 特殊字符查看表# https://blog.csdn.net/stpeace/article/details/51619704# 当前需要替换文件的路径current_path=$1echo -e "\t 转换开始...... \n" # 设置脚本开始时间
2020-08-11 10:27:56
1633
原创 Linux awk 求文件某列的和
Linux awk 求文件某列的和查看文件数据情况1.求第二列的和2.过滤某列的值再求和,如:第一列值为“1”,求第二列和
2020-06-17 11:13:06
734
原创 Spark streaming 整合Kafka统计词频
**Spark streaming 整合Kafka统计词频**首先,启动zookeeper然后,启动kafka创建topic启动生产者启动消费者开发Spark streaming 整合Kafka统计词频的程序from pyspark import SparkContextfrom pyspark.streaming import StreamingContextfrom pyspark.streaming.kafka import KafkaUtils'''Spark s
2020-05-29 19:33:00
1115
原创 hbase常用shell命令
hbase常用shell命令基本命令1.1 查看版本信息1.2 查看服务器状态表的基本操作2.1 查看所有表2.2 创建表命令行格式:create tablename 列族1,列族2,…例如:创建表名:Students(学生表),列族1:baseInfo(基本信息),列族2:schoolInfo(学校信息)2.3 查看表的基本信息可以看到两个列族:baseInfo,schoolInfo2.4 检查某个表是否存在2.5 禁用/启用表禁用表disable ‘Student
2020-05-19 21:08:59
931
原创 Spark Streaming整合Flume(Pull-based Approach)统计词频
Spark Streaming整合Flume(Pull-based Approach)统计词频查看spark官网:http://spark.apache.org/docs/2.2.0/streaming-flume-integration.htmlflume的sink.type配置如图:我的flume配置如下:开发spark streaming程序from pyspark.streaming import StreamingContextfrom pyspark import SparkC
2020-05-19 17:35:59
199
原创 Spark Streaming整合Flume(Push-based Approach)统计词频
Spark Streaming整合Flume统计词频采用命令行模式,配置flume的配置文件,如下:开发sparkstreaming程序,如下:from pyspark.streaming import StreamingContextfrom pyspark import SparkContextfrom pyspark.streaming.flume import FlumeUtils‘’‘Spark Streaming整合Flume统计词频’’’#sc = SparkContext(m
2020-05-18 19:46:02
281
原创 Spark Streaming整合Spark SQL操作
Spark Streaming整合Spark SQL操作代码如下:from pyspark import SparkContextfrom pyspark.streaming import StreamingContextfrom pyspark.sql import Row, SparkSessiondef getSparkSessionInstance(sparkConf):if (‘sparkSessionSingletonInstance’ not in globals()):glob
2020-05-14 19:38:42
511
原创 sparkstreaming使用python实现黑名单过滤
sparkstreaming使用python实现黑名单过滤场景如下:zs(张三),ls(李四)在黑名单中,ww(王五)不在黑名单中。将zs,ls过滤,得出ww不在黑名单,代码如下:from pyspark import SparkContextfrom pyspark.streaming import StreamingContext#黑名单过滤#sc = SparkContext(master=“local[2]”,appName=“TransformAPP”)ssc = StreamingC
2020-05-13 19:28:44
681
原创 spark streaming 将数据持久化的数据库
spark streaming 将数据持久化的数据库查看资料与官网,都没有找到streaming入mysql的python程序,无奈自己写了一个(写了半天,才测试成功,真实太菜了),希望能够帮助到各位。。。启动pyspark[root@hadoop001 bin]# ./pyspark --master local[2]程序如下:from pyspark import SparkCont...
2020-05-08 17:19:13
223
原创 kafka单节点多broker部署及使用
kafka单节点多broker部署及使用参考单节点单broker部署的文章https://blog.csdn.net/weixin_43451620/article/details/105573713将配置文件server.properties复制三份cp server.properties server-1.properties更新配置文件 server-1.properties 中参...
2020-04-20 19:38:01
187
原创 kafka单节点单broker的安装部署及使用
kafka单节点单broker的安装部署及使用kafka是Apache的顶级项目,可以在官网http://kafka.apache.org/downloads根据自己的scala版本下载自己需要的压缩包解压:[root@hadoop001 downloads]# tar -zxvf kafka_2.13-2.4.0.tgz -C /usr/soft/配置环境变量vi ~/.bash...
2020-04-17 18:05:41
326
原创 zookeeper安装及下载
zookeeper安装及下载根据自己所需的版本,下载zookeeper的压缩包[root@hadoop001 downloads]# wget http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.7.0.tar.gz下载完成后,解压[root@hadoop001 downloads]# tar -zxvf zookeepe...
2020-04-16 19:50:17
1090
原创 centos7升级Python后yum不能用,误删系统自带Python,怎么解决?
centos7升级Python后yum不能用,误删系统自带Python,怎么解决?客官,别急。。。首先,完全删除系统的Python环境rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps其次,删除残余文件whereis python |xargs rm -frv验证是否完全删除干净(无返回内容即可)whereis ...
2020-04-14 18:07:25
366
原创 Linux 将数据文件的记录分割符\n替换成\r\n,然后入Oracle
Linux 将数据文件的记录分割符\n替换成\r\n,然后入Oracle编写控制文件ctl,部分内容(截取了部分字段)如下图:查看文件编码为utf-8,现将文件编码转为gbk,如下图:替换文件分隔符,使用以下命令:sed -i “s/$/^M/g” cnca.bin查看文件前几条记录,发现记录分隔符为^MKaTeX parse error: Undefined control seq...
2019-12-18 15:32:25
1266
原创 使用Python将多个excel的多个sheet页合并到一个excel
使用Python将多个excel的多个sheet页合并到一个excel##读取Excel文件import xlrd##将文本写入excel文件import xlsxwriter##读取excel文件def getexcel(excel):f=xlrd.open_workbook(excel)return f##获取excel中的所有sheet表def getsheet(exc...
2019-12-03 11:21:35
3501
原创 安装scrapy过程中提示Microsoft Visual C++ 14.0 is required。
#安装scrapy过程中提示Microsoft Visual C++ 14.0 is required。安装VC过程是比较漫长的,所以题主便寻求是否有更简便的方法去解决该问题。后来发现安装twisted相应的包会更便捷:twisted链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/在安装该包时,首先要自查Python编译器的版本,是3.5or3...
2019-11-11 18:29:29
114
原创 Greenplum字段拼接
GP字段拼接相对于Oracle等数据库有细微差距。例如:select A || B || C from table;我们想得到的结果是:ABC。但是在GP数据库中,假如A、B、C当中任意一个字段为空,那么得到的查询结果ABC也为空。当然,有解决办法,我们可以使用SQL标准函数COALESCE对字段处理再进行查询,便可得到如期的结果。...
2018-12-25 15:21:00
7045
原创 查看greenplum的表结构
获取表结构的函数:get_table_structure,使用方法如下:select get_table_structure(‘scheme.tablename’)
2018-12-20 11:08:56
5002
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人