- 博客(114)
- 资源 (4)
- 收藏
- 关注
原创 Doris
Apache Doris最早诞生于2008年,最初只为解决百度凤巢报表的专用系统。在08年那个时候数据存储和计算成熟的开源产品非常少,Hbase的导入性能只有大约2000条/秒,在这种不能满足业务的背景下,Doris诞生了,并且跟随百度凤巢系统一起正式上线。Apache Doris是一个现代化的MPP分析性数据库产品。仅需要亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析。
2024-10-20 16:25:08
935
原创 spark-submit --files
spark-submit --files通常用来加载外部资源文件,在driver和executor进程中进行访问–files和–jars基本相同。
2023-07-26 11:25:56
1050
原创 Spark的Shuffle原理及调优
当使⽤reduceByKey、groupByKey、sortByKey、countByKey、join、cogroup等操作的时候,会发⽣shuffle操作。Spark在DAG调度阶段将job划分成多个stage,上游stage做map操作,下游stage做reduce操作,其本质还是MR计算架构。Shuffle是连接map和reduce之间的桥梁,它将map的输出对应到reduce的输⼊,这期间涉及到序列化和反序列化、跨节点⽹络IO和磁盘读写IO等,所以说shuffle是整个应⽤过程特别昂贵的阶段。
2022-08-22 20:18:46
1005
原创 Flink学习笔记(10) - CEP
复杂事件处理(Complex Event Processing,CEP) Flink CEP是在 Flink 中实现的复杂事件处理(CEP)库 CEP 允许在无休止的事件流中检测事件模式,让我们有机会掌握数据中重要的部分 一个或多个由简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据 —— 满足规则的复杂事件 目标:从有序的简单事件流中发现一些高阶特征 输入:一个或多个由简单事件构成的事件流 处理:识别简单事件之间的内在联系,多个符合一定规则的简单事件构成复杂事件 输出:满
2022-07-03 15:42:42
264
转载 Hive中日期处理
select day ,(day,1) -- 时间 ,date_add(day,1 - dayofweek(day)) as week_first_day -- 本周第一天_周日 ,date_add(day,7 - dayofweek(day)) as week_
2021-07-26 16:07:42
277
原创 Shell中提交了一个脚本,进程号不知道了,但是需要kill掉这个进程,怎么操作?
Basicps -ef | grep 脚本名 | grep -v grep |awk '{print $2}' | xargs kill -9案例:清理hive历史进程 ps -ef | grep -E ‘hive.cli.CliDriver|hive-hplsql’ | grep 月 | grep -v grep |awk ‘{print $2}’ | xargs kill -9相关参数说明: grep -E:筛选出含hive.cli.CliDriver或者hive-hplsql的行
2021-07-20 14:19:21
406
转载 Join时数据类型不一致导致的倾斜
本篇以hive sql解析器来讨论问题,spark sql 的处理方法类似,大家可自行测试。 在进行join操作时,有mapjoin和hashjoin两个大类。mapjoin需要的是一个大表和一个小表进行join,小表存于内存中,对大表进行遍历,不会产生数据倾斜。 如果是大表join大表,在内存中放不下,便会对两张表join的字段求hash值,然后将hash值相同的数据放入同一个reduce或者同一个spark分区进行处理,这样join条件相同的内容就能放在一起处理了。若得到的某个hash值比例
2021-07-02 15:24:55
2590
原创 Hive语法内关于With as 的数据是否会缓存到内存分析
WITH AS短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断可以被后面的SQL语句引用,从而使SQL语句的可读性更高。 在关系型数据库中,对于UNION ALL,使用WITH AS定义了一个UNION ALL语句,当该片断被调用2次以上,优化器会自动将该WITH AS短语所获取的数据放入一个Temp表中。 Hive在后面的版本也引入了WITH AS 这个公用表表达式(CTE)语法糖,但是对于后面语句的多次引用是否会继续将该WITH AS短语所
2021-06-21 11:55:43
3665
原创 Hive分区表表结构发生变动可能带来的问题?
首先,由于业务场景的需求调整可能会需要修改一些已经存在的表结构,比如增加字段、修改字段类型等,所以可能会有一些隐藏因素导致后续查询和插入数据报错; 原始数据表结构create external table ordercount( channel string, platform string, whetherornotbuy int, headcount int, order_count int, order_time string)partitioned by (dt stri
2021-04-19 15:35:26
856
原创 数据仓库中如何创建拉链表?
某些表(如用户表)中的数据每日既有可能新增,也有可能修改,但修改频率并不高,属于缓慢变化维度,此处采用拉链表存储(用户维度)数据。1 什么是拉链表2 如何做拉链表3 拉链表制作过程步骤0:初始化拉链表(首次独立执行)(1)建立拉链表drop table if exists dwd_dim_user_info_his;create external table dwd_dim_user_info_his( `id` string COMMENT '用户id', `na
2021-03-29 20:18:33
2685
2
原创 数仓维度建模简析(ODS-DWS)
一、数仓为什么要分层? 合理的数据仓库分层一方面能够降低耦合性,提高重用性,可读性可维护性,另一方面也能提高运算的效率,影响到数据需求迭代的速度,近而影响到产品决策的及时性。建立数据分层可以提炼公共层,避免烟囱式开发,可见一个合适且合理的数仓分层是极其重要。二、通用分层设计思路 ODS:操作型数据(Operational Data Store),指结构与源系统基本保持一致的增量或者全量数据。作为DW数据的一个数据准备区,同时又承担基础数据记录历史变化,之所以保留原始数据和线上原始数据保持一致,方便
2021-03-27 14:37:03
2339
原创 2021数仓面试笔记
一、hive调优点 并行执行模式 推测执行模式 数据倾斜时开启负载均衡模式 map缓冲区大小 溢写磁盘百分比 开启combanier提前预聚合 设置reduce拉取数据的内存缓冲区大小 开启kryo序列化 使用Snappy压缩方式 合并小文件 开启Jvm重用数据倾斜处理hive on hadoop数据倾斜 : 开启map聚合并开启负载均衡模式 调大reduce个数,增大任务并行度 SQL逻辑优化 (count(distonct key)) 调节
2021-03-25 20:37:19
603
原创 Hive参数调优大全
SET hive.optimize.skewjoin = true; SET hive.skewjoin.key = 100000;开启动态分区 SET hive.exec.dynamic.partition.mode = nonstrict;设置ReduceTask任务数 SET mapred.reducer.tasks = 50;Hive中间结果压缩和压缩输出 SEThive.exec.compress.output = true;–默认false SET hive.exec.
2021-03-03 20:36:19
3048
2
原创 Linux设置Mysql开机自启
/etc/rc.d/rc.local文件会在linux系统各项服务都启动完毕后再被运行,可以将脚本路径加到该文件里1)确保权限 chmod +x /etc/rc.d/rc.local2)创建脚本 vi MysqlStart.sh #!/bin/bash service mysqld start 赋予权限: chmod +x /path/MysqlStart.sh3)编辑/etc/rc.d/rc.local文件 vi /etc/rc.d/rc.local /path/Mys
2021-01-05 20:27:35
686
原创 配置Hadoop支持LZO
0. 环境准备 maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像) gcc-c++ zlib-devel autoconf automake libtool 通过yum安装即可,yum -y install gcc-c++ lzo-devel zlib-devel autoconf automake libtool1. 下载、安装并编译LZO wget http://www.oberhumer.com/opensource/lzo/download
2021-01-01 20:58:23
296
转载 解决CentOS6停止更新支持后yum源失效
最近CentOS 6已经停止更新支持,同时官方也把yum源删除了,目前CentOS 6系统使用yum命令安装软件包基本都是失败,因此需要更换yum源。 在ssh界面执行以下命令即可一键更换yum源为CentOS的Vault源(包括CentOS官方和阿里云的源): wget -O /etc/yum.repos.d/CentOS-Base.repo http://file.kangle.odata.cc/repo/Centos-6.repo wget -O /etc/yum.repos.d/epe
2021-01-01 20:29:09
2752
9
原创 自定义Java资源配置管理工具组件
1、配置管理组件可以复杂,也可以很简单,对于简单的配置管理组件来说,只要开发一个类,可以在第一次访问它的时候,就从对应的properties文件中,读取配置项,并提供外界获取某个配置key对应的value的方法2、如果是特别复杂的配置管理组件,那么可能需要使用一些软件设计中的设计模式,比如单例模式、解释器模式,也可能需要管理多个不同的properties,甚至是xml类型的配置文件3、这里开发一个简单的配置管理组件配置文件示例 — my.propertiesjdbc.driver=com.mysql
2020-06-20 14:55:45
438
原创 基于Spark的用户行为分析系统
基于Saprk的用户行为分析系统源码下载一、项目介绍 本项目主要用于互联网电商企业中使用Spark技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为、购物行为、广告点击行为等)进行复杂的分析。用统计分析出来的数据辅助公司中的PM(产品经理)、数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司的业绩、营业额以及市场占有率的目标。 项目主要采用Spark,使用了Spark技术生态栈中最常用的三个
2020-06-20 13:44:31
13786
17
转载 SQLServer CTE 递归查询
一、递归查询1.结构: 递归CTE最少包含两个查询(也被称为成员)。 第一个查询为定点成员,定点成员只是一个返回有效表的查询,用于递归的基础或定位点。 第二个查询被称为递归成员,使该查询称为递归成员的是对CTE名称的递归引用是触发。在逻辑上可以将CTE名称的内部应用理解为前一个查询的结果集。2.递归结束条件: 第二个递归查询返回空结果集或是超出了递归次数的最大限制时才停止递归。3.Sql递归的优点: 效率高,大量数据集下,速度比程序的查询快。4.递归查询的作用: 用来查询指定成员
2020-06-06 15:29:40
4631
3
转载 SQL SERVER拼接字符串(字符串中有变量)
一、拼接字符串(整个字符串不分割)步骤: 1、首先在字符串的前后加单引号; 2、字符串中的变量以’’’+@para+’’'在字符串中表示; 3、若在执行时存在类型转换错误,则应用相应的类型转换函数,对变量进行类型转换(如cast()函数)。示例一:包含SQL拼接字符串的存储过程:Create Procedure Test @TestID intAsDeclare @s n...
2020-04-26 17:20:39
7821
hadoop-lzo-0.4.21-SNAPSHOT.jar
2021-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人