- 博客(36)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 基于flink,kafka实时计算订单topN,存到redis
主要难点是计算一定时间内订单总数topN,使用aggregate算子,重写方法自定义聚合函数
2022-11-11 17:55:01
1027
原创 Datax配置密码加密及字符集检查
除了密码加密外,还有datax字符集乱码检查、datax超时报错退出等等。文笔不太好......如过有人看到且需要的话,欢迎留言我发给你源码。
2024-03-25 15:31:34
665
2
原创 hive insert table 报错创建文件太多
对创建文件的总数有限制(hive.exec.max.created.files),默认是100000个,而这个SQL在运行的时候每个Map都会创建76个文件,对应了每个分区,所以这个SQL总共会创建2163 * 76 = 164388个文件,运行中肯定会出现上述的异常。修改完之后的SQL运行良好,并没有出现上面的异常信息,但是这里也有个问题,因为这76个分区的数据分布很不均匀,有些Reduce的数据有30多G,而有些Reduce只有几K,直接导致了这个SQL运行的速度很慢!并最终导致了SQL的运行失败。
2023-08-15 11:09:56
366
原创 hive sql求连续登陆
连续登陆三天用户数。因为可能有用户连续登陆不止三天,去重一下也可以用date_add实现。当本次登陆日期的第二天等于下次登录日期,则为连续登陆
2022-12-05 14:30:42
608
2
原创 sparkstream计算pv,uv,每小时热词
1.热词的统计我们用到自然语言处理,采用nlp分词,对微博数据进行分词处理2.flatmap的使用map中函数式方法返回值为对象,也就是原始流中有n个元素,处理之后的流中元素个数也是n个。即使你在返回的时候返回了多个元素如数组,他也会把数组当成一个对象处理。flatMap中函数式方法返回值为流,flat为扁平的意思,也就是说,我们可以通过flatMap改变原始流中对象的个数,flatMap会将返回的流合并成一个流,而不是当成对象处理。有二箱鸡蛋,每箱5个,现在要把鸡蛋加工成煎蛋,然后分给学生。
2022-11-07 15:57:12
274
原创 一个简单的小时级数据仓库构建
利用Kafka作为中间件,通过spring boot项目开放一个接口传数据,通过生产者发送,消费者来接收数据后按照小时划分存为文件,后load到hive仓库。原因百度应该是有什么特殊符号问题可能是命令行换行符,,但是我截取出来只有数字。可能是shell哪里的问题吧。一开始直接把时间切分剩小时,结果报错 ambiguous redirect,又切分一下就好了。把文件load到hive数据仓库,根据小时作为分区。启动消费者并把接收到的数据重定向到对应时间文件中。创建生产者,发送接收到的数据。
2022-11-03 11:48:23
456
原创 通过反射来获取类的属性并调用Setter,getter方法
getDeclaredMethod:获取当前类的所有声明的方法,从父类中继承的不算,实现接口的方法由于有声明所以包括在内。Field field =class.getDeclaredFields(“字段名”):获得类的该字段。getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。getDeclaredFields():获得某个类的所有声明的字段,即包括public、getMethod:获取当前类和所有父类的所有public的方法。
2022-11-01 20:29:40
2141
3
原创 Kafka shell使用及Java简单实现Kafka生产者和消费者
【代码】Kafka shell使用及Java简单实现Kafka生产者和消费者。
2022-10-27 19:40:40
1192
原创 Kafka简介
kafka⼀种⾼吞吐量的分布式、⽀持分区的(partition)、多副本的 (replication),基于zookeeper协调的消息系统。
2022-10-27 19:28:33
88
原创 SparkSql的基础操作
● 与基础 RDD(强类型,无结构) 的 API 不同,Spark SQL 中提供的接口将提供给更多关于结 构化数据和计算的信息,并针对这些信息,进行额外的处理优化。○rdd相比于df是缺少结构的,所以我们需要创建一个结构,给rdd拼上。○Row表示每行数据,抽象的。● Spark SQL 是 Spark 处理数据的一个模块。○相当于DataSet的特殊类型,DataSet[Row]○其次就是对rdd处理成Row的类型并把每个字段分开分开。○最后创建df对象,使用spark的api把他们拼接上。
2022-10-25 19:31:32
420
原创 Spark 常用算子
○cogroup是对多个RDD进行操作,通过shuffle,然后把key相同的数据搞到一起,并且它的value不是一个迭代器,如果有两个 迭代器,那么返回的是一个对偶元组,对偶元组里面有两个compactBufffer,和两Iterator,如果有多个RDD,那么在cogroup的时候会产生多个compactBuffer,每个compactBufffer里面装有多个相同的key,聚合到一起存储对应value的值得特殊的集合,并且对应多个Iterator.○ cache 将 RDD 元素从磁盘缓存到内存。
2022-10-25 19:13:15
483
转载 hive复杂类型
3.1 集合类型之array (1) 先创建一张表复制(2) 准备数据文件 t_array.txt复制(3) 查询数据复制注意:array的访问元素和java中是一样的,这里通过索引来访问。
2022-09-29 20:33:50
174
原创 hive自定义函数
首先导入依赖自定义一个java类继承UDF类重写evaluate方法打包类所在项目成一个jar包并上传到hive所在机器在hive中添加jar包然后创建自定义方法。
2022-09-29 20:29:02
408
原创 hive2
复杂(集合)数据类型数据类型描述字面语法示例STRUCT和C语言中的struct或者”对象”类似,都可以通过”点”符号访问元素内容。例如,如果某个列的数据类型是STRUCT{first STRING, lastdt STRING},那么第1个元素可以通过字段名.first来引用struct(‘John’,‘Doe’)MAPMAP是一组键-值对元组集合,使用数组表示法(例如[‘key’])可以访问元素。
2022-09-28 20:45:28
77
原创 Hive数据仓库介绍
Hive概述面向分析的存储系统(面向数据分析的存储系统)一个面向主题的(Subject Oriented)、集成的(Integrate)、不可修改的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于数据分析、辅助管理决策。面向主题:指数据仓库中的数据是按照一定的主题域进行组织。集成:指对原有分散的数据库数据经过系统加工, 整理得到的消除源数据中的不一致性。不可修改:指一旦某个数据进入数据仓库以后只需要定期的加载、刷新,不会更改。
2022-09-27 19:54:42
176
原创 Yarn框架
YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave。YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等几个组件构成。
2022-09-27 19:50:14
469
原创 MapReduce练习题
2.在hdfs目录/tmp/tl/input/wordcount目录中有一系列文件,内容为","号分隔,同时在hdfs路径/tmp/tl/black.txt黑名单文件,一行一个单词用于存放不记入统计的单词列表。求按","号分隔的各个元素去除掉黑名单后的出现频率,输出到目录/tmp/tl/output/个人用户名的hdfs目录中。1.在hdfs目录/tmp/input/wordcount目录中有一系列文件,内容为","号分隔,分隔后的元素均为数值类型、字母、中文,求数值类型、字母类型、中文类型各自的次数。
2022-09-27 19:41:02
883
原创 SSH建立互信
在主机2中将公钥追加到授权列表authorized_keys当中。ssh-keygen -t rsa 保存在家目录的 .ssh文件中。scp ~/.ssh/id_rsa.pub root@主机2:~/1.可以先修改hostname,方便区分自己登陆的是哪台机器。2.设置ip对应的名字,使连接时不用输入IP,直接输入名字。然后便可以在主机1中通过ssh登录主机2 不用密码。hostname 新机器名。
2022-09-16 19:49:56
2500
原创 ssm整合
如果spring的配置文件和web.xml不在同一个文件夹。在web.xml中分发器中写一个初始化参数。@contorller return可以重定向。jdbc.properties 略。
2022-08-16 20:50:01
43
原创 SpringMVC
三层架构表现层:WEB层,用来和客户端进行数据交互的业务层:处理公司具体的业务逻辑的持久层:用来操作数据库的MVCmodel(模型):数据模型,Javabean的类,用来进行数据封装view(视图):指JSP、HTML用来展示数据给用户controller(控制器):用来接受用户的请求,整个流程的控制器。用来进行数据校验。...
2022-08-15 20:36:40
118
原创 sql联查 resultMap之collection 和 association
id是resultMap以及Collection的子标签,标记出作为 ID 的结果可以帮助提高整体性能。特别注意的是,id是当前命名空间中的一个唯一标识,用于标识一个结果映射。原文链接:https://blog.csdn.net/LIZHONGPING00/article/details/109148269。错误使用会导致只返回该订单某商品的一条记录。因为对于某个商品,麻辣味和五香味只是商品规格,其商品id是相同的。而且他是ofType, association是Javatype。......
2022-08-11 20:33:13
687
原创 mybatis第三天 一对多查找,事务
一对多联查<resultMapid="userResult"type="User"autoMapping="true"><idcolumn="id"property="id"/><resultproperty="nickname"column="nickname"/><resultproperty="schoolName"column="school_name"/><collectionproperty="addressList"column
2022-08-07 20:46:22
168
原创 Mybatis第二天
1. #{}是预编译处理,$ {}是字符串替换。2. mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值; mybatis在处理 $ { } 时,就是把 ${ } 替换成变量的值。如果是类似string类型,没有getter,setter方法,用@Param("名字")取名,便可以传值过去parameterType 属性可以是基本类型,引用类型,还可以是实体类类型基本类型和String我们可以直接写类型名称,也可以使用包
2022-08-05 22:29:52
199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人