- 博客(94)
- 资源 (3)
- 收藏
- 关注
原创 数据同步工具之DataX实操
一、DataX部署上传DataX压缩文件至/opt/software/目录下,并解压文件至/opt/module/下。自测检查DataX,出现如下截图内容,说明安装成功二、DataX使用DataX使用概述DataX使用还是十分简单的,用户只需要根据自己同步数据的数据源和目的地来选择相应的Reader和Writer,并将Reader和Writer的信息配置在一个json文件中,然后执行下述命令进行提交数据同步任务即可。DataX配置文件格式可以通过下述命令进行查看DataX配置文件模板ht
2022-07-08 13:24:15 3238 2
原创 Spark Streaming实战之WordCount计算
一、需求从TCP Socket数据源实时消费数据,对每批次Batch数据进行词频统计WordCount,流程图如下:二、准备工作本地使用nc命令,利用它向8888端口发送数据(备注:nc是netcat的简称,原本是设置路由器),输入命令如下所示:spark streaming实现逻辑具体代码,如下所示:package com.ml.streamingimport org.apache.spark.SparkConfimport org.apache.spark.strea
2022-03-27 15:08:48 2263
原创 hive完成数据入库和多边形坐标串中心点的计算
一、需求介绍目前需要对客户提供的数据坐标串进行数据的入库和计算中心点。文件是以txt格式提供,数据内容各字段是通过分号来分割,坐标串每个经纬度是逗号隔开,点与点之间是空格来分割。二、数据入库操作数据内容如下所示:123;北京;xxx19号;116.393069920046 39.8794358298622,116.392284281065 39.8794240227275,116.392278945594 39.8799218737309,116.393069989912 39.87993
2022-01-18 21:46:59 1428
原创 hadoop yarn命令下载运行日志和结束yarn任务命令笔记
一、查看yarn日志下载日志到本地yarn logs -applicationId application_1640325130027_76754less命令查看日志less application_1640325130027_76754.txt.success结束yarn任务yarn application -kill application_1640325130027_75655...
2021-12-31 10:44:53 3659
原创 Hive实现模糊匹配多个关键字
一、需求说明今天工作当中需要对一个清单表中所列取的数据进行在hive指定表进行相应列的模糊匹配,来最终查询出表中是否存在该值。二、案例实操首先阐述一下本次所要用到的Hive SQL语法关键字…select * from table where 字段 regexp 'key1|key2';具体SQL代码实现select distinct cell_keyfrom dwd_db.dwd_lbs_4g_anal_realwhere day_id = 20211229 and pr
2021-12-30 15:57:03 9875
原创 解决Hive动态分区小文件过多问题
一、问题描述为了支撑相应的业务需求,本次生产环境通过Hive SQL来完成动态插入分区表数据的脚本开发。但是,动态分区的插入往往会伴随产生大量的小文件的发生。而小文件产生过多的影响主要分为以下两种情况:(1) 从Hive的角度看,小文件会开很多map,一个map开一个JVM去执行,所以这些任务的初始化,启动,执行会浪费大量的资源,严重影响性能。(2)在HDFS中,每个小文件对象约占150byte,如果小文件过多会占用大量内存。这样NameNode内存容量严重制约了集群的扩展。所以,我们必须要解决上
2021-12-05 18:02:16 4817
原创 Hive科学技术法转换
一、需求描述今日下午在对hive库表进行数值统计,发生一件很有意思的一件事,统计求和的结果出现科学技术法。出现的原因待核查,因为主要是我的字段设置是字符串类型string。所以有点费解其实…二、解决方案我这边主要利用的是Hive函数中regexp_extract、regexp_replace以及rpad三个组合完成本次的科学技术法转换操作。函数语法介绍·函数名称:正则表达式解析函数·语法1:regexp_extract(string subject, string pattern, in
2021-12-01 23:23:44 3958
原创 Hive TextFile、OrcFile存储格式以及相应压缩算法的测试
一、存储格式介绍TextFile·存储格式:作为hive当中默认的存储格式·存储方式:行式存储·缺点:磁盘开销大,数据解析开销大。·用处:可结合Gzip、Bzip2使用(系统自 动检查,执行查询时自动解压),但使用这种方式,压缩后的文件不支持split,Hive不会对数据进行切分,从而无法对数据进行并行操作。SequenceFile·格式支持:SequenceFile是Hadoop API提供的一种二进制文件支持·存储方式:行式存储·优点:其具有使用方便、可分割、 可压缩的特点·压缩选
2021-11-28 23:05:36 3095
原创 Hive SQL实现数组中map的拆分以及计算
一、需求背景本次任务主要是完成对表中的每一行数据进行求和计算。涉及的表数据如下所示:["Emc:0","MoVoiceCall:0","Mt:0","MoSig:2","MoData:1","HighPri:0","MoVideoCall:0","MoSms:0","MpsPri:0","McsPri:0"]["Emc:0","MoVoiceCall:1","Mt:0","MoSig:26","MoData:1","HighPri:0","MoVideoCall:0","MoSms:0","Mp
2021-11-27 22:34:04 4464
原创 Mac 安装java反编译工具JD-GUI所遇到的问题及解决方案
一、下载正常网站搜索下载即可。二、问题描述当打开JD-GUI软件时候,会弹出以下错误,见图示:而自己明明电脑上已经安装jdk 1.8了呀,为啥还会报这个错误呢,让人匪夷所思,最终才发现原来JD-GUI软件中相应的启动文件进行加载时候,会默认指定一个jdk目录去下边找,所以,找不到也就理所应当了。三、解决方案右键选择包内容点击进去,然后选择该文件打开编辑该文件中的JAVACMD属性,更改几个位置代码更改完保存退出,重新打开软件即可...
2021-08-04 20:31:31 1587 1
原创 Oracle中decode、to_char、rollup函数用法
一、简要概述decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3)这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返
2021-07-24 16:10:54 289
原创 简述kafka生产者ack确认机制
一、总结该章节主要探讨造成数据丢失问题生产者ack确认机制(目的是要有多少个分区副本收到消息,生产者才认为该消息写入成功;acks参数对数据是否丢失起重要的作用)(1)ack = 0,就是表示生产者不会和broker确认消息是否写入成功。这就有可能造成服务器broker因出现问题,导致没有接收到生产者的消息,而生产者却无从得知。这也就造成数据的丢失。 --较低延迟和高吞吐量,但是以消息丢失的高风险为代价。(2)ack = 1,是表示,生产者是以broker集群leader分区副本接收到消息并向生
2021-07-06 18:01:09 564
原创 hive表数据按照手机号去除重复,每个手机号只保留一条记录
一、简要介绍样例数据:mdnimeiimsivprovId106494893012986701203440557144601111285803231231064948930129867012034405571446011112858032312310649486054048666660207679900460110662972417234需求:表数据按照手机号去除重复,每个手机号只保留一条记录二、HSQL编写思路使用ROW_NUM
2021-03-14 16:05:53 1663
原创 idea上传本地项目到远端git仓库问题解决笔记
一、简要概述今天寻思将最终版本的项目上传到公司git仓库上,但是感觉自己好长时间没有做此操作了,有些生疏,迟迟没有上传成功。发生的问题大概如下所示:多次出现该界面,老是提示我输入密码;但是输入之后,就提示权限拒绝。让我一时不知所错,整的有点懵逼。二、解决步骤该次我出现的问题就是因为该处的url没有输入对造成的;该处的url应为远端git仓库这个url。如下图所示:...
2021-03-02 13:22:25 288
原创 Hadoop HDFS命令知识
一、简要概述目前在工作中用到的hdfs命令大概分为以下几种:读取文件、新建目录、移动文件、复制文件、删除目录、上传文件、下载文件、列出目录等;二、分别陈述查看HDFS目录hadoop fs -ls /查看 HDFS 中的非压缩文件的内容hadoop fs -cat /data02/data.txt修改 HDFS 中文件或目录的访问权限,-R 选项可以修改目录下的所有子目录的访问权限,执行此命令的用户必须是文件或目录的所有者或超级用户hadoop fs -chmod 70
2021-02-28 22:46:52 310
原创 MySQL存储过程实现点与点之间距离的计算
一、需求概述通过各个地级市中心点经纬度,计算出全国各地级市之间的距离。最后需整理出来的表字段需要提供以下内容,包括:(1)省份编码、城市编码、城市名称、经度、纬度、距离等四种类型字段。二、实现步骤实现手段使用mysql存储过程来完成本次的需求内容。距离计算方法使用mysql自带的计算地理距离的函数:ST_Distance(g1, g2 [, unit])以及ROUND() 函数(把数值字段舍入为指定的小数位数)SQL ROUND() 语法SELECT ROUND(column_n
2021-01-31 14:52:45 564
原创 hive分区partition介绍
一、简要概述Hive分区更方便于数据管理,常见的有时间分区和业务分区。二、hive分区原理通过实例来理解Hive分区的原理:(一)多分区操作:创建分区表CREATE TABLE default.DWA_LBS_FUSE_SCIC_XXX(time string comment '时间戳',mdn string comment '手机号码',lon string comment '经度',lat string comment '纬度',cityCode string comment '地
2021-01-30 10:50:04 675
原创 StringUtils.equalsIgnoreCase与equals的区别
一、简要概述equalsIgnoreCase() 方法用于将字符串与指定的对象比较,不考虑大小写。equalsIgnoreCase() 方法中如果给定对象与字符串相等,则返回 true;否则返回 false。equals() 方法用于将字符串与指定的对象比较。String 类中重写了 equals() 方法用于比较两个字符串的内容是否相等。二、代码介绍看一下equalsIgnoreCase()和equals()方法的区别 String Str1 = new String("runoo
2020-12-31 14:47:57 1852
原创 java.util.concurrent.atomic包中并发原子类AtomicInteger讲解
一、简要介绍今天在项目代码中,注意到有使用AtomicInteger类,这个类主要是在java.util.concurrent.atomic并发包下的。Java并发机制的三个特性,如下所示:(1)原子性(2)可见性(3)有序性volatile关键字能禁止指令重排序,所以volatile能在一定程度上保证可见性、有序性。但是无法保证原子性;今天我们所讲述的AtomicInteger的作用就是为了保证原子性。代码如下所示:package concurrent;public class C
2020-12-29 23:12:39 535 2
原创 Freemarker模板---引擎学习
一、简要概述Freemarker是一款模板引擎,是一种基于模版生成静态文件的通用工具,它是使用纯java编写的,一般用来生成HTML页面。这段时间学习的主要是嵌套freemarker中的取值表达式及标签这块。二、Freemarker模板文件3. 主要有4个部分组成:内容描述文本直接输出的部分注释即<#–…-->格式不会输出插值(Interpolation)即${…}或者#{…}格式的部分,将使用数据模型中的部分替代输出FTL指令Free
2020-12-27 13:49:12 422
原创 Jayway JsonPath---引擎学习
一、简要概述JsonPath用于读取JSON文档,使用起来很方便。通过前段时间项目开发过程中,针对于特定的场景来使用这款解析神器。给我的直观感受就是:使用JsonPath来检索JSON数据中指定的字段值效率还是很快的。二、JsonPath知识学习运算器语法如下所示运算符描述$要查询的根元素。这将启动所有路径表达式。@过滤谓词正在处理的当前节点。…深层扫描。可在任何需要名称的地方使用。.<名字>点出当前节点的下级子节点[’<
2020-12-26 16:45:56 710
原创 Oracle分组函数之ROLLUP、GROUPING用法
一、简要介绍rollup用于分组统计,也属于oracle分析函数的一种,同理:grouping也是;假设有n个维度,那么rollup会有n个聚合,cube会有2n个聚合rollup统计列rollup(a,b) 统计列包含:(a,b)、(a)、()rollup(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a)、()二、实践过程select a.deptname name, sum(b.sal) total from dept a, emp b where a.dept
2020-12-20 21:36:57 1961
原创 Java 日期格式化规则
一、日期格式化规则简要描述我们平时在java代码中有的时候会用到日期格式化的方法,但是我对这个日期格式化"yyyy-MM-dd HH:mm:ss" 输入参数的规则不是很明白,百度了一下,在这里记录一下。(1)yyyy代表年份;YYYY代表weak-year,通俗讲就是当周所在的年份;(2)MM代表月份;(3)dd代表这个月的多少天;DD代表 day of year 今年的第N天;(4)HH代表24小时制;hh代表12小时制;(5)mm代表分钟;(6)ss代表秒;代码 Date
2020-11-21 15:34:15 707
原创 java 集合判断是否为空
一、之前判断空常用手法集合判断是否为空if(null != list && list.size() > 0){ ......}以上存在的缺点代码的判断没有一点问题,纯粹个人书写习惯问题,只是写多了就会发现这样写有点麻烦。相信大家使用list集合,会发现本身带有判空的方法。如下所示:list.isEmpty();该方法的作用就是用来判断集合是否有数据存在,但是当我们这么判断的时候,会有一个问题就是当集合本身为null,会报空指针异常。如下图中列子所示:
2020-11-15 23:04:20 11964 1
原创 mybatis 中的<![CDATA[ ]]>用法及说明
一、简要概述平时在mybatis的映射文件写sql时,很多时候都需要写一些特殊的字符。例如:"<“字符”>“字符”>=“字符”<="字符,但是在xml文件中并不能直接写上述列举的字符,否则就会报错。因为在解析xml文件时候,我们如果书写了特殊字符,在没有特殊处理的情况下。这些字符会被转义,但我们并不希望它被转义,所以我们要使用<![CDATA[ ]]>来解决。那为什么要这样书写呢?<![CDATA[ ]]> ,不言而喻:这是XML语法。在CDATA
2020-11-14 20:14:29 55376 4
原创 MyBatis insert语句selectKey标签和返回主键
一、简要概述keyProperty:对应的domain 对象中需要被赋值的属性,一般是主键resultType:表示的是返回主键的类型order:如果设置为 BEFORE,那么它会首先选择主键,设置 keyProperty 然后执行插入语句。如果设置为 AFTER,那么先执行插入语句,然后是 selectKey 元素注意:SelectKey需要注意order属性,像MySQL一类支持自动增长类型的数据库中,order需要设置为after才会取到正确的值,像Oracle这样取序列的情况,需要设置为b
2020-10-08 11:37:18 1565 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人