
大数据系列三
文章平均质量分 74
大数据系列三
浊酒南街
纵使疾风起,人生不言弃。
展开
-
shell脚本总结14:awk命令的使用方法
awk 是 Shell 中用于文本分析和数据处理的强大工具,兼具脚本语言的灵活性。它特别适合处理结构化数据(如日志、CSV 文件)。原创 2025-06-04 16:54:45 · 148 阅读 · 0 评论 -
shell脚本总结13:head -c 和cut -c的区别
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-06-03 14:52:12 · 305 阅读 · 0 评论 -
shell脚本总结12:自定义函数
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-05-29 20:05:03 · 666 阅读 · 0 评论 -
shell脚本总结11
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-05-28 17:02:14 · 521 阅读 · 0 评论 -
shell脚本总结10:case … esac 多选择语句
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-05-28 11:23:45 · 353 阅读 · 0 评论 -
shell脚本总结9:until循环语句
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-05-27 16:40:18 · 316 阅读 · 0 评论 -
cron表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:(1) Seconds Minutes Hours DayofMonth Month DayofWeek Year(2)Seconds Minutes Hours DayofMonth Month DayofWeek字段 允许值 允许的特殊字符备注:DayofWeek中 1 = 星期日;原创 2025-05-27 15:55:06 · 305 阅读 · 0 评论 -
shell脚本总结8:while循环语句
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-05-26 11:21:28 · 395 阅读 · 0 评论 -
shell脚本总结7:for循环语句
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-05-23 17:31:51 · 319 阅读 · 0 评论 -
shell脚本总结6:if条件判断语句案例
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-05-23 14:20:53 · 402 阅读 · 0 评论 -
shell脚本总结5:if 条件判断语句
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。If条件判断语句# If条件判断语句,通常以if开头,fi结尾。也可加入else或者elif进行多条件的判断 # 单分支语句 ---比较大小 if(条件表达式);then语句1fi # 双分支if 语句 if(表达式) 语句1 else 语句2。原创 2025-05-22 20:01:15 · 343 阅读 · 0 评论 -
shell脚本总结4:算术运算
今天主要回顾一下shell脚本中的算术运算原创 2025-05-22 16:19:02 · 230 阅读 · 0 评论 -
shell脚本总结3
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-05-21 11:51:08 · 471 阅读 · 0 评论 -
REGEXP_REPLACE 函数的用法
参数说明source: string类型,要替换的原始字符串。pattern: string类型常量,要匹配的正则模式,pattern为空串时抛异常。replace_string:string,将匹配的pattern替换成的字符串。occurrence: bigint类型常量,必须大于等于0。大于0:表示将第几次匹配替换成replace_string。等于0:表示替换掉所有的匹配子串。其它类型或小于0抛异常。返回值。原创 2025-04-21 10:14:35 · 513 阅读 · 0 评论 -
如何用collect_set等函数实现map结构的数据
【代码】如何用collect_set等函数实现map结构的数据。原创 2025-03-14 17:24:21 · 160 阅读 · 0 评论 -
shell脚本总结2
检查 mark_num 是否为字符串 “NULL”。分别打印 mark_num、exper_startdate 和 exper_enddate 的值,通常用于输出查看或进一步验证。赋值数组的第三个元素给 exper_enddate,对应 SQL 中 max(exper_date_end) 的结果。赋值数组的第二个元素给 exper_startdate,对应 SQL 中 min(gray_day) 的结果。赋值数组的第一个元素给 mark_num,对应最初 SQL 语句中 count(1) 的结果。原创 2025-01-06 10:18:37 · 530 阅读 · 0 评论 -
shell脚本总结1
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。原创 2025-01-03 17:08:16 · 571 阅读 · 0 评论 -
Hive自定义UDF函数
UDF全称:User-Defined Functions,即用户自定义函数,在Hive SQL编译成MapReduce任务时,执行java方法,类似于像MapReduce执行过程中加入一个插件,方便扩展。1.编写UDF函数,UDF需要继承org.apache.hadoop.hive.ql.exec.UDF,UDTF继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF,UDAF使用比较少,这里先不讲解;原创 2024-11-19 15:58:54 · 849 阅读 · 0 评论 -
hive中map_concat函数介绍
在 Apache Hive 中,map_concat() 函数用于将两个 Map 类型的列合并成一个新的 Map 类型的列。其中,map1 和 map2 是两个 Map 类型的列,K 是键的数据类型,V 是值的数据类型。该函数会将两个 Map 类型的列合并为一个新的 Map 类型的列,如果有重复的键,则保留 map1 中的值。原创 2024-11-13 14:32:21 · 698 阅读 · 0 评论 -
sparksql建临时表的几种方式
sparksql任务中,有时需要建临时表,来实现一些代码逻辑,最后再进行不同临时表逻辑关联,以提高任务执行效率。下面介绍几种建临时表的方法。原创 2024-10-30 15:46:39 · 1206 阅读 · 0 评论 -
mysql相关函数总结
STR_TO_DATE(str,format)函数是将时间格式的字符串(str),按照所提供的显示格式(format)转换为DATETIME类型的值。原创 2024-10-14 23:41:44 · 162 阅读 · 0 评论 -
hive中datediff函数介绍
在 Apache Hive 中,datediff 函数用于计算两个日期之间的天数差异。它接受两个日期作为参数,并返回这两个日期之间的天数差。其中 enddate 是结束日期,startdate 是起始日期。函数将返回 enddate 减去 startdate 后的天数差。这将返回 9,表示这两个日期之间相隔 9 天。总之,datediff 函数在 Hive 中是用于计算日期之间天数差异的非常有用的函数。原创 2024-08-30 20:01:21 · 2856 阅读 · 0 评论 -
Groupings sets详解
首先需要提醒一点的是,hql中和sparksql中虽然均有grouping sets函数,可是grouping__id顺序确是相反的,一般情况我们习惯了hql中保持一致,需要脚本中增加:set spark.grouping.sets.reference.hive=true;基本使用,是在group by 维度值后,使用grouping sets ((a,b,c),(a,b),©)像这样;###等价于UNION。原创 2024-08-23 23:49:58 · 899 阅读 · 0 评论 -
hive中reverse函数
reverse函数,是一个常用的字符串处理函数,很多编程语言都有。最近开发中,遇到一个reverse解决的需求,发现自己尚未总结过,遂补上。原创 2024-07-08 20:39:23 · 724 阅读 · 0 评论 -
阿里巴巴数据治理平台建设经验
阿里巴巴一直将数据作为自己的核心资产与能力之一,通过多年的实践探索建设数据应用,支撑业务发展。在不断升级和重构的过程中,我们经历了从分散的数据分析到平台化能力整合,再到全局数据智能化的时代。如今,大数据平台面临全新的挑战,特别是降本等数据治理需求的不断出现,今天阿里云 DataWorks 团队将其中一些建设经验与大家进行一些分享。转载 2023-03-08 20:32:09 · 1492 阅读 · 0 评论 -
HiveSQL高级进阶技巧
掌握这10个技巧,你的SQL水平将有一个质的提升!原创 2023-10-31 20:19:09 · 1115 阅读 · 0 评论 -
数据血缘构建及应用
数据血缘是元数据管理、数据治理、数据质量的重要一环,追踪数据的来源、处理、出处,对数据价值评估提供依据,描述源数据流程、表、报表、即席查询之间的流向关系,表与表的依赖关系、表与离线ETL任务,调度平台,计算引擎之间的依赖关系。数据仓库是构建在Hive之上,而Hive的原始数据往往来自于生产DB,也会把计算结果导出到外部存储,异构数据源的表之间是有血缘关系的。数据血缘用途:追踪数据溯源:当数据发生异常,帮助追踪到异常发生的原因;影响面分析,追踪数据的来源,追踪数据处理过程。原创 2022-10-09 23:10:54 · 3331 阅读 · 0 评论 -
大数据之Spark:Spark SQL(3)
目录6. Spark SQL 应用1) 创建 DataFrame/DataSet2) 两种查询风格:DSL 和 SQL3) Spark SQL 完成 WordCount4) Spark SQL 多数据源交互6. Spark SQL 应用在 spark2.0 版本之前SQLContext 是创建 DataFrame 和执行 SQL 的入口。HiveContext 通过 hive sql 语句操作 hive 表数据,兼容 hive 操作,hiveContext 继承自 SQLContext。在 spa原创 2022-05-25 23:26:42 · 492 阅读 · 0 评论 -
大数据之Spark:Spark 数据倾斜
目录1. 预聚合原始数据1. 避免shuffle过程2. 增大key粒度(减小数据倾斜可能性,增大每个task的数据量)2. 预处理导致倾斜的key1. 过滤2. 使用随机key3. sample采样对倾斜key单独进行join3. 提高reduce并行度1. reduce端并行度的设置2. reduce端并行度设置存在的缺陷4. 使用map join1. 核心思路:2. 不适用场景分析:数据倾斜:就是数据分到各个区的数量不太均匀,可以自定义分区器,想怎么分就怎么分;Spark中的数据倾斜问题主要指sh原创 2022-05-29 17:30:51 · 388 阅读 · 0 评论 -
腾讯内部数据治理实践
例如,一张表每天都应该有 1000 行,但是今天只有 500 行,可能这个数据的产出就有问题了,或者是其他一个业务导致的,这个时候会产生数据质量的告警,通知到相关的责任人,告警也不是处理的终点,我们会有质量报警的工单体系,当告警通知到责任人后,如果他觉得这个问题需要别人来参与的话,可以进行转单,直到这个的数据流程单被处理结束,最终形成一个问题记录进行归档,如果被认为是典型问题的话,还可以进行记录,在后面有其他人遇到类似问题的时候,可以借鉴处理。数据的质量与安全的治理,贯穿数据的全生命周期。转载 2023-03-11 17:05:53 · 629 阅读 · 0 评论 -
大数据领域相关术语总结
PGC 的内容形式多样,包括文章、视频、音频、图片等,通常需要经过严格的审核和筛选,符合一定的标准和要求。CVR 指的是广告被点击后,用户进行了期望的行为(比如购买、注册、订阅等)的次数与广告被点击的次数之间的比例,通常以百分比的形式表示。留存率通常是以百分比的形式表示,它是一个重要的用户活跃度指标,可以帮助企业评估产品或服务的质量和用户忠诚度。CTR 指的是广告被点击的次数与广告被展示的次数之间的比例,通常以百分比的形式表示。KPI 的制定需要根据具体的业务目标和战略规划,选择关键的指标进行衡量和评估。原创 2024-01-02 15:43:28 · 1434 阅读 · 0 评论 -
大数据之Spark:Spark 的两种核心 Shuffle(2)
目录二、SortShuffle 解析1. 普通运行机制2. bypass 运行机制3. Tungsten Sort Shuffle 运行机制二、SortShuffle 解析SortShuffleManager 的运行机制主要分成三种:1、普通运行机制;2、bypass 运行机制,当 shuffle read task 的数量小于等于spark.shuffle.sort.bypassMergeThreshold参数的值时(默认为 200),就会启用 bypass 机制;3、Tungsten Sort原创 2022-05-29 16:34:05 · 511 阅读 · 0 评论 -
大数据之Hadoop+Spark生态圈脚本启动命令(一)
hadoop脚本启动命令 Redis脚本启动命令 Hive脚本启动命令 Hbase脚本启动命令Flume脚本启动命令Kafka脚本启动命令Azkaban脚本启动命令Spark脚本启动命令一、系统项目框架二、脚本命令总结1.1Hadoop集群部署规划hadoop102hadoop103hadoop104HDFSNameNode,DataNodeDataNodeSecondaryNameNode,DataNodeYARNNodeManagerResourc原创 2021-04-01 11:39:01 · 274 阅读 · 3 评论 -
大数据之Spark:Spark 的两种核心 Shuffle(1)
目录1、Spark Shuffle2、Hash Shuffle 解析1. HashShuffleManager2. 优化的 HashShuffleManager在 MapReduce 框架中, Shuffle 阶段是连接 Map 与 Reduce 之间的桥梁, Map 阶段通过 Shuffle 过程将数据输出到 Reduce 阶段中。由于 Shuffle 涉及磁盘的读写和网络 I/O,因此 Shuffle 性能的高低直接影响整个程序的性能。Spark 也有 Map 阶段和 Reduce 阶段,因此也会出现原创 2022-05-28 23:47:35 · 663 阅读 · 0 评论 -
大数据之sqoop:sqoop-import 并行抽数原理及数据倾斜解决方案
目录前言:1.sqoop参数2.并行化3.数据倾斜是怎么产生的?4.解决方案:总结前言:我们一般用sqoop抽数。可是有时由于单表数据量太大(每天千万级别)导致sqoop抽数使用单实例报内存溢出以及抽数时间过长,这时我们该怎么办?现总结方法如下供借鉴。1.sqoop参数/opt/module/sqoop/bin/sqoop import \--connect \--username \--password \--target-dir \--delete-target-dir \--fie原创 2021-06-28 19:06:00 · 2389 阅读 · 2 评论 -
大数据之Spark:Spark调优之Shuffle调优
目录1. map和reduce端缓冲区大小2. reduce端重试次数和等待时间间隔3. bypass机制开启阈值1. map和reduce端缓冲区大小在Spark任务运行过程中,如果shuffle的map端处理的数据量比较大,但是map端缓冲的大小是固定的,可能会出现map端缓冲数据频繁spill溢写到磁盘文件中的情况,使得性能非常低下,通过调节map端缓冲的大小,可以避免频繁的磁盘IO操作,进而提升Spark任务的整体性能。map端缓冲的默认配置是32KB,如果每个task处理640KB的数据,那原创 2022-05-29 23:28:37 · 698 阅读 · 0 评论 -
大数据之Spark:Spark SQL(2)
目录5. Spark SQL 数据抽象1) DataFrame2) DataSet3) RDD、DataFrame、DataSet 的区别4) 总结5. Spark SQL 数据抽象1) DataFrame1、什么是 DataFrameDataFrame 的前身是 SchemaRDD,从 Spark 1.3.0 开始 SchemaRDD 更名为 DataFrame。并不再直接继承自 RDD,而是自己实现了 RDD 的绝大多数功能。DataFrame 是一种以 RDD 为基础的分布式数据集,类似于传原创 2022-05-24 23:29:52 · 196 阅读 · 0 评论 -
大数据之Spark:Spark面试(初级)
Apache Spark是一个分布式、内存级计算框架。起初为加州大学伯克利分校AMPLab的实验性项目,后经过开源,在2014年成为Apache基金会顶级项目之一,现已更新至3.2.0版本。Spark体系包含Spark Core、Spark SQL、Spark Streaming、Spark MLlib及 Spark Graphx。其中Spark Core为核心组件,提供RDD计算模型。在其基础上的众组件分别提供查询分析、实时计算、机器学、图计算等功能。主要考察对Spark运行机制的理解,需要掌握Spar原创 2022-06-01 23:20:05 · 667 阅读 · 0 评论 -
sqoop(DataX)-MySQL导入HIVE时间格问题
sqoop(DataX) 导 mysql 到 hive以text文件格式存储时,mysql时间类型:datetime,date,time,timestamp 会被转成 hive 的 string 类型,值保存格式化后的时间字符串。sqoop(DataX) 导 mysql 到 hive以parquet(orc)l列式文件格式存储时,mysql时间类型:datetime,date,time,timestamp 会被转成 hive的相应类型,值保存时间戳。hive 表名:test_text。原创 2024-01-02 14:51:07 · 1704 阅读 · 0 评论 -
大数据之Spark:Spark 底层执行原理
目录1、Spark 运行流程1. 从代码角度看 DAG 图的构建2. 将 DAG 划分为 Stage 核心算法3. 将 DAG 划分为 Stage 剖析4. 提交 Stages6. 获取任务执行结果7. 任务调度总体诠释2、Spark 运行架构特点1. Executor 进程专属2. 支持多种资源管理器Job 提交就近原则4. 移动程序而非移动数据的原则执行1、Spark 运行流程具体运行流程如下:1、SparkContext 向资源管理器注册并向资源管理器申请运行 Executor2、资源管理器原创 2022-05-29 17:06:13 · 363 阅读 · 0 评论