自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 shell 字符串变量赋值

在Shell中,可以使用等号=来为变量赋值,但等号两边不能有空格。echo "$variable_with_space" # 输出 Value with space。echo "$escaped_variable" # 输出 Dollar amount: $100。变量赋值时,如果需要在变量值中使用$, \, 或者"字符,则需要使用\来转义。echo $variable_with_space # 输出 Value。# 另一种赋值方式,使用$()来执行命令并赋值。# 变量值中包含特殊字符。

2024-09-10 14:32:50 373

原创 spark sql 优化

spark sql

2024-09-03 17:10:14 475

原创 shell gerp & awk

+表示一个或多个,这里就表示一个或多个空格或冒号。grep 不包含,多个值正则表达式 -E。以1个或多个 :(空格或冒号)作为分隔符。在rhel7中查看网卡地址:用如下命令。用默认的-F后面什么也不带没有效果。grep 不包含 -v。获取第2行第4列数据。

2024-03-27 15:13:13 148

原创 spark 参数

spark.yarn.executor.memoryOverhead 默认值是384M。

2024-03-27 15:00:19 434 1

原创 432trino 内存相关配置

reservedBytes 预定的内存;Reservations 预定、预约;Revocable 可废止的,可撤回的;allocations 分配返回worker 的 heap 和Processors(既cpu 数)LocalMemoryManager 管理 MemoryPool,MemoryPool=heap - (memory.heap-headroom-per-node,默认=heap*0.3)

2024-03-21 17:57:24 652

原创 查看CPU核数 & Runtime 类

java 代码中,int i = Runtime.getRuntime().availableProcessors();也是返回执行机器的 核数。

2024-03-18 14:32:49 508

原创 shell 小数比较大小

echo ">>>>>>> $1 $2 数据异常: $hive_num"echo ">>>>>>> $1 $2 数据正常: $hive_num"#$num1 >= 5 时返回0,$num1 < 5 时返回1。

2024-03-04 17:50:20 681

原创 查找.txt文件并逐一删除

/在home目录下查找.txt文件并逐一删除。

2024-02-29 18:23:22 374

原创 Linux shell 脚本中字符串中指定字符替换

echo "aaaaaa" | sed 's/a/b/g' #所有a替换成b。echo "aaaaaa" | sed 's/a/b/' #第一个a替换成b。

2024-01-04 14:49:53 667 1

原创 trino push down fliter

2. 先是元数据,然后做扫描数据层的filter。依据trino 432 版本而写。

2023-11-28 11:46:39 397

原创 linux查看进程占用内存情况

top命令是一个非常强大的系统监视工具,可以实时查看系统的资源使用情况。通过top命令,我们可以查看进程的CPU占用率、内存占用率等信息。要使用top命令查看进程占用内存情况,可以按下Shift+M键,按照内存占用率进行排序。这样就可以看到占用内存最多的进程。ps命令可以用来查看系统中的进程信息。要查看进程的内存占用情况,可以使用ps命令的aux选项,然后按照内存占用量进行排序。free命令可以显示系统中的内存使用情况,包括总内存、已用内存、空闲内存等信息。3. 虚拟内存之和会超过 机器物理内存。

2023-11-02 15:57:52 773

原创 eclipse/idea批量替换空白行空行

版权声明:本文为CSDN博主「万事俱备,就差一个程序员了」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/zhongguowangzhan/article/details/116131875。Ctrl+F 快捷方式打开Find/Replace工具窗。\n 换行(LF) ,将当前位置移到下一行开头。故:^\s*\n 表示没有任何字符就换行的空白行。在Find文本框输入正则表达式:^\s*\n。\s 字符串。

2023-08-14 10:10:44 757

原创 cogroup和groupByKey区别

求一个集合的相同k合并后的value, shuffle阶段, 得到的value是迭代器 rdd.groupByKey()得到的是 Array(k, Iterator[v])同一个rdd中, 相同k的value迭代组成迭代器k,(Iterator[v],Iterator[w])ReduceByKey 按照相同的key进行分组聚合,聚合的运算逻辑由你写。groupBy()更加灵活 返回的是 k, Iterator(k,v)举例: rdd.cogroup(rdd2)不依赖多个RDD,一个rdd执行起来的算子。

2023-07-31 10:39:13 160

原创 count(*), count(字段),count(distinct 字段) 算不算 NULL

2. distinct 字段 ,count(*), count(1) 算 NULL。1. count(字段),count(distinct 字段) 不算 NULL。

2023-07-24 18:00:52 394

原创 linux 监控指标

一般理解就是CPU的压力,load 没法区分进程的,load是机器整体的指标,每个进程的CPU利用率,还是得靠top观察。部署了多个java 进程,怎么区分是哪个进程造成的load 高了?可以在机器上通过top命令查看,排在前面的,就是占有CPU高的。这个1分钟load,负载 500 ,500 是啥意思。io等待时间 / 总CPU时间。top 是瞬时的,历史怎么看?

2023-06-21 09:54:00 54

原创 shell 中的 BASH_SOURCE 和 dirname

BASH_SOURCE[0] 等价于 BASH_SOURCE ,取得当前执行命令的 shell 文件所在的路径(可以是相当路径或绝对路径)及文件名。在shell脚本中,$0表示脚本本身,类似于C中的argv[0],所以脚本可以使用 dirname $0来定位脚本的路径。2 . 执行 sh /tmp/trino-server-371/test.sh。dirname 去除文件名中的非目录部分,仅显示与目录有关的部分。3 . 执行 ./test.sh。1. 创建一个临时脚本。案例二:获取绝对路径。

2023-06-02 14:43:59 610

原创 不同Gateway之间文件传输

示例,将文件 log.txt、test.txt 和目录 test/ 压缩到 test.zip 文件中。# ip为传输文件gateway机器ip地址,8888为端口号,xxx.zip为打包文件名。zip -r 压缩包名 待压缩的文件和目录列表。# python 命令。

2023-05-25 10:15:01 208

原创 linux 查询磁盘目录大小

du -sh /home/* 计算home 目录下一级目录大小。du -sh /home 计算home 目录大小。/ 磁盘 包含用户家目录 /home。df -h 查看磁盘使用情况。

2023-04-14 14:27:32 1070

原创 jackjson 使用的坑

通常来说,我们在日常开发中使用的是第3种方式,有时为了简便也会使用第2种方式,比如你要从一个很大的Json对象中只读取那么一两个字段的时候,采用databind方式显得有些重,JsonNode反而更简单。老版本的Jackson使用的包名为。坑一:java 类引用了。

2022-10-12 18:35:39 711

原创 hive 中group by 后的多个 count / count(distinct) 指标计算执行原理

一、开启Map端聚合参数设置,set hive.map.aggr=true;二、执行计划,查看日志可以看出,一个指标对应一个reduce job。此时,执行计划会多出在map 端的的预聚合操作。三、扫描数据次数,只扫描数据 1次。spark 中的体现,猜测试。

2022-09-13 10:46:36 962

原创 hive外部分区表删除分区后,再overwrite 写入,数据并没有被覆盖

如果重跑的文件数(500个)

2022-08-11 17:54:40 3192

原创 本地启动 presto 的流程和跳坑

本地启动 presto 的流程和跳坑

2022-08-11 17:26:48 1851

原创 【Trino 选择器selectors 的匹配原理】

目录资源组配置管理者load 的作用:选择器selectors 的来源有 2个client-tags 的指定方式客户端jdbcselectors 的匹配selectors 的匹配结果的选择资源组配置管理者当选择 resource-groups.configuration-manager=db 时,资源组配置管理者ResourceGroupConfigurationManager 的实现类是 DbResourceGroupConfigurationManager

2022-05-24 19:16:34 376

原创 【Trino队列调度4种策略介绍】

trino

2022-05-23 16:53:49 1393

原创 MapReduce Shuffle 和 Spark Shuffle 原理概述

fromMapReduce Shuffle 和 Spark Shuffle 原理概述 - XIAO的博客 - 博客园Shuffle简介Shuffle的本意是洗牌、混洗的意思,把一组有规则的数据尽量打乱成无规则的数据。而在MapReduce中,Shuffle更像是洗牌的逆过程,指的是将map端的无规则输出按指定的规则“打乱”成具有一定规则的数据,以便reduce端接收处理。其在MapReduce中所处的工作阶段是map输出后到reduce接收前,具体可以分为map端和reduce端前后两个部分。.

2022-04-19 11:30:36 118

原创 hive求解中位数的几种方法

hive求解中位数的几种方法

2022-03-30 11:48:26 1062

原创 【无标题】java类不要放在scala resource root目录下,否则编译时不会编译java类,【我的是运行时,找不到类】

原因:项目打包时,会先编译java代码,再编译scala代码。编译顺序有问题导致打包时找不到相应的scala 类解决:添加一个Maven build的插件 <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId>...

2022-01-06 11:45:29 184

原创 2021-10-27

笼统的说,Hive中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join)。本文简单介绍一下两种join的原理和机制。一、 Hive Common Join如果不指定MapJoin或者不符合MapJoin的条件,那么Hive解析器会将Join操作转换成Common Join,即:在Reduce阶段完成join.整个过程包含Map、Shuffle、Reduce阶段。Map阶段读取源表的数据,Map输出时候以Join on 条件中..

2021-10-27 16:34:52 534

原创 2020-10-22

flink 日志本地运行时,使用的是项目里的prope线上执行时,使用的是 flink 安装路径下conf/propconflog4j-cli.properties使用flink客户端提交时使用的配置。即执行:flink run xxxlog4j-console.properties使用flink-console.sh时使用的配置log4j.propertiesflink on yarn 独立任务时使用的配置log4j-yarn-session.propertiesflink o

2020-10-22 18:01:07 102

原创 git 记录

git安装完成后,还需要最后一步设置,在命令行输入:$ git config --global user.name “Your Name”$ git config --global user.email “email@example.com”注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序

2020-10-12 13:54:54 184 2

原创 2020-09-15

scalaScala Option(选项)类型用来表示一个值是可选的(有值或无值)。Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,如果不存在, Option[T] 就是对象 None 。当你定义一个 scala 的map 时,获取 key 的 value要使用 map.get(“key”).get 来获取 some 里的属性。None.get 会执行异常。你可以使用 isEmpty() 方法来检测元组中的元素是否

2020-09-15 16:53:16 86

原创 2020-09-15

Flink 重点batch 处理不支持checkpoint因此在判断应该使用 Processing Time 还是 Event Time 的时候,可以遵循一个原则:当你的应用遇到某些问题要从上一个 checkpoint 或者 savepoint 进行重放,是不是希望结果完全相同。如果希望结果完全相同,就只能用 Event Time;如果接受结果不同,则可以用 Processing Time。Processing Time 的一个常见的用途是,根据现实时间来统计整个系统的吞吐,比如要计算现实时间一个小时

2020-09-15 16:44:17 245

原创 2020-09-08

经验需要了解你操作的数据,维度的范围和分布,join 字段是否唯一,数据卡在99%了,是否是笛卡尔集。

2020-09-08 10:54:17 70

原创 Java的反射获得Class对象

实体类person.javapublic class Person {    public String name = "张三";    private int age = 23;    public Person() {        }        public int getAge() {        return age;    }

2017-08-17 14:49:43 254 1

原创 html中:frameset标签的使用

用处:主要设计网站后台页面注意:如果使用frameset标签,不能使用body标签            frameset标签:            * 属性rows    :将页面横向切分                * rows属性中可以传入多个值,多个值用逗号隔开,页面被切分成几个部分就需要有几个frame标签            * 属性cols    :将页

2017-08-17 14:09:01 994

转载 千万不要更改计算机名,否则会导致服务器无法启动!!!!!

解决方法就是把计算机名改为原来的名字,然后重启就行了。另外一种方法就是把各种配置文件中的计算机名修改为现在的名字。解决方法1、找到以下位置目录下相应的文件db2nodes.cfg   C:\Documents and Settings\All Users\ApplicationData\IBM\DB2\DB2COPY1\DB2\db2nodes.cfg   C:\Docum

2016-12-26 19:25:10 10985

转载 eclipseli离线快捷安装插件

在Eclipse3.5以后插件安装的功能做了改进。而且非常方便易用。我们只需要把需要的插件复制(拖放)到eclipse/dropins,然后插件就安装成功了(当然必须先解压)。如要在其他机器上使用自己的插件。也只需要拷贝自己的dropins覆盖掉原有的。需注意一点,就是dropins文件夹与解压后的plugins文件夹之多只能有一层文件夹(可以是中文),或者没有也行,如下面2种方法

2016-07-23 19:07:07 230

原创 开通博客啦

一个程序员的开发之路!!

2016-07-23 18:22:52 204

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除